Hi all.
I may have asked this before, but does anyone encounter issues when building hwloc during an ET compilation?
I recently downloaded the ET_2024_05 release on the machine Pleiades (NAS), and since hwloc isn't part of a loadable module on that machine, I have to build it myself.
If I just let Cactus build hwloc as part of the ET build process for my configuration, this hwloc build fails somewhere in the linking stage -- error message below.
It doesn't appear to be an issue with the hwloc source code itself --I've taken the source tar.gz file from hwloc/dist/ and gone through a standard "configure/make/make install" by hand, installing in my own $HOME/lib. Obviously I can keep doing this. But it would be more convenient to have Cactus build it automatically as it's supposed to.
Any suggestions about what might be going wrong? Are there HWLOC-specific options I should have in my config-info (right now, I have nothing).
Final note: the libtool installed on this machine isn't a particularly new version:
pfe26.bjkelly1 57> libtool --version libtool (GNU libtool) 2.4.6 Written by Gordon Matzigkeit, 1996
Copyright (C) 2014 Free Software Foundation, Inc.
Any input appreciated,
Bernard
--------------- error message -------------- hwloc: Building... Making all in include Making all in hwloc CC topology.lo CC traversal.lo CC distances.lo CC memattrs.lo CC cpukinds.lo CC components.lo CC bind.lo CC bitmap.lo CC pci-common.lo CC diff.lo CC shmem.lo CC misc.lo CC base64.lo CC topology-noos.lo CC topology-synthetic.lo CC topology-xml.lo CC topology-xml-nolibxml.lo CC topology-linux.lo CC topology-hardwired.lo CC topology-x86.lo CCLD libhwloc.la ../libtool: line 7759: cd: -W: invalid option cd: usage: cd [-L|[-P [-e]] [-@]] [dir] libtool: error: cannot determine absolute directory name of '-Wl,-R/nasa/pkgsrc/toss4/2022Q1-rome/lib' make[5]: *** [Makefile:928: libhwloc.la] Error 1 make[4]: *** [Makefile:664: all-recursive] Error 1 make[3]: *** No rule to make target '/nobackupp19/bjkelly1/codes/Cactus_ET_2024_05/configs/sim/scratch/done/hwloc', needed by 'version.c.o'. Stop. make[2]: *** [/nobackupp19/bjkelly1/codes/Cactus_ET_2024_05/lib/make/make.thornlib:113: make.checked] Error 2 make[1]: *** [/nobackupp19/bjkelly1/codes/Cactus_ET_2024_05/lib/make/make.configuration:179: /nobackupp19/bjkelly1/codes/Cactus_ET_2024_05/configs/sim/lib/libthorn_hwloc.a] Error 2 make: *** [Makefile:265: sim] Error 2 -------------------
Hello Bernard,
Looking at `libtool` on my workstation and looking for the error message I would say that is coming from this code:
``` -L*) func_stripname "-L" '' "$arg" if test -z "$func_stripname_result"; then if test "$#" -gt 0; then func_fatal_error "require no space between '-L' and '$1'" else func_fatal_error "need path for '-L' option" fi fi func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # We need an absolute path. case $dir in [\/]* | [A-Za-z]:[\/]*) ;; *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ func_fatal_error "cannot determine absolute directory name of '$dir'" ```
so is triggered by some `-L` option.
Looking at the Cactus build.sh script then the `-L` options are generated from
``` export LDFLAGS="${LDFLAGS} $(echo $(for dir in ${LIBDIRS}; do echo '' -L${dir} -Wl,-rpath,${dir}; done))" ```
ie from `LIBDIRS` which is an option in the option list.
Is any such set? Or is there an environment variable with that name that contains the offending `-Wl,-R/nasa/pkgsrc/toss4/2022Q1-rome/lib` ?
Since the option is documented (http://einsteintoolkit.org/usersguide/UsersGuide.html#x1-20000B2.1.1) as "This variable can also contain linker options." having non directory things in there is legit and thus indeed ExternalLibraries/hwloc is at fault for not handling this correctly (and a bug report will be filed), but this may give you an idea of what could be going on.
Yours, Roland
On Thu, 18 Jul 2024 17:41:59 -0400, Bernard Kelly wrote:
Hi all.
I may have asked this before, but does anyone encounter issues when building hwloc during an ET compilation?
I recently downloaded the ET_2024_05 release on the machine Pleiades (NAS), and since hwloc isn't part of a loadable module on that machine, I have to build it myself.
If I just let Cactus build hwloc as part of the ET build process for my configuration, this hwloc build fails somewhere in the linking stage -- error message below.
It doesn't appear to be an issue with the hwloc source code itself --I've taken the source tar.gz file from hwloc/dist/ and gone through a standard "configure/make/make install" by hand, installing in my own $HOME/lib. Obviously I can keep doing this. But it would be more convenient to have Cactus build it automatically as it's supposed to.
Any suggestions about what might be going wrong? Are there HWLOC-specific options I should have in my config-info (right now, I have nothing).
Final note: the libtool installed on this machine isn't a particularly new version:
pfe26.bjkelly1 57> libtool --version libtool (GNU libtool) 2.4.6 Written by Gordon Matzigkeit, 1996
Copyright (C) 2014 Free Software Foundation, Inc.
Any input appreciated,
Bernard
--------------- error message -------------- hwloc: Building... Making all in include Making all in hwloc CC topology.lo CC traversal.lo CC distances.lo CC memattrs.lo CC cpukinds.lo CC components.lo CC bind.lo CC bitmap.lo CC pci-common.lo CC diff.lo CC shmem.lo CC misc.lo CC base64.lo CC topology-noos.lo CC topology-synthetic.lo CC topology-xml.lo CC topology-xml-nolibxml.lo CC topology-linux.lo CC topology-hardwired.lo CC topology-x86.lo CCLD libhwloc.la ../libtool: line 7759: cd: -W: invalid option cd: usage: cd [-L|[-P [-e]] [-@]] [dir] libtool: error: cannot determine absolute directory name of '-Wl,-R/nasa/pkgsrc/toss4/2022Q1-rome/lib' make[5]: *** [Makefile:928: libhwloc.la] Error 1 make[4]: *** [Makefile:664: all-recursive] Error 1 make[3]: *** No rule to make target '/nobackupp19/bjkelly1/codes/Cactus_ET_2024_05/configs/sim/scratch/done/hwloc', needed by 'version.c.o'. Stop. make[2]: *** [/nobackupp19/bjkelly1/codes/Cactus_ET_2024_05/lib/make/make.thornlib:113: make.checked] Error 2 make[1]: *** [/nobackupp19/bjkelly1/codes/Cactus_ET_2024_05/lib/make/make.configuration:179: /nobackupp19/bjkelly1/codes/Cactus_ET_2024_05/configs/sim/lib/libthorn_hwloc.a] Error 2 make: *** [Makefile:265: sim] Error 2
users@lists.einsteintoolkit.org