sauronnikko
I’m trying to install Erlang 22.0 with asdf, but it fails. I’m using Ubuntu 22.04 and followed the before install steps here
asdf install erlang 22.0
asdf_22.0 is not a kerl-managed Erlang/OTP installation
The asdf_22.0 build has been deleted
Extracting source code
Building Erlang/OTP 22.0 (asdf_22.0), please wait...
Build failed.
gmake[4]: *** [x86_64-unknown-linux-gnu/Makefile:669: /home/sauronnikko/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0/otp_src_22.0/lib/erl_interface/bin/x86_64-unknown-linux-gnu/erl_call] Error 1
gmake[4]: *** Waiting for unfinished jobs....
gmake[4]: Leaving directory '/home/sauronnikko/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0/otp_src_22.0/lib/erl_interface/src'
gmake[3]: *** [Makefile:31: opt] Error 2
gmake[3]: Leaving directory '/home/sauronnikko/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0/otp_src_22.0/lib/erl_interface/src'
gmake[2]: *** [/home/sauronnikko/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0/otp_src_22.0/make/otp_subdir.mk:29: opt] Error 2
gmake[2]: Leaving directory '/home/sauronnikko/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0/otp_src_22.0/lib/erl_interface'
gmake[1]: *** [/home/sauronnikko/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0/otp_src_22.0/make/otp_subdir.mk:29: opt] Error 2
gmake[1]: Leaving directory '/home/sauronnikko/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0/otp_src_22.0/lib'
gmake: *** [Makefile:490: libs] Error 2
Please see /home/sauronnikko/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0/otp_build_22.0.log for full details.
Here are the contents of the log file: https://gist.github.com/sauronnikko/5b85263ec5294b403e27e41012f9a23f
Can you help me fix this? Thanks ![]()
Trending in Questions
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
New
Hello,
I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
I’m seeing that a list inside a Kino.DataTable will be interpreted as a charlist, even if the Kino.configure() is set to charlists: :as_l...
New
So my question is quite simple and i have found no conclusive answer on forum, google or AI.
Should we use :erlang.float for Integer to ...
New
Documentation
While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
Hi, I’ve just set up an application with ash_authentication. There is only magic link strategy for now, so there is no confirmation add o...
New
If a change or preparation module uses Ash.Changeset.get_argument/2 or Ash.Query.get_argument/2 (or any of the other get_argument functio...
New
Other Trending Topics
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Hi there! We created Gust: A task orchestrator inspired by Airflow.
For those who have never heard about Aiflow, it’s a Python-based wor...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself.
My main conc...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixirconf-us
- #ai
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming










Showing Posts 1 to 4- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
al2o3cr
The “multiple definitions” error in your log file matches the one in this issue exactly:
https://github.com/asdf-vm/asdf-erlang/issues/159
The linked
kerlissue suggests that switching to GCC 9 or Clang may help.Eiji
Analyse
ok, let’s take a look …
Tested
ErlangenvironmentsFirst of all
Erlangis tested on10.04-20-04. It should be fine with22.04as well, but it’s worth to mention and keep in mind that according to documentation it wasn’t officially tested against this version ofUbuntu…Why
Bob?You may wonder why I mention
Bob? That’s because I’m using it’s builds in all of my development environments. Obviously installing prebuilt package speeds up setup environment process, so for me it’s the fastest and safest way.Bob’s prebuilt packagesSince
Erlangdoes not provides any prebuilt packages for other os thanWindows, we can take a look atBob’s page. It lists a prebuilt packages forErlangforUbuntuversions14.04-20.04and even not allErlangversions are “supported” (byBob’s page) for allUbuntuversions. I guess it’s just nobody asked for triggering oldOTPbuilds who for most people are unnecessary …Bob’s prebuilt packages onHexHowever this is not all. We still have a complete lists of
Bob’s builds hosted on hex and there we can find a builds forUbuntu 22.04, but only forOTP-24.2and above.Results
Official support
Since I do not know any other source of
Erlangbuilds I guess that our communities does not provideErlang 22.0builds forUbuntu 22.04. The reason for it may be compilation problems like yours or as said just no trigger happen for previousErlangversions … In any case “officially” there are no tested support and prebuilt builds even provided by community.My recommendation
Having above in mind in first place I would verify your environment following
Erlangdocumentation andBob’s build process. Meanwhile I would also ask @ericmj (the first and top ofBob’s contributor) if he knows about any problems or if he can trigger a build for said version. I guess thatBobhave enough well-tested environment, so that we can confirm if any issue like this happens only in specific cases (like not met all requirements) or it’s a common problem.Possible workaround
We have an
Erlangplugin for prebuilt packages, but unfortunately it needs to followHex’s build list. However there is a workaround. You can install plugin forErlangprebuilt packages for previousUbuntuversions (like20.04) - I have just tested it andiexworks as expected, but keep in mind that’s not a “safe way” and it never would be recommended.Helpful resouces
Hex’s list ofOTPbuilds forUbuntu 22.04Bob’s build scriptsBob’s commit and Top `Bob’s contributors pageMichał Łępicki’sasdfrepositories for variousUbuntuversionsmichallepicki
Ubuntu 22.04 comes with OpenSSL 3.0 only, and earlier versions are not available in
aptrepositories. Erlang prior to 24.2 does not even build with OpenSSL 3.0. You can either look into installing OpenSSL 1.x from source, and passing its path to asdf / kerl / erlang configuration… Or upgrading to Erlang 24.2 or newerjbz3n
iex doesn’t show problems at first with that prebuilt version.
But when trying to install hex, I got the openssl 1.1 dependency error under Ubuntu 22.04.
You need to downgrade openssl packages to the 20.04 versions, or compile them manually as mentioned.
If you wanna to risk your distro here’s quickest way to do it
:
Ubuntu 22.04 itself seems to run fine with this, but upgrade your app’s support for newer Erlang/elixir versions just in case, and avoid openssl headaches overall.