无法读取opensslv.h:没有这样的文件或目录

时间:2014-07-03 17:14:10

标签: macos error-handling terminal openssl installation

当我尝试在MAC OS(Mountain Lion)终端上安装OpenSSL版本1.0.1h时出现以下错误

  

无法读取opensslv.h:没有这样的文件或目录

我在终端中使用以下命令,

sudo /tmp/ssl/openssl-1.0.1h/Configure darwin64-x86_64-cc ––prefix=/usr no-threads shared

我按照this link上的说明操作。这有什么不对?

1 个答案:

答案 0 :(得分:1)

  

我按照此链接上的说明操作。这有什么不对?

您没有按照说明操作。看起来你错过了第06步:

06. cd into openssl-1.0.0c as follow...

  

sudo /tmp/ssl/openssl-1.0.1h/Configure darwin64-x86_64-cc --prefix = / usr no-threads shared

不要makesudo。试试这个:

/tmp/ssl/openssl-1.0.1h/Configure darwin64-x86_64-cc ––prefix=/usr no-threads shared
make -f /tmp/ssl/openssl-1.0.1h/Makefile
sudo make -f /tmp/ssl/openssl-1.0.1h/Makefile install

如果您先cd /tmp/ssl/openssl-1.0.1h/,通常会更容易。然后它减少到:

tar xzf openssl-1.0.1h.tar.gz
cd openssl-1.0.1h
./Configure darwin64-x86_64-cc ––prefix=/usr no-threads shared
make
sudo make install

您还可以使用以下内容来避免记住三元组:

export KERNEL_BITS=64
./config shared no-threads shared no-ssl2 ...

安装完成后,OpenSSL将安装在/usr/local/ssl中,除非您使用--openssldir––prefix进行更改。


  

sudo /tmp/ssl/openssl-1.0.1h/Configure darwin64-x86_64-cc --prefix = / usr no-threads shared

––prefix=/usr可能会成为你的痛点。 Apple附带OpenSSL 0.9.8,二进制兼容OpenSSL 1.0.1h。在用您的版本替换系统版本的OpenSSL后,您应该遇到无法解释的崩溃和无法解释的错误结果。


最后,在您sudo make install之前,您应该make test确保一切正常。