无法在 OSX 10.15.4 上使用 asdf 安装 Erlang
Unable to Install Erlang using asdf on OSX 10.15.4
我 运行 遇到了一个以前在 osx 上使用 asdf 超过 6 个月没有遇到过的问题。我需要安装 Erlang 21.3.7.1,当我这样做时,我从控制台输出了这个错误,老实说我不知道如何解决:
Me@My-MacBook-Pro:~/Code/codebase|master
⇒ asdf install erlang 21.3.7.1
Downloading kerl...
Downloading OTP-21.3.7.1.tar.gz to /Users/Me/.asdf/plugins/erlang/kerl-home/archives
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 124 100 124 0 0 523 0 --:--:-- --:--:-- --:--:-- 523
100 51.5M 0 51.5M 0 0 8541k 0 --:--:-- 0:00:06 --:--:-- 9657k
Extracting source code
Building Erlang/OTP 21.3.7.1 (asdf_21.3.7.1), please wait...
DOCUMENTATION INFORMATION (See: /Users/Me/.asdf/plugins/erlang/kerl-home/builds/asdf_21.3.7.1/otp_build_21.3.7.1.log)
* documentation :
* fop is missing.
* Using fakefop to generate placeholder PDF files.
Build failed.
GEN obj/x86_64-apple-darwin19.4.0/opt/MADE
LD /Users/Me/.asdf/plugins/erlang/kerl-home/builds/asdf_21.3.7.1/otp_src_21.3.7.1/bin/x86_64-apple-darwin19.4.0/erl_child_setup
ld: weak import of symbol '___darwin_check_fd_set_overflow' not supported because of option: -no_weak_imports for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[4]: *** [/Users/Me/.asdf/plugins/erlang/kerl-home/builds/asdf_21.3.7.1/otp_src_21.3.7.1/bin/x86_64-apple-darwin19.4.0/erl_child_setup] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [opt] Error 2
make[2]: *** [opt] Error 2
make[1]: *** [smp] Error 2
make: *** [emulator_profile_generate] Error 2
我在 Erlang/Elixir/asdf 论坛上没有找到特别有用的东西。 asdf 是用自制软件安装的。我可以安装 ref:maint 构建并更改我的 .tool-version 以匹配,但这会引发一系列其他问题,即使安装了 Crypto 和 openssl 也找不到。有人有一两个想法吗?
根据 this bug report 中的评论,无法在 Catalina (10.15) 上构建 Erlang 21。您可以使用版本 22.3.1 或更高版本。
如果您需要使用较旧的 Erlang 版本,您可以尝试在 Erlang 21 源代码上应用 this change。
升级到 Catalina 后,我尝试安装 22.3.1,但这对我来说还不够;不知何故,Catalina 上的 Erlang 找不到 OpenSSL
。
我要做的是:
1) 如果您已经安装了 Erlang 22.3.1,请卸载它:
asdf uninstall erlang 22.3.1
2) 将 Xcode 更新到最新版本并接受协议
sudo xcodebuild -license
3) 设置 --with-ssl
标志 (copied from the asdf-erlang readme)
export KERL_CONFIGURE_OPTIONS="--without-javac --with-ssl=$(brew --prefix openssl)"
4) 重新安装 Erlang
asdf install erlang 22.3.1
我 运行 遇到了一个以前在 osx 上使用 asdf 超过 6 个月没有遇到过的问题。我需要安装 Erlang 21.3.7.1,当我这样做时,我从控制台输出了这个错误,老实说我不知道如何解决:
Me@My-MacBook-Pro:~/Code/codebase|master
⇒ asdf install erlang 21.3.7.1
Downloading kerl...
Downloading OTP-21.3.7.1.tar.gz to /Users/Me/.asdf/plugins/erlang/kerl-home/archives
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 124 100 124 0 0 523 0 --:--:-- --:--:-- --:--:-- 523
100 51.5M 0 51.5M 0 0 8541k 0 --:--:-- 0:00:06 --:--:-- 9657k
Extracting source code
Building Erlang/OTP 21.3.7.1 (asdf_21.3.7.1), please wait...
DOCUMENTATION INFORMATION (See: /Users/Me/.asdf/plugins/erlang/kerl-home/builds/asdf_21.3.7.1/otp_build_21.3.7.1.log)
* documentation :
* fop is missing.
* Using fakefop to generate placeholder PDF files.
Build failed.
GEN obj/x86_64-apple-darwin19.4.0/opt/MADE
LD /Users/Me/.asdf/plugins/erlang/kerl-home/builds/asdf_21.3.7.1/otp_src_21.3.7.1/bin/x86_64-apple-darwin19.4.0/erl_child_setup
ld: weak import of symbol '___darwin_check_fd_set_overflow' not supported because of option: -no_weak_imports for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[4]: *** [/Users/Me/.asdf/plugins/erlang/kerl-home/builds/asdf_21.3.7.1/otp_src_21.3.7.1/bin/x86_64-apple-darwin19.4.0/erl_child_setup] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [opt] Error 2
make[2]: *** [opt] Error 2
make[1]: *** [smp] Error 2
make: *** [emulator_profile_generate] Error 2
我在 Erlang/Elixir/asdf 论坛上没有找到特别有用的东西。 asdf 是用自制软件安装的。我可以安装 ref:maint 构建并更改我的 .tool-version 以匹配,但这会引发一系列其他问题,即使安装了 Crypto 和 openssl 也找不到。有人有一两个想法吗?
根据 this bug report 中的评论,无法在 Catalina (10.15) 上构建 Erlang 21。您可以使用版本 22.3.1 或更高版本。
如果您需要使用较旧的 Erlang 版本,您可以尝试在 Erlang 21 源代码上应用 this change。
升级到 Catalina 后,我尝试安装 22.3.1,但这对我来说还不够;不知何故,Catalina 上的 Erlang 找不到 OpenSSL
。
我要做的是:
1) 如果您已经安装了 Erlang 22.3.1,请卸载它:
asdf uninstall erlang 22.3.1
2) 将 Xcode 更新到最新版本并接受协议
sudo xcodebuild -license
3) 设置 --with-ssl
标志 (copied from the asdf-erlang readme)
export KERL_CONFIGURE_OPTIONS="--without-javac --with-ssl=$(brew --prefix openssl)"
4) 重新安装 Erlang
asdf install erlang 22.3.1