无法在 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