cfr*_*nco 123 macos wget libssl libressl osx-elcapitan
我尝试在MAC OS 10.11.1中安装wget,但是当我运行时出现./configure --with-ssl=openssl此错误:
configure: error: --with-ssl=openssl was given, but SSL is not available.
Run Code Online (Sandbox Code Playgroud)
如何在OSX 10.11.1中解决此问题?
Far*_*eed 347
首先安装brew:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Run Code Online (Sandbox Code Playgroud)
然后使用brew安装wget并启用openressl以支持TLS
brew install wget
Run Code Online (Sandbox Code Playgroud)
如果您使用Macports进行安装,这也非常简单.
sudo port install wget
Run Code Online (Sandbox Code Playgroud)
对于macOS Sierra,使用Xcode 8.2从源代码构建wget 1.18.
安装Xcode
构建OpenSSL
由于Xcode不附带OpenSSL lib,因此您需要自己构建.我找到了这个:https://github.com/sqlcipher/openssl-xcode,按照说明建立OpenSSL lib.然后,在其中准备OpenSSL目录,其中包含"include"和"lib/libcrypto.a","lib/libssl.a".
假设它是:"/ Users/xxx/openssl-xcode/openssl",因此对于OpenSSL include和"/ Users/xxx/openssl-xcode /"应该有"/ Users/xxx/openssl-xcode/openssl/include" openssl/lib"for"libcrypto.a"和"libssl.a".
构建wget
转到wget目录,配置:
./configure --with-ssl=openssl --with-libssl-prefix=/Users/xxx/openssl-xcode/openssl
Run Code Online (Sandbox Code Playgroud)
wget应该配置并找到OpenSSL,然后make:
make
Run Code Online (Sandbox Code Playgroud)
wget做出来了.安装wget:
make install
Run Code Online (Sandbox Code Playgroud)
或者只是将wget复制到你想要的地方.
配置证书
您可能会发现wget无法验证任何https连接,因为您构建的OpenSSL没有CA证书.你需要运行:
新方式:
如果您的机器没有"/ usr/local/ssl /"目录,请首先制作它.
ln -s /etc/ssl/cert.pem /usr/local/ssl/cert.pem
Run Code Online (Sandbox Code Playgroud)
旧方式:
security find-certificate -a -p /Library/Keychains/System.keychain > cert.pem
security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain >> cert.pem
Run Code Online (Sandbox Code Playgroud)
然后将cert.pem放到:"/ usr/local/sssl/cert.pem"
完成:现在应该没问题.
小智 5
你需要做
./configure --with-ssl = openssl --with-libssl-prefix = / usr / local / ssl
代替这个
./configure --with-ssl = openssl
| 归档时间: |
|
| 查看次数: |
213313 次 |
| 最近记录: |