Невозможно установить Erlang с помощью asdf в OSX 10.15.4
У меня возникла проблема, которой раньше не было, когда я использовал asdf в OSX более 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 был установлен с помощью homebrew. Я могу установить сборку ref:maint и изменить мою.tool-версию, чтобы она соответствовала, но это вызывает целый ряд других проблем с Crypto и openssl, которые не могут быть найдены, даже если они установлены. У кого-нибудь есть идея или две?
2 ответа
Согласно комментариям в этом отчете об ошибке, невозможно собрать Erlang 21 на Catalina (10.15). Вы можете использовать выпуск 22.3.1 или новее.
Если вам нужно использовать более старую версию Erlang, вы можете попробовать применить это изменение в исходном коде Erlang 21.
После обновления до Catalina я попытался установить 22.3.1, но этого мне было недостаточно; как-то Эрланг на Каталине найти не смогOpenSSL
.
Что мне нужно было сделать:
1) Удалите Erlang 22.3.1, если он у вас уже установлен:
asdf uninstall erlang 22.3.1
2) Обновите Xcode до последней версии и примите соглашение
sudo xcodebuild -license
3) Установить --with-ssl
флаг (скопировано из файла readme asdf-erlang)
export KERL_CONFIGURE_OPTIONS="--without-javac --with-ssl=$(brew --prefix openssl)"
4) Переустановите Erlang
asdf install erlang 22.3.1