Erlang Solutions apt package for OTP 25

I have installed Erlang via apt from Erlang Solutions on my Ubuntu (focal) machine in the past, currently OTP 24. Now OTP 25 has been out for a while, and while it is downloadable from their Website, it doesn’t get picked up by apt update. No errors or anything, though.

I have written to Erlang Solutions via their contact form, which auto-replied to me that an expert will look into it and contact me soon, but that was more than two weeks ago. So either my perception of “soon” is a bit off, or… :thinking:

So, what’s going on? Am I doing something wrong?
(To be sure, I know there are other ways to get at and use OTP 25, or any other release for that matter, and I’m using them. That is not my question :wink: The question is why something that is supposed to just work and make things easy doesn’t just work and make things easy)


I’m not sure if it’s exactly this but there’s a WIP PR open on esl/packages repo

1 Like

I’m getting feedback that the process works as expected - Erlang 25.0 is also listed for Focal.

That being said, if your /etc/apt/sources.list got reset (by a dist-upgrade perhaps?) the Erlang Solutions repo and key for apt-secure might not be available to apt update anymore. Could you try adding the repo again with the following?

sudo dpkg -i erlang-solutions_2.0_all.deb
1 Like

I’ll check tomorrow, thanks :slightly_smiling_face:

1 Like

Nope, that didn’t work for me, as I have the same problem. But I see that I have installed erlang (vs esl-erlang), and apt-cache madison erlang shows only packages up to 24.3.3. But I understand that this is supposed to work nonetheless?


Yes, same here, you beat me to it :sweat_smile:


Heya :slight_smile: Kinda hijacking this thread because it’s about the apt packages :innocent:

Is there any past experience of how quickly new main distro lines are supported? Asking for a friend, who is using Ubuntu 22.04 (jammy) :wink: (Looks like there is no support yet)


For new OTP releases, usually a few days. For new target OSes, I have no idea, as I usually stay with them longer and don’t readily hop on when the band wagon happens to visit :grin: But seriously, I didn’t pay attention TBH.

You may inquire at Erlang Solutions directly on behalf of your friend. They ignored me, though… :roll_eyes:

Btw, why didn’t your friend ask by himself I wonder, we are all nice people around here, no need to be shy, everybody is welcome :wink:


@jko you may want to avoid bringing up the topic of pipe operators with @Maria-12648430, though :laughing:


Yeah upgrading from 18.04 (bionic) here and doing it only every few years :see_no_evil: (talking about server here). @juhlig suggested to compile it by myself - guess I will try to procrastinate for some more time :grimacing:

1 Like

Well, building by hand is not hard. But then you will also need to manually rebuild in order to upgrade.

Why not use the OTP release that comes with jammy, for now? AFAIK, that would be 24.2.something. I don’t know what you’re really trying to do, but I bet you won’t absolutely need 25 for it. When the Erlang Solutions package finally becomes available, you can switch to that.

1 Like

Yeah I know, the update issue is why I’ll probably wait some more ^^

Thing is, we (me and my friend :grin: ) are using Ansible for server provisioning and don’t really want to have to switch from “use erlang solutions package because builtin bionic began to smell funny a long time ago” to “use builtin repository because erlang solutions has no support yet” to “use erlang solutions package because the built in repository version begins to smell funny” .

It’s not really urgent, just wanted to ask if there is any past experience :slight_smile: I’ll give it another few months (and then probably still built some switch for Ansible because future-proof :roll_eyes: )

1 Like

May not be helpful at all…

We also use ansible for server provisioning, but approach things a little differently. We use docker to build and package target-platform-specific debs/rpms of our releases.

We do not use external packages for erlang, but have the erlang build as a ‘layer’ (if that’s the correct term) in the docker build scripts using asdf
The next ‘layer’ builds the erlang application release and the final layer packages the release with all pre-post install scripts to deb/rpm and uploads it to our distribution servers.
Ansible can then pick the correct OS/version specific package to deploy/upgrade when it runs from the distribution servers.

All this is done automatically for each git tag which passes CI. So changing erlang versions is as simple as changing the version in the .tool-versions in the repo and tagging a new release.
The first run of builds when the erlang version changes is obviously slower as it has to build erlang.


@LeonardB: That doesn’t sound too bad, IMO :slight_smile:

@jko: Just (t)ask Andy, he probably already happens to know how to build debs and apt repositories :wink: If not, I heard it’s not too complicated.

1 Like

Here is an alternative. Download the deb file from here:
Decompress and install:
sudo dpkg -i esl-erlang_25.0.2-1~ubuntu~jammy_amd64.deb
erl -v

Erlang/OTP 25 [erts-13.0.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]

Hope this helps :slight_smile:


Yes this works and is worth considering. But you have to keep in mind you won’t receive updates this way when updating the system.

What I just realized: Why can you download a package for jammy but don’t download it via apt? I always was under the impression there is no jammy support yet. This must be a bug then, no?