为什么可以';Ruby不能在编译时找到OpenSSL吗?
我在OSX上,最近使用自制更新了OpenSSL。我还运行了为什么可以';Ruby不能在编译时找到OpenSSL吗?,ruby,openssl,makefile,homebrew,Ruby,Openssl,Makefile,Homebrew,我在OSX上,最近使用自制更新了OpenSSL。我还运行了brew link openssl--force,试图确保始终使用更新版本 现在我正在尝试使用0.4.2安装Ruby 2.1.1 在这个过程中,ruby安装为ruby设置了一些关于在哪里可以找到各种库的选项。您可以确定,它添加到opt dir的第一个路径是brew——前缀openssl的输出。如果我自己运行,我会得到/usr/local/opt/openssl 但是,如果我运行ruby安装ruby 2.1.1,它最终会生成包括以下内容的输
brew link openssl--force
,试图确保始终使用更新版本
现在我正在尝试使用0.4.2安装Ruby 2.1.1
在这个过程中,ruby安装为ruby设置了一些关于在哪里可以找到各种库的选项。您可以确定,它添加到opt dir
的第一个路径是brew——前缀openssl
的输出。如果我自己运行,我会得到/usr/local/opt/openssl
但是,如果我运行ruby安装ruby 2.1.1
,它最终会生成包括以下内容的输出:
ld: warning: directory not found for option '-L"/usr/local/opt/openssl/lib'
该目录确实存在;我可以
ls
it。为什么找不到它?在-L
和第一个//code>之间的那句话让我很不舒服。@EtanReisner-哦,抓住了。没注意到。是的,接得好。我讨厌花几个小时在一个愚蠢的打字错误上:)内森-运行时要小心。OS X不支持Linux/GCCLD_PRELOAD
或rpath
。因此,很有可能在运行时链接到0.9.8(即使在编译时编译了1.0.1)。您的症状将是在琐碎程序的意外位置发生无法解释的崩溃。在Mac OS X上获得正确的@rpath
可能相当棘手。请参阅。