easybuilders / easybuild-easyconfigs

A collection of easyconfig files that describe which software to build using which build options with EasyBuild.
https://easybuild.io
GNU General Public License v2.0
380 stars 704 forks source link

Mothur-1.43.0-foss-2019a-Python-3.7.2.eb fails on Ubuntu 24.04 #21849

Open jgustavsen opened 3 days ago

jgustavsen commented 3 days ago

Hi! Thanks for your work on Easybuild. I am trying to install mothur and am running into some issues.

System info

cat /etc/os-release

PRETTY_NAME="Ubuntu 24.04 LTS"

eb --show-config

Current EasyBuild configuration (C: command line argument, D: default value, E: environment variable, F: configuration file)

buildpath (F) = /dev/shm/software/easybuild/build containerpath (F) = /software/anaconda3/envs/eb/easybuild/containers filter-env-vars (F) = LD_LIBRARY_PATH insecure-download (F) = True installpath (F) = /software/anaconda3/envs/eb/easybuild logtostdout (F) = True packagepath (F) = /software/anaconda3/envs/eb/easybuild/packages prefix (F) = /software/anaconda3/envs/eb/easybuild repositorypath (F) = /software/anaconda3/envs/eb/easybuild/ebfiles_repo robot-paths (D) = /software/anaconda3/envs/eb/easybuild/easyconfigs rpath (F) = True sourcepath (F) = /software/anaconda3/envs/eb/easybuild/sources

Trying to run:

eb Mothur-1.43.0-foss-2019a-Python-3.7.2.eb --robot --insecure-download --tmpdir=/tmp --buildpath=/tmp/eb

gives:

0:00:12 0 out of 43 easyconfigs done== 2024-11-13 14:08:35,561 build_log.py:267 INFO Results of the build can be found in the log file(s) /tmp/eb-5po3lply/easybuild-GCCcore-8.2.0-20241113.140823.DXNLW.log == Results of the build can be found in the log file(s) /tmp/eb-5po3lply/easybuild-GCCcore-8.2.0-20241113.140823.DXNLW.log 0:00:12 0 out of 43 easyconfigs done== 2024-11-13 14:08:35,563 build_log.py:171 ERROR EasyBuild crashed with an error (at easybuild/tools/build_log.py:111 in caller_info): build failed (first 300 chars): cmd " ../configure --enable-languages=c,c++,fortran --enable-lto --enable-checking=release --disable-multilib --enable-shared=yes --enable-static=yes --enable-threads=posix --enable-plugins --enable-gold=default --enable-ld --with-plugin-ld=ld.gold --disable-bootstrap --prefix=/tmp/eb/GCCcore (at easybuild/main.py:140 in build_and_install_software) == 2024-11-13 14:08:35,565 build_log.py:171 ERROR EasyBuild crashed with an error (at easybuild/tools/build_log.py:111 in caller_info): Build of /software/anaconda3/envs/eb/easybuild/easyconfigs/g/GCCcore/GCCcore-8.2.0.eb failed (err: 'build failed (first 300 chars): cmd " ../configure --enable-languages=c,c++,fortran --enable-lto --enable-checking=release --disable-multilib --enable-shared=yes --enable-static=yes --enable-threads=posix --enable-plugins --enable-gold=default --enable-ld --with-plugin-ld=ld.gold --disable-bootstrap --prefix=/tmp/eb/GCCcore') (at easybuild/main.py:178 in build_and_install_software) 0:00:12 0 out of 43 easyconfigs done ERROR: Build of /software/anaconda3/envs/eb/easybuild/easyconfigs/g/GCCcore/GCCcore-8.2.0.eb failed (err: 'build failed (first 300 chars): cmd " ../configure --enable-languages=c,c++,fortran --enable-lto --enable-checking=release --disable-multilib --enable-shared=yes --enable-static=yes --enable-threads=posix --enable-plugins --enable-gold=default --enable-ld --with-plugin-ld=ld.gold --disable-bootstrap --prefix=/tmp/eb/GCCcore')

and the salient parts of the log are:

checking for x86_64-pc-linux-gnu-gcc... gcc
checking for C compiler default output file name...
configure: error: in `/tmp/eb/GCCcore/8.2.0/system-system/gcc-8.2.0/stage1_obj':
configure: error: C compiler cannot create executables
See `config.log' for more details.
 (at easybuild/tools/run.py:682 in parse_cmd_output)

and what looks relevant in the config.log is:

Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.2.0-23ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-uJ7kn6/gcc-13-13.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-uJ7kn6/gcc-13-13.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.2.0 (Ubuntu 13.2.0-23ubuntu4) ... rest of stderr output deleted ... configure:4284: $? = 0 configure:4273: gcc -V >&5 gcc: error: unrecognized command-line option '-V' gcc: fatal error: no input files compilation terminated. configure:4284: $? = 1 configure:4273: gcc -qversion >&5 gcc: error: unrecognized command-line option '-qversion'; did you mean '--version'? configure:4284: $? = 1 configure:4304: checking for C compiler default output file name configure:4326: gcc conftest.c >&5 /software/anaconda3/envs/eb/easybuild/software/binutils/2.31.1/bin/ld: warning: /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0008002 /software/anaconda3/envs/eb/easybuild/software/binutils/2.31.1/bin/ld: warning: //lib/x86_64-linux-gnu/libc.so.6: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0008002 /software/anaconda3/envs/eb/easybuild/software/binutils/2.31.1/bin/ld: //lib/x86_64-linux-gnu/libc.so.6: unknown type [0x13] section .relr.dyn' /software/anaconda3/envs/eb/easybuild/software/binutils/2.31.1/bin/ld: skipping incompatible //lib/x86_64-linux-gnu/libc.so.6 when searching for /lib/x86_64-linux-gnu/libc.so.6 /software/anaconda3/envs/eb/easybuild/software/binutils/2.31.1/bin/ld: cannot find /lib/x86_64-linux-gnu/libc.so.6 inside / /software/anaconda3/envs/eb/easybuild/software/binutils/2.31.1/bin/ld: //lib64/ld-linux-x86-64.so.2: unknown type [0x13] section.relr.dyn' /software/anaconda3/envs/eb/easybuild/software/binutils/2.31.1/bin/ld: skipping incompatible //lib64/ld-linux-x86-64.so.2 when searching for /lib64/ld-linux-x86-64.so.2 /software/anaconda3/envs/eb/easybuild/software/binutils/2.31.1/bin/ld: cannot find /lib64/ld-linux-x86-64.so.2 inside / collect2: error: ld returned 1 exit status configure:4330: $? = 1 configure:4367: result: configure: failed program was: / confdefs.h / #define PACKAGE_NAME "" #define PACKAGE_TARNAME "" #define PACKAGE_VERSION "" #define PACKAGE_STRING "" #define PACKAGE_BUGREPORT "" #define PACKAGE_URL "" / end confdefs.h. / {
;
return 0;
}

configure:4373: error: in /tmp/eb/GCCcore/8.2.0/system-system/gcc-8.2.0/stage1_obj': configure:4377: error: C compiler cannot create executables Seeconfig.log' for more details.

Any thoughts on how I might troubleshoot this more? It seems to me that my system compiler is too new and is causing issues with these easyconfigs.

Thanks, Julia

Micket commented 2 days ago

Starting with EB 5 we will be more active in archiving old stuff like this; which not only is unlikely to build anywhere anymore, but is of course very outdated software.

2019a is way to old to bother with. I wouldn't install any toolchain that's older than the OS i'm working on.

If there is no new version of a software one wants, someone needs to take some time to update it, and submit a new pull request with an updated version to this repo. This is almost entirely done by volunteers (and often on their spare time), by those who need the software.

In this case, this custom easyblock was so old it was even removed for 5.0 since noone used it, but it can be resurrected if there is interest.

An updated Mothur-1.48.2-foss-2023b.eb would be something like

name = 'Mothur'
version = '1.48.2'

homepage = 'https://www.mothur.org/'
description = """Mothur is a single piece of open-source, expandable software
 to fill the bioinformatics needs of the microbial ecology community."""

toolchain = {'name': 'foss', 'version': '2023b'}
toolchainopts = {'usempi': True, 'cstd': 'c++11'}

source_urls = ['https://github.com/mothur/mothur/archive/']
sources = ['v%(version)s.tar.gz']
checksums = ['bd37b22b5d2629c5f44bd7f104c5e5a2c3a117d724cd113ec7526c4aa62e1793']

dependencies = [
    ('Python', '3.11.5'),
    ('Boost.Python', '1.83.0'),
    ('HDF5', '1.14.3'),
    ('libreadline', '8.2'),
    ('ncurses', '6.4'),
    ('zlib', '1.2.13'),
]

moduleclass = 'bio'
jgustavsen commented 1 day ago

Hi @Micket , Many thanks for the response. I am quite new to Easybuild, but would be happy to try to submit a PR for this newer version as proposed by you. I will follow the contributing guide and try to add this new version. Thanks, Julia