asdf-vm/asdf-erlang

libncurses warning when installing erlang on Ubuntu 23.10

ijdickinson opened this issue · 5 comments

I've just updated my pc to Ubuntu 23.10. Apparently, this no longer ships with libncurses5, resulting in a warning when building erlang:

$ asdf install erlang 25.3.2.7
asdf_25.3.2.7 is not a kerl-managed Erlang/OTP installation
No build named asdf_25.3.2.7
Downloading 25.3.2.7 to /home/ian/.asdf/downloads/erlang/25.3.2.7...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  101M  100  101M    0     0  6280k      0  0:00:16  0:00:16 --:--:-- 6494k
Extracting source code
Building Erlang/OTP 25.3.2.7 (asdf_25.3.2.7), please wait...
WARNING: It appears that a required development package 'libncurses5-dev' is not installed.
Building docs...
Erlang/OTP 25.3.2.7 (asdf_25.3.2.7) has been successfully built
Cleaning up compilation products for 25.3.2.7
Cleaned up compilation products for 25.3.2.7 under /home/ian/.asdf/plugins/erlang/kerl-home/builds

The build does succeed, but presumably I'm going to hit some problems somewhere down the line.

Reading the discussion on the Launchpad ticket, it looks like a permanent upstream change in Debian.

@ijdickinson PR welcome if you want to update the instructions for Ubuntu!

@Stratus3D Not sure why the sarcasm is warranted. The point I was making was that libncurses5 has gone away, permanently, from upstream Debian, and hence all Ubuntus and derivatives from 23.10 and later. So presumably whichever bit of the erlang install that depends on libncurses5 will need to adapt to use version 6 instead.

If what you really mean is "there's a better place to record this issue", then fine - where should I log it?

fwiw, I don't think Stratus3D was being sarcastic, just saying that if its a documentation issue, feel free to do a PR.

If what you really mean is "there's a better place to record this issue", then fine - where should I log it?

if you think its an upstream OTP problem, then you should open an issue there. asdf-erlang just calls "kerl", which in turn calls the build scripts in the OTP source.

Posting the kerl PR fixing this issue here for reference:

@ijdickinson not sarcasm, but I should have provided more context here. asdf-erlang does very little, and has little control over what kerl does to build an Erlang version. The only actions we can really take for things like this are:

  • Update the asdf-erlang docs in the readme
  • Update the kerl version if they've fixed it, or open an issue if it isn't already reported.

Kerl gets updated pretty regularly when there are clear solutions, but for some OS/Erlang version combos there aren't.