PATHの通し忘れで苦しんだメモ。

igrc.hatenablog.com ↑で苦しんだ後の話。
基本的な話だと思いますが私は苦しんだのでメモ。

OpenSSLでドタバタしてたら以下のエラーが出るようになってました。

# openssl version
openssl: symbol lookup error: openssl: undefined symbol: CMS_Attributes_Verify_it


とりあえずPATHを確認。

$ which openssl
/usr/local/bin/openssl

# /usr/local/bin/openssl version
/usr/local/bin/openssl: symbol lookup error: /usr/local/bin/openssl: undefined symbol: CMS_Attributes_Verify_it

# /usr/bin/openssl version
OpenSSL 1.0.1f 6 Jan 2014


/usr/bin/opensslにPATHを通せばいいみたいです。
PATHを設定します。

$ PATH=$PATH:/usr/bin/openssl
$ export PATH

$ which openssl
/usr/local/bin/openssl

???
パス(PATH)の確認と設定方法は? - Pocketstudio.jp Linux Wiki をちゃんと読んだら、

パスの優先度は左の方が『 優先 』されます。  コマンド『 echo $PATH 』あるいは『 env | grep PATH 』で出てきた左が優先されます。
たとえば、/usr/local/bin/perl と /usr/bin/perl があるとします。
環境変数 PATH で /usr/local/bin の方が優先されると、実際に実行されるコマンドは /usr/local/bin/perl となります。

としっかり書いてありました。
これを踏まえてやり直します。

$ which openssl
/usr/local/bin/openssl

$ PATH=/usr/bin:$PATH
$ export PATH
$ which openssl
/usr/bin/openssl

$ openssl version
OpenSSL 1.0.1f 6 Jan 2014


できました。
ただ、これだけではログインする度にパスを設定しなおさないといけないので.bash_profileexport PATH=以降に/usr/binを記述します。
先頭に記述するとその後ろに記述されているrbenvのPATHも書き換わるのでやめておきます。

PATHの優先順位を意識していて、ちゃんとコマンドの意味を理解していればしないミスでした。
気を付けます。