Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gcc-9.3.0: missing plugin annobin.so #1364

Closed
kelbstf opened this issue Oct 9, 2021 · 7 comments
Closed

gcc-9.3.0: missing plugin annobin.so #1364

kelbstf opened this issue Oct 9, 2021 · 7 comments

Comments

@kelbstf
Copy link

kelbstf commented Oct 9, 2021


Hello,

on OHPC2.3 attempts to install software using Spack 0.16.2 fails for multiple packages, all with the same initial problem:


Checking for cc... cc1: fatal error: \
inaccessible plugin file \
/opt/ohpc/pub/compiler/gcc/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0/plugin/annobin.so \
expanded from short plugin name annobin: No such file or directory

There isn't actually a plugin folder in the first place:

ls -al /opt/ohpc/pub/compiler/gcc/9.3.0/
total 12
drwxr-xr-x. 8 root root   84 Aug 22 19:58 .
drwxr-xr-x. 3 root root   19 Aug 22 19:57 ..
drwxr-xr-x. 2 root root 4096 Aug 22 19:58 bin
drwxr-xr-x. 3 root root   17 Aug 22 19:57 include
drwxr-xr-x. 3 root root   17 Aug 22 19:57 lib
drwxr-xr-x. 2 root root 4096 Aug 22 19:57 lib64
drwxr-xr-x. 3 root root   17 Aug 22 19:57 libexec
drwxr-xr-x. 6 root root   60 Aug 22 19:58 share

Is there any option how to add plugins to the OHPC's gcc-9.3.0 on my own?
How would you go about it?

Any idea would be highly appreaciated, because currently i can't install important applications using a package manager and am sort of stuck...

Best regards

@adrianreber
Copy link
Member

We deliberately decided to not ship annobin because it is complicated (#1117).

OpenHPC should not inject anything about annobin in your build environment which means something else injects annobin in your build. Can you share the complete CFLAGS of your build.

We are disabling in our RPMs annobin everywhere: https://github.com/openhpc/ohpc/blob/2.x/components/OHPC_macros#L114

Something seems to inject something like -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 which I see on my system only when building an RPM. Not outside of RPM building. Therefore OpenHPC disables annotations during building but your build seems to activate annotated builds for some reason.

@kelbstf
Copy link
Author

kelbstf commented Oct 13, 2021

Hello Adrian,

thank you very much, and sorry for my late reply!
The problem shows up when using spack 0.16.2 and attempting to install perl-bioperl@1.7.6.
There is a stage where the dependency perl-list-moreutils-xs-0.428 is installed (it later also affects perl-html-parser-3.72; perl-list-moreutils-xs-0.428).
Here is the related debug level build log:

$ spack -v -ddd install perl-bioperl@1.7.6
==> [2021-10-09-18:56:07.933267, 84255] No binary for perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu found: installing from source
==> [2021-10-09-18:56:07.933435, 84255] Creating the installation directory /opt/ohpc/pub/spk_pkg/linux-centos8-haswell/gcc-9.3.0/perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu
==> [2021-10-09-18:56:07.933687, 84255] READ LOCK (database): /opt/ohpc/pub/spk_pkg/.spack-db/lock[0:0] [Acquiring] (reads 0, writes 0)
==> [2021-10-09-18:56:07.933946, 84255] read locking [0:0]: timeout 3 sec
==> [2021-10-09-18:56:07.934073, 84255] READ LOCK (database): /opt/ohpc/pub/spk_pkg/.spack-db/lock[0:0] [Acquired at 18:56:07.934041] (reads 1, writes 0)
==> [2021-10-09-18:56:07.934263, 84255] READ LOCK (database): /opt/ohpc/pub/spk_pkg/.spack-db/lock[0:0] [Releasing] (reads 1, writes 0)
==> [2021-10-09-18:56:07.934435, 84255] READ LOCK (database): /opt/ohpc/pub/spk_pkg/.spack-db/lock[0:0] [Released at 18:56:07.934403] (reads 0, writes 0)
==> [2021-10-09-18:56:07.946513, 84255] '/usr/bin/git' 'describe' '--tags' '--match' 'v*'
==> [2021-10-09-18:56:08.092861, 86173] UnsetEnv: CC
==> [2021-10-09-18:56:08.093053, 86173] UnsetEnv: CCC
==> [2021-10-09-18:56:08.093109, 86173] UnsetEnv: CFLAGS
==> [2021-10-09-18:56:08.093154, 86173] UnsetEnv: CMAKE_PREFIX_PATH
==> [2021-10-09-18:56:08.093202, 86173] UnsetEnv: CPATH
==> [2021-10-09-18:56:08.093247, 86173] UnsetEnv: CPLUS_INCLUDE_PATH
==> [2021-10-09-18:56:08.093287, 86173] UnsetEnv: CPP
==> [2021-10-09-18:56:08.093329, 86173] UnsetEnv: CPPFLAGS
==> [2021-10-09-18:56:08.093371, 86173] UnsetEnv: CXX
==> [2021-10-09-18:56:08.093412, 86173] UnsetEnv: CXXCPP
==> [2021-10-09-18:56:08.093452, 86173] UnsetEnv: CXXFLAGS
==> [2021-10-09-18:56:08.093508, 86173] UnsetEnv: C_INCLUDE_PATH
==> [2021-10-09-18:56:08.093551, 86173] UnsetEnv: DYLD_FALLBACK_LIBRARY_PATH
==> [2021-10-09-18:56:08.093595, 86173] UnsetEnv: DYLD_INSERT_LIBRARIES
==> [2021-10-09-18:56:08.093635, 86173] UnsetEnv: DYLD_LIBRARY_PATH
==> [2021-10-09-18:56:08.093699, 86173] UnsetEnv: F77
==> [2021-10-09-18:56:08.093743, 86173] UnsetEnv: FC
==> [2021-10-09-18:56:08.093782, 86173] UnsetEnv: FCFLAGS
==> [2021-10-09-18:56:08.093820, 86173] UnsetEnv: FCLIBS
==> [2021-10-09-18:56:08.093858, 86173] UnsetEnv: FFLAGS
==> [2021-10-09-18:56:08.093895, 86173] UnsetEnv: FLIBS
==> [2021-10-09-18:56:08.093945, 86173] SetEnv: LC_ALL=C
==> [2021-10-09-18:56:08.094006, 86173] UnsetEnv: LDFLAGS
==> [2021-10-09-18:56:08.094066, 86173] UnsetEnv: LD_LIBRARY_PATH
==> [2021-10-09-18:56:08.094129, 86173] UnsetEnv: LD_PRELOAD
==> [2021-10-09-18:56:08.094176, 86173] UnsetEnv: LD_RUN_PATH
==> [2021-10-09-18:56:08.094220, 86173] UnsetEnv: LIBRARY_PATH
==> [2021-10-09-18:56:08.094260, 86173] UnsetEnv: LIBS
==> [2021-10-09-18:56:08.094296, 86173] UnsetEnv: MPICC
==> [2021-10-09-18:56:08.094330, 86173] UnsetEnv: MPICXX
==> [2021-10-09-18:56:08.094371, 86173] UnsetEnv: MPIF77
==> [2021-10-09-18:56:08.094424, 86173] UnsetEnv: MPIF90
==> [2021-10-09-18:56:08.094476, 86173] UnsetEnv: MPIFC
==> [2021-10-09-18:56:08.094520, 86173] UnsetEnv: OBJC_INCLUDE_PATH
==> [2021-10-09-18:56:08.109529, 86173] [TOOLCHAIN] MATCH Gcc
==> [2021-10-09-18:56:08.111752, 86173] Adding compiler bin/ paths: /opt/ohpc/admin/spack/0.16.2/lib/spack/env /opt/ohpc/admin/spack/0.16.2/lib/spack/env/case-insensitive /opt/ohpc/admin/spack/0.16.2/lib/spack/env/gcc
==> [2021-10-09-18:56:08.122157, 86173] A dependency has updated CPATH, this may lead pkg-config to assume that the package is part of the system includes and omit it when invoked with '--cflags'.
==> [2021-10-09-18:56:08.268447, 86173] '/opt/ohpc/pub/compiler/gcc/9.3.0/bin/g++' '-v' '/tmp/spack-implicit-link-infokt4q8rav/main.c' '-o' '/tmp/spack-implicit-link-infokt4q8rav/output'
==> [2021-10-09-18:56:08.330244, 86173] parsing implicit link info
==> [2021-10-09-18:56:08.330636, 86173] linker line:  /opt/ohpc/pub/compiler/gcc/9.3.0/libexec/gcc/x86_64-pc-linux-gnu/9.3.0/collect2 -plugin /opt/ohpc/pub/compiler/gcc/9.3.0/libexec/gcc/x86_64-pc-linux-gnu/9.3.0/liblto_plugin.so -plugin-opt=/opt/ohpc/pub/compiler/gcc/9.3.0/libexec/gcc/x86_64-pc-linux-gnu/9.3.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccrz3BdO.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o /tmp/spack-implicit-link-infokt4q8rav/output /lib/../lib64/crt1.o /lib/../lib64/crti.o /opt/ohpc/pub/compiler/gcc/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0/crtbegin.o -L/opt/ohpc/pub/compiler/gcc/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0 -L/opt/ohpc/pub/compiler/gcc/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/opt/ohpc/pub/compiler/gcc/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../.. /tmp/ccSN68SL.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /opt/ohpc/pub/compiler/gcc/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0/crtend.o /lib/../lib64/crtn.o
==> [2021-10-09-18:56:08.330748, 86173] linkdir: /opt/ohpc/pub/compiler/gcc/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0
==> [2021-10-09-18:56:08.330850, 86173] linkdir: /opt/ohpc/pub/compiler/gcc/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../lib64
==> [2021-10-09-18:56:08.330902, 86173] linkdir: /lib/../lib64
==> [2021-10-09-18:56:08.330941, 86173] linkdir: /usr/lib/../lib64
==> [2021-10-09-18:56:08.330980, 86173] linkdir: /opt/ohpc/pub/compiler/gcc/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../..
==> [2021-10-09-18:56:08.331063, 86173] found raw link dirs: /opt/ohpc/pub/compiler/gcc/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0, /opt/ohpc/pub/compiler/gcc/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../lib64, /lib/../lib64, /usr/lib/../lib64, /opt/ohpc/pub/compiler/gcc/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../..
==> [2021-10-09-18:56:08.331166, 86173] found link dirs: /opt/ohpc/pub/compiler/gcc/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0, /opt/ohpc/pub/compiler/gcc/9.3.0/lib64, /lib64, /usr/lib64, /opt/ohpc/pub/compiler/gcc/9.3.0/lib
==> [2021-10-09-18:56:08.332833, 86173] SetEnv: CC=/opt/ohpc/admin/spack/0.16.2/lib/spack/env/gcc/gcc
==> [2021-10-09-18:56:08.332922, 86173] SetEnv: CXX=/opt/ohpc/admin/spack/0.16.2/lib/spack/env/gcc/g++
==> [2021-10-09-18:56:08.332981, 86173] SetEnv: F77=/opt/ohpc/admin/spack/0.16.2/lib/spack/env/gcc/gfortran
==> [2021-10-09-18:56:08.333049, 86173] SetEnv: FC=/opt/ohpc/admin/spack/0.16.2/lib/spack/env/gcc/gfortran
==> [2021-10-09-18:56:08.333108, 86173] PrependPath: PATH+/opt/ohpc/admin/spack/0.16.2/lib/spack/env
==> [2021-10-09-18:56:08.333181, 86173] PrependPath: PATH+/opt/ohpc/admin/spack/0.16.2/lib/spack/env/case-insensitive
==> [2021-10-09-18:56:08.333251, 86173] PrependPath: PATH+/opt/ohpc/admin/spack/0.16.2/lib/spack/env/gcc
==> [2021-10-09-18:56:08.333311, 86173] PrependPath: PERL5LIB+/opt/ohpc/pub/spk_pkg/linux-centos8-haswell/gcc-9.3.0/perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu/lib/perl5
==> [2021-10-09-18:56:08.333380, 86173] SetEnv: SPACK_CC=/opt/ohpc/pub/compiler/gcc/9.3.0/bin/gcc
==> [2021-10-09-18:56:08.333442, 86173] SetEnv: SPACK_CC_RPATH_ARG=-Wl,-rpath,
==> [2021-10-09-18:56:08.333512, 86173] SetEnv: SPACK_COMPILER_IMPLICIT_RPATHS=/opt/ohpc/pub/compiler/gcc/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0:/opt/ohpc/pub/compiler/gcc/9.3.0/lib64
==> [2021-10-09-18:56:08.333564, 86173] SetEnv: SPACK_COMPILER_SPEC=gcc@9.3.0
==> [2021-10-09-18:56:08.333614, 86173] SetEnv: SPACK_CXX=/opt/ohpc/pub/compiler/gcc/9.3.0/bin/g++
==> [2021-10-09-18:56:08.333658, 86173] SetEnv: SPACK_CXX_RPATH_ARG=-Wl,-rpath,
==> [2021-10-09-18:56:08.333706, 86173] SetEnv: SPACK_DEBUG=TRUE
==> [2021-10-09-18:56:08.333755, 86173] SetEnv: SPACK_DEBUG_LOG_DIR=/root
==> [2021-10-09-18:56:08.333813, 86173] SetEnv: SPACK_DEBUG_LOG_ID=perl-list-moreutils-xs-gy63wfi
==> [2021-10-09-18:56:08.333859, 86173] SetEnv: SPACK_DTAGS_TO_ADD=--disable-new-dtags
==> [2021-10-09-18:56:08.333905, 86173] SetEnv: SPACK_DTAGS_TO_STRIP=--enable-new-dtags
==> [2021-10-09-18:56:08.333961, 86173] SetPath: SPACK_ENV_PATH=/opt/ohpc/admin/spack/0.16.2/lib/spack/env:/opt/ohpc/admin/spack/0.16.2/lib/spack/env/case-insensitive:/opt/ohpc/admin/spack/0.16.2/lib/spack/env/gcc
==> [2021-10-09-18:56:08.334015, 86173] SetEnv: SPACK_F77=/opt/ohpc/pub/compiler/gcc/9.3.0/bin/gfortran
==> [2021-10-09-18:56:08.334071, 86173] SetEnv: SPACK_F77_RPATH_ARG=-Wl,-rpath,
==> [2021-10-09-18:56:08.334115, 86173] SetEnv: SPACK_FC=/opt/ohpc/pub/compiler/gcc/9.3.0/bin/gfortran
==> [2021-10-09-18:56:08.334159, 86173] SetEnv: SPACK_FC_RPATH_ARG=-Wl,-rpath,
==> [2021-10-09-18:56:08.334202, 86173] SetEnv: SPACK_INCLUDE_DIRS=
==> [2021-10-09-18:56:08.334244, 86173] SetEnv: SPACK_LINKER_ARG=-Wl,
==> [2021-10-09-18:56:08.334288, 86173] SetEnv: SPACK_LINK_DIRS=
==> [2021-10-09-18:56:08.334333, 86173] SetEnv: SPACK_RPATH_DIRS=/opt/ohpc/pub/spk_pkg/linux-centos8-haswell/gcc-9.3.0/perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu/lib:/opt/ohpc/pub/spk_pkg/linux-centos8-haswell/gcc-9.3.0/perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu/lib64
==> [2021-10-09-18:56:08.334381, 86173] SetEnv: SPACK_SHORT_SPEC=perl-list-moreutils-xs@0.428%gcc@9.3.0 arch=linux-centos8-haswell/gy63wfi
==> [2021-10-09-18:56:08.334433, 86173] SetEnv: SPACK_SYSTEM_DIRS=/bin:/usr/bin:/usr/local/bin:/bin64:/usr/bin64:/usr/local/bin64:/include:/usr/include:/usr/local/include:/lib:/usr/lib:/usr/local/lib:/lib64:/usr/lib64:/usr/local/lib64:/:/usr:/usr/local
==> [2021-10-09-18:56:08.334507, 86173] SetEnv: SPACK_TARGET_ARGS=-march=haswell -mtune=haswell
==> [2021-10-09-18:56:08.336282, 86173] Checking existence of https://mirror.spack.io/_source-cache/archive/9d/9d9fe621429dfe7cf2eb1299c192699ddebf060953e5ebdc1b4e293c6d6dd62d.tar.gz
==> [2021-10-09-18:56:09.042004, 86173] Fetching https://mirror.spack.io/_source-cache/archive/9d/9d9fe621429dfe7cf2eb1299c192699ddebf060953e5ebdc1b4e293c6d6dd62d.tar.gz
==> [2021-10-09-18:56:09.472630, 86173] Staging archive: /tmp/root/spack-stage/spack-stage-perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu/List-MoreUtils-XS-0.428.tar.gz
==> [2021-10-09-18:56:09.473818, 86173] '/usr/bin/tar' '-oxf' '/tmp/root/spack-stage/spack-stage-perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu/List-MoreUtils-XS-0.428.tar.gz'
==> [2021-10-09-18:56:09.490056, 86173] Created stage in /tmp/root/spack-stage/spack-stage-perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu
==> [2021-10-09-18:56:09.490434, 86173] No patches needed for perl-list-moreutils-xs
==> [2021-10-09-18:56:09.490592, 86173] 86173: perl-list-moreutils-xs: Building perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu [PerlPackage]
==> [2021-10-09-18:56:09.490862, 86173] WRITE LOCK (spack-stage-perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu): /tmp/root/spack-stage/.lock[7825628104115301055:1] [Acquiring] (reads 0, writes 0)
==> [2021-10-09-18:56:09.491161, 86173] write locking [7825628104115301055:1]: timeout 60 sec
==> [2021-10-09-18:56:09.491356, 86173] WRITE LOCK (spack-stage-perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu): /tmp/root/spack-stage/.lock[7825628104115301055:1] [Acquired at 18:56:09.491321] (reads 0, writes 1)
==> [2021-10-09-18:56:09.497097, 86173] 86173: perl-list-moreutils-xs: Executing phase: 'configure'
==> [2021-10-09-18:56:09.701517, 86173] WRITE LOCK (spack-stage-perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu): /tmp/root/spack-stage/.lock[7825628104115301055:1] [Releasing] (reads 0, writes 1)
==> [2021-10-09-18:56:09.701827, 86173] WRITE LOCK (spack-stage-perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu): /tmp/root/spack-stage/.lock[7825628104115301055:1] [Released at 18:56:09.701788] (reads 0, writes 0)
==> [2021-10-09-18:56:09.715201, 84255] Error: ProcessError: Command exited with status 2:
    '/usr/bin/perl' 'Makefile.PL' 'INSTALL_BASE=/opt/ohpc/pub/spk_pkg/linux-centos8-haswell/gcc-9.3.0/perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu'

1 error found in build log:
  >> 4    Checking for cc... cc1: fatal error: inaccessible plugin file /opt/ohpc/pub/compiler/gcc/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0/plugin/ann
          obin.so expanded from short plugin name annobin: No such file or directory
     5    compilation terminated.
     6    Can't produce loadable XS module at inc/Config/AutoConf/LMU.pm line 73.
     7    

See build log for details:
  /tmp/root/spack-stage/spack-stage-perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu/spack-build-out.txt

Traceback (most recent call last):
  File "/opt/ohpc/admin/spack/0.16.2/lib/spack/spack/build_environment.py", line 1022, in _setup_pkg_and_run
    return_value = function(pkg, kwargs)
  File "/opt/ohpc/admin/spack/0.16.2/lib/spack/spack/installer.py", line 1898, in build_process
    return installer.run()
  File "/opt/ohpc/admin/spack/0.16.2/lib/spack/spack/installer.py", line 1764, in run
    self._real_install()
  File "/opt/ohpc/admin/spack/0.16.2/lib/spack/spack/installer.py", line 1862, in _real_install
    phase(pkg.spec, pkg.prefix)
  File "/opt/ohpc/admin/spack/0.16.2/lib/spack/spack/package.py", line 116, in phase_wrapper
    phase(spec, prefix)
  File "/opt/ohpc/admin/spack/0.16.2/lib/spack/spack/build_systems/perl.py", line 81, in configure
    inspect.getmodule(self).perl(*options)
  File "/opt/ohpc/admin/spack/0.16.2/lib/spack/spack/util/executable.py", line 226, in __call__
    proc.returncode, long_msg)
spack.util.executable.ProcessError: Command exited with status 2:
    '/usr/bin/perl' 'Makefile.PL' 'INSTALL_BASE=/opt/ohpc/pub/spk_pkg/linux-centos8-haswell/gcc-9.3.0/perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu'
==> [2021-10-09-18:56:09.725114, 84255] Flagging perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu as failed: ProcessError: Command exited with status 2:
    '/usr/bin/perl' 'Makefile.PL' 'INSTALL_BASE=/opt/ohpc/pub/spk_pkg/linux-centos8-haswell/gcc-9.3.0/perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu'
==> [2021-10-09-18:56:09.726531, 84255] WRITE LOCK (perl-list-moreutils-xs): /opt/ohpc/pub/spk_pkg/.spack-db/prefix_failures[1954242875404563758:1] [Acquiring] (reads 0, writes 0)
==> [2021-10-09-18:56:09.726790, 84255] write locking [1954242875404563758:1]: timeout None sec

And the mentioned log:

$ cat /tmp/root/spack-stage/spack-stage-perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu/spack-build-out.txt
==> [2021-10-09-18:56:09.497097, 86173] 86173: perl-list-moreutils-xs: Executing phase: 'configure'
==> [2021-10-09-18:56:09.498340] '/usr/bin/perl' 'Makefile.PL' 'INSTALL_BASE=/opt/ohpc/pub/spk_pkg/linux-centos8-haswell/gcc-9.3.0/perl-list-moreutils-xs-0.428-gy63wfisu5vf3fxev2x5hnypatxgq7vu'
Checking whether pureperl is required... no
Checking for cc... cc1: fatal error: inaccessible plugin file /opt/ohpc/pub/compiler/gcc/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0/plugin/annobin.so expanded from short plugin name annobin: No such file or directory
compilation terminated.
Can't produce loadable XS module at inc/Config/AutoConf/LMU.pm line 73.

I had this problem also when attempting to install HDF5, so it seems to be s.th. wider spread?

@adrianreber
Copy link
Member

So it seems perl is pulling in annobin. At this point it gets complicated.

Perl is built against the system compiler which requires annobin and therefore perl also wants to use annobin if compiling C code. That is a wrong assumption. I think Python handles it correctly, but Perl apparently does not.

A dirty hack would be to edit /usr/lib64/perl5/Config_heavy.pl and remove -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 wherever you find. At least to test if that is the reason for your problems.

@kelbstf
Copy link
Author

kelbstf commented Oct 14, 2021

Thank you very much for your help!

Interestingly annobin was briefly disabled at some time:

http://fedora.riscv.rocks/koji/buildinfo?buildID=193619
* Mon Jan 20 2020 Florian Weimer <fweimer@redhat.com> - 148-1
- Reenable annobin after GCC 10 integration (#1792892)

* Mon Jan 20 2020 Florian Weimer <fweimer@redhat.com> - 147-1
- Temporarily disable annobin for GCC 10 (#1792892)

You hack worked perfectly well, the compilation succeeded.

I'm now having diffculties to assess the implications of this approach.
If i understand it right, annobin is "just" about metadata on binaries...
Would disabling it for perl on system level still incur potential for side effects later on, on system level?

Or would using a custom toolchain (annobin disabled for gcc and perl) for compiling all scientific/non-system applications be the more robust route?
If i were completeley free to decide, i would still prefer to use the OHPC toolchain...

@adrianreber
Copy link
Member

Interestingly annobin was briefly disabled at some time:

Because of the dependencies between gcc and annobin it is necessary to disable annobin for major upgrades.

You hack worked perfectly well, the compilation succeeded.

Good.

I'm now having diffculties to assess the implications of this approach.
If i understand it right, annobin is "just" about metadata on binaries...

Yes.

Would disabling it for perl on system level still incur potential for side effects later on, on system level?

Probably not. As far as I understand it annobin is mainly important to be able to certify the operating system. But I do not know the details.

Or would using a custom toolchain (annobin disabled for gcc and perl) for compiling all scientific/non-system applications be the more robust route?

OpenHPC has no annobin enabled anywhere. The problem is that perl injects the OS CFLAGS when building with any compiler. Not sure what other compilers say when they have to deal with annobin specific command line options. This could also be a problem for a gcc10 trying to load the OS annobin for gcc9. Or a compiler from Intel or ARM can have problems when told to use the annobin plugin.

The right thing to do is open a bug against your OS. I did this for Python https://bugzilla.redhat.com/show_bug.cgi?id=1634784

Not sure what OS you are using but you should open a bug that Perl should not blindly use the OS CFLAGS.

@kelbstf
Copy link
Author

kelbstf commented Oct 14, 2021

Great, thank you again very much for your quick help!
And sorry for having missed to tell that this is experienced on "CentOS 8.4.2105" (CentOS Linux 8-BaseOS).
I'll try to dig deeper how disabling the respective CFLAG might impact the system. Presumably this would "only" affect updating/installing packages from the CentOS repos, if at all...

@"custom toolchain": i fancied to help the issue by installing a custom build perl of the same release as the current system build and preload it as a module, as OHPC does with gnu9.
At least for the time being.

I'll do the right thing anyways ;-)
Should i close this issue now, or should i wait until i can add a reference to the then filed bugreport?

@adrianreber
Copy link
Member

Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants