Problems installing Erlang Solutions build (Pop!_OS 21.10) - any pointers?

Hello all.

First post so I hope it’s appropriate/in the right place. I’m trying to install the Erlang Solutions build using instructions on the download page. However, it’s failing because apt-key has been deprecated (Pop!_OS 21.10, an Ubuntu variant). I found some instructions here which got me to the point that sudo apt update now runs successfully. Details on that below in case it’s useful / for comment.

That gets me to the point where I can run sudo apt install erlang. However, that fails with a raft of file errors like the following:

E: Failed to fetch https://packages.erlang-solutions.com/ubuntu/pool/erlang-src_24.1.7-1%7eubuntu%7eimpish_all.deb  File has unexpected size (4922808 != 4922224). Mirror sync in progress? [IP: 108.138.233.12 443]
   Hashes of expected file:
    - SHA256:e7711d0453e514db40f12f7ae3c0bd54f2586fd78880624b82d3524b1f81a26c
    - SHA1:de223cf7e2aeacf9c79481cd5a0c721d44544cbe [weak]
    - MD5Sum:943f20d75faad7496285a4fee384abe3 [weak]
    - Filesize:4922224 [weak]

I tried waiting a while (+1 hour) given the suggestion that a mirror sync might be in progress. I also tried using --fix-missing but without success.

I’d be very grateful of pointers - including, if appropriate, how/where to ask Erlang Solutions directly. I couldn’t find an obvious contact point.

Thanks.


Instructions to add the erlang-solutions repositories:

  1. Download the PGP key and save it to your keyrings:

     wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | gpg --dearmor | sudo tee /usr/share/keyrings/erlangsolutions-archive-keyring.gpg
    
  2. Create a new file /etc/apt/sources.list.d/erlang-solutions.list with the following content:

     deb [signed-by=/usr/share/keyrings/erlangsolutions-archive-keyring.gpg] https://packages.erlang-solutions.com/ubuntu impish contrib
    

Things you can/should change in above:

  • The filenames. You can name the .list file anything ending in .list. erlangsolutions-archive-keyring.gpg can be named anything that ends in -archive-keyring.gpg. Just make sure the entry in the .list file matches whatever you choose.
  • impish is the codename corresponding to the 21.10 release (pop!_OS is an Ubuntu variant and follows the Ubuntu release nomenclature). Use the codename for the version you’re using.
2 Likes

Indeed! The deb file is corrupt, it looks like its perhaps an incomplete upload or something that messed with its data to not hash to the same. Maybe erlang solutions needs to be contacted?

For note, I use asdf or containers for my erlang management (and most languages for that matter).

4 Likes

Indeed! The deb file is corrupt, it looks like its perhaps an incomplete upload or something that messed with its data to not hash to the same. Maybe erlang solutions needs to be contacted?

Thanks. I sent an email to Erlang Solutions (no response yet).

For note, I use asdf or containers for my erlang management (and most languages for that matter).

asdf - how did I not know about that? Time to put the kettle on :).

Thanks for the reply.

2 Likes

I user kerl, which is similar to asdf but Erlang-specific.

3 Likes

thanks @phild - didn’t know about kerl, installed last night, and now have a working 24.3 release. Lovely.

3 Likes

asdf uses kerl. asdf is a wrapper around language-specific environment handling things like that. :slight_smile:

5 Likes

I’m working on the principal that the banana only needs a gorilla to hold it; if I need any other fruit, then I’ll invite the rest of the jungle along.

3 Likes

I can hold the banana.

I like this Joe Armstrong’s quotation very much :banana: :gorilla:

3 Likes

I’ve seen some other complaints about deb repositories from Erlang Solutions being under-maintained. Until there’s a different reliable source of prebuilt binaries (see github issue) you could instead use Ubuntu 20.04 builds from hexpm/bob, for example like this or with my asdf erlang plugin fork.

3 Likes