macOS 10.12 brew install openssl 问题 [英] macOS 10.12 brew install openssl issue
问题描述
尝试使用以下方法在自制软件上安装 openssl:
Trying to install openssl on homebrew using:
brew install openssl
在make过程中出现以下错误:
Is giving the following error during make:
clang -I. -Iinclude -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR=""/usr/local/etc/openssl@1.1"" -DENGINESDIR=""/usr/local/Cellar/openssl@1.1/1.1.1l/lib/engines-1.1"" -D_REENTRANT -DNDEBUG -MMD -MF crypto/rand/randfile.d.tmp -MT crypto/rand/randfile.o -c -o crypto/rand/randfile.o crypto/rand/randfile.c
In file included from crypto/rand/rand_unix.c:38:
/usr/include/CommonCrypto/CommonRandom.h:35:9: error: unknown type name 'CCCryptorStatus'
typedef CCCryptorStatus CCRNGStatus;
^
crypto/rand/rand_unix.c:385:47: error: use of undeclared identifier 'kCCSuccess'
if (CCRandomGenerateBytes(buf, buflen) == kCCSuccess)
^
2 errors generated.
make[1]: *** [crypto/rand/rand_unix.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [all] Error 2
Do not report this issue to Homebrew/brew or Homebrew/core!
Brew 正在尝试安装 openssl 1.1.1l:
Brew is trying to install openssl 1.1.1l:
==> Downloading https://www.openssl.org/source/openssl-1.1.1l.tar.gz
Already downloaded: /Users/user/Library/Caches/Homebrew/downloads/b6ccc5a2a602c2af3480bbcf1656bd9844595974ba60501871ac12504508e818--openssl-1.1.1l.tar.gz
我需要此依赖项来安装许多其他应用程序/工具,例如 wget 或 python - 并希望使用自制软件来执行此操作.
I need this dependency to install many other applications/tools, e.g., wget or python - and would like to use homebrew to do this.
我使用的 brew 版本是:
The brew version I am using is:
Homebrew 3.2.9
Homebrew/homebrew-core (git revision fa395c6627; last commit 2021-08-27)
Homebrew/homebrew-cask (git revision 606ed52390; last commit 2021-08-27)
macOS 是:10.12.6 (Sierra),我使用的是 MacBook Pro(13 英寸,2011 年初)
macOS is: 10.12.6 (Sierra) and I am using a MacBook Pro (13-inch, Early 2011)
有什么办法可以解决这个问题来安装 openssl?或者无论如何我可以安装 python 指定不同的 openssl 作为依赖项使用?
Is there any way I can get around this issue to install openssl? Or anyway I can install python specifying a different openssl to use as a dependency?
我能够使用以下 brew 命令安装 openssl 1.0:
I was able to install openssl 1.0 using the following brew command:
brew install rbenv/tap/openssl@1.0
然而,python 不断尝试使用 openssl 1.1.1l,但由于上述错误而失败.
However, python continually tries to use openssl 1.1.1l which is failing with the above error.
推荐答案
我设法通过编辑公式来解决它 (brew edit openssl
)并添加
I managed to resolve it by editing formula (brew edit openssl
)
and adding
-I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include
到configure_args
中的args数组.
如下:
def configure_args
args = %W[
--prefix=#{prefix}
--openssldir=#{openssldir}
no-ssl3
no-ssl3-method
no-zlib
##### add the line here ####
-I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include
]
on_linux do
args += (ENV.cflags || "").split
args += (ENV.cppflags || "").split
args += (ENV.ldflags || "").split
args << "enable-md2"
end
args
end
这篇关于macOS 10.12 brew install openssl 问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!