记录一下解决mac环境connot load such file -- openssl错误的过程

ruby

在维护一个rails老项目的时候,使用了ruby 1.9.3,bundle install 成功。

在 rails s 的时候,报错: require: connot load such file -- openssl (LoadError)

rvm reinstall ruby,stackoverflow的一些方法均试过,比如

$ rvm requirements run force
$ rvm pkg remove
$ rvm reinstall all --force

以上均无效。

后面尝试进入ruby源代码ext/openssl目录,

$ sudo ruby extconf.rb
$ sudo  make  && sudo  make install

进行编译,估计因为gcc版本原因,报错。

    RHASH(hash)->ifnone = utf8str;
    ^
ossl_x509name.c:405:18: error: member reference type 'int' is not a pointer
    RHASH(hash)->ifnone = utf8str;
    ~~~~~~~~~~~  ^
1 warning and 1 error generated.
make: *** [ossl_x509name.o] Error 1

最终fix:$ rvm reinstall 1.9.3 --with-openssl-dir=`brew --prefix openssl`

发表于 2019.04.18