evm icon indicating copy to clipboard operation
evm copied to clipboard

OTP19.3 on Arch Linux fails

Open SebCav opened this issue 5 years ago • 10 comments

Hello, I am trying to build OTP19.3 on an up-to-date Arch Linux system. It gives error in configure steps and build eventually fails. The configure output is attached (build command is "evm install 19.3 --with-docs --with-ssl=/home/seba/.openssl-1.0", I have a custom setup for ssl otherwise it won't work). It looks to me like some sort of autoconf issue... Thank you in advance. configure_stdout.log

SebCav avatar Mar 15 '21 17:03 SebCav

I don't have an environment with Arch Linux ready to test this right away. I will try to set it up during the week and investigate.

=== configuring in snmp/. (/home/seba/.evm/erlang_tars/otp_src_19.3/lib/snmp/.)
configure: running /bin/sh ./configure --disable-option-checking '--prefix=/home/seba/.evm/erlang_versions/otp_src_19.3'  '--with-ssl=/home/seba/.openssl-1.0' --cache-file=/dev/null --srcdir=.
configure: error: cannot find required auxiliary files: config.guess config.sub
configure: error: ./configure failed for snmp/.
configure: error: /home/seba/.evm/erlang_tars/otp_src_19.3/lib/configure failed for lib

There are some entries on the bugs.erlang.org page about similar issues for other versions https://bugs.erlang.org/projects/ERL/issues/ERL-1447?filter=allissues

robisonsantos avatar Mar 28 '21 17:03 robisonsantos

I managed to build 19.3 with kerl so I imagine there is a way to make it work (I prefer the way evm handles the environment)

SebCav avatar Mar 29 '21 10:03 SebCav

Did you have to do anything different to get keel working? EVM does not make any attempt to change anything. It does a regular ./configure with whatever was passed as input. I'll see if I can install arch into some VM and install erlang on it.

On Mon, Mar 29, 2021, 3:30 AM SebCav @.***> wrote:

I managed to build 19.3 with kerl so I imagine there is a way to make it work (I prefer the way evm handles the environment)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/robisonsantos/evm/issues/36#issuecomment-809269608, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAA66LKE5BOSPHJGXASOTCTTGBQGDANCNFSM4ZHBBG2A .

robisonsantos avatar Mar 30 '21 02:03 robisonsantos

To build on arch linux a couple of customizations must be applied.

mkdir -p $HOME/.openssl-1.0
cd $HOME/.openssl-1.0
sudo ln -sf /usr/lib/openssl-1.0 lib
sudo ln -sf /usr/include/openssl-1.0 include

# This is needed after the point where evm fails
export LDFLAGS="-Wl,--allow-multiple-definition"

#The following on kerl is the same as the below line on evm
#export KERL_CONFIGURE_OPTIONS="--with-docs --with-ssl=$HOME/.openssl-1.0"

evm install OTP_19.3 --with-docs --with-ssl=$HOME/.openssl-1.0

SebCav avatar Mar 31 '21 19:03 SebCav

I was able to reproduce the issue. I think the problem might be on how autoconf is generating the configure files. I compared the files generated on my ubuntu and arch linux and they are very different. The one generated for ubuntu does not even seem to try to use those auxiliary files.

What's the version of autoconf and autoupdate you have in your Arch linux installation?

robisonsantos avatar Apr 03 '21 20:04 robisonsantos

In my Arch installation, kerl fails with the same error:

[root@7e13a9fbd5e6 kerl]# ./kerl build 19.3
Downloading OTP-19.3.tar.gz to /root/.kerl/archives...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   120  100   120    0     0    324      0 --:--:-- --:--:-- --:--:--   323
100 32.4M    0 32.4M    0     0  6059k      0 --:--:--  0:00:05 --:--:-- 7661k
Extracting source code
Building Erlang/OTP 19.3 (19.3), please wait...
Configure failed.
config.status: creating make/output.mk
config.status: creating make/emd2exml
=== configuring in lib (/root/.kerl/builds/19.3/otp_src_19.3/lib)
configure: running /bin/sh /root/.kerl/builds/19.3/otp_src_19.3/lib/configure --disable-option-checking '--prefix=/usr/local'  'ERL_TOP=/root/.kerl/builds/19.3/otp_src_19.3' --cache-file=/dev/null --srcdir=/root/.kerl/builds/19.3/otp_src_19.3/lib
configure: creating ./config.status
=== configuring in snmp/. (/root/.kerl/builds/19.3/otp_src_19.3/lib/snmp/.)
configure: running /bin/sh ./configure --disable-option-checking '--prefix=/usr/local'  'ERL_TOP=/root/.kerl/builds/19.3/otp_src_19.3' --cache-file=/dev/null --srcdir=.
configure: error: cannot find required auxiliary files: config.guess config.sub
configure: error: ./configure failed for snmp/.
configure: error: /root/.kerl/builds/19.3/otp_src_19.3/lib/configure failed for lib

Please see /root/.kerl/builds/19.3/otp_build_19.3.log for full details.
[root@7e13a9fbd5e6 kerl]# 

robisonsantos avatar Apr 03 '21 21:04 robisonsantos

I can install newer versions of erlang with evm without problem:

[root@7e13a9fbd5e6 evm]# evm install 23.3
[root@7e13a9fbd5e6 evm]# evm use 23.3
[root@7e13a9fbd5e6 evm]# erl
Erlang/OTP 23 [erts-11.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe]

Eshell V11.2  (abort with ^G)
1> 

robisonsantos avatar Apr 03 '21 21:04 robisonsantos

Well, this is strange.

I have core/autoconf 2.71-1 (base-devel) and kerl 1.8.6 and the behavior here is different. evm fails like your kerl did on the configure step on snmp, but kerl here works. For example I tried the 19.2 build (it has the same behavior of the 19.3) and this is the output:

11:06:41|seba@archanoid:~$ export KERL_CONFIGURE_OPTIONS="--with-docs --with-ssl=$HOME/.openssl-1.0"
11:14:53|seba@archanoid:~$ export LDFLAGS="-Wl,--allow-multiple-definition"
11:18:06|seba@archanoid:~$ kerl build 19.2
Verifying archive checksum...
Checksum verified (7cdd18a826dd7bda0ca46d1c3b2efca6)
Building Erlang/OTP 19.2 (19.2), please wait...
WARNING: It appears that a required development package 'libssl-dev' is not installed.
WARNING: It appears that a required development package 'make' is not installed.
WARNING: It appears that a required development package 'automake' is not installed.
WARNING: It appears that a required development package 'autoconf' is not installed.
WARNING: It appears that a required development package 'libncurses5-dev' is not installed.
WARNING: It appears that a required development package 'gcc' is not installed.
Erlang/OTP 19.2 (19.2) has been successfully built

I'll experiment on a clean install of Arch Linux and report back. Attached you can find kerl's config.log of my 19.3 build where you can see everything is ok...

config.log

SebCav avatar Apr 06 '21 10:04 SebCav

All these warnings are strange

WARNING: It appears that a required development package 'libssl-dev' is not installed. WARNING: It appears that a required development package 'make' is not installed. WARNING: It appears that a required development package 'automake' is not installed. WARNING: It appears that a required development package 'autoconf' is not installed. WARNING: It appears that a required development package 'libncurses5-dev' is not installed. WARNING: It appears that a required development package 'gcc' is not installed.

I wonder what kerl is doing if autoconf is actually missing

On Tue, Apr 6, 2021 at 3:03 AM SebCav @.***> wrote:

Well, this is strange.

I have core/autoconf 2.71-1 (base-devel) and kerl 1.8.6 and the behavior here is different. evm fails like your kerl did on the configure step on snmp, but kerl here works. For example I tried the 19.2 build (it has the same behavior of the 19.3) and this is the output:

@.:~$ export KERL_CONFIGURE_OPTIONS="--with-docs --with-ssl=$HOME/.openssl-1.0" @.:~$ export LDFLAGS="-Wl,--allow-multiple-definition" @.***:~$ kerl build 19.2 Verifying archive checksum... Checksum verified (7cdd18a826dd7bda0ca46d1c3b2efca6) Building Erlang/OTP 19.2 (19.2), please wait... WARNING: It appears that a required development package 'libssl-dev' is not installed. WARNING: It appears that a required development package 'make' is not installed. WARNING: It appears that a required development package 'automake' is not installed. WARNING: It appears that a required development package 'autoconf' is not installed. WARNING: It appears that a required development package 'libncurses5-dev' is not installed. WARNING: It appears that a required development package 'gcc' is not installed. Erlang/OTP 19.2 (19.2) has been successfully built

I'll experiment on a clean install of Arch Linux and report back. Attached you can find kerl's config.log of my 19.3 build where you can see everything is ok...

config.log https://github.com/robisonsantos/evm/files/6263788/config.log

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/robisonsantos/evm/issues/36#issuecomment-813996384, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAA66LJLTW2B45QKHWFJPHDTHLL5VANCNFSM4ZHBBG2A .

-- Robison W R Santos

robisonsantos avatar Apr 06 '21 22:04 robisonsantos

autoconf is not missing, the warnings are wrong

SebCav avatar Apr 13 '21 10:04 SebCav