Project

General

Profile

Bug #1919

Updated by Szilárd Páll over 3 years ago

The hwloc support is causing a number of minor issues:
-* * CMake output even when @GMX_HWLOC=OFF@
-* * static linking breaks
<pre>
/usr/bin/g++-4.8 -march=core-avx2 -std=c++0x -Wundef -Wextra -Wno-missing-field-initializers -Wpointer-arith -Wall -Wno-unused-function -O3 -DNDEBUG -funroll-all-loops -fexcess-precision=fast -Wno-array-bounds src/programs/CMakeFiles/gmx.dir/gmx.cpp.o src/programs/CMakeFiles/gmx.dir/legacymodules.cpp.o src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/md.cpp.o src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/membed.cpp.o src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/runner.cpp.o src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/mdrun.cpp.o src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/repl_ex.cpp.o src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/resource-division.cpp.o src/programs/CMakeFiles/view_objlib.dir/view/view.cpp.o -o bin/gmx -rdynamic lib/libgromacs.a -fopenmp /opt/tcbsys/cuda/7.5/lib64/libcudart.so -Wl,-Bstatic -lhwloc -Wl,-Bdynamic -lrt -lm -Wl,-Bstatic -lz -Wl,-Bdynamic /opt/tcbsys/fftw/3.3.4-sse2-avx/lib/libfftw3f.a -lpthread -Wl,-rpath,/opt/tcbsys/cuda/7.5/lib64:::::::::::::::::::::::::::::::: && :
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libhwloc.a(components.o): In function `hwloc__dlforeach_cb':
(.text+0x77): undefined reference to `lt_dlopenext'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libhwloc.a(components.o): In function `hwloc__dlforeach_cb':
(.text+0x91): undefined reference to `lt_dlerror'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libhwloc.a(components.o): In function `hwloc__dlforeach_cb':
(.text+0x107): undefined reference to `lt_dlsym'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libhwloc.a(components.o): In function `hwloc__dlforeach_cb':
(.text+0x3d5): undefined reference to `lt_dlclose'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libhwloc.a(components.o): In function `hwloc_plugins_exit':
(.text+0x446): undefined reference to `lt_dlclose'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libhwloc.a(components.o): In function `hwloc_plugins_exit':
(.text+0x490): undefined reference to `lt_dlexit'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libhwloc.a(components.o): In function `hwloc_plugins_init':
(.text+0x4da): undefined reference to `lt_dlinit'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libhwloc.a(components.o): In function `hwloc_plugins_init':
(.text+0x556): undefined reference to `lt_dlforeachfile'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libhwloc.a(topology-linux.o): In function `hwloc_linux_set_area_membind':
(.text+0x1ce2): undefined reference to `mbind'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libhwloc.a(topology-linux.o): In function `hwloc_linux_set_area_membind':
(.text+0x1d52): undefined reference to `mbind'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libhwloc.a(topology-linux.o): In function `hwloc_linux_set_thisthread_membind':
(.text+0x1e72): undefined reference to `set_mempolicy'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libhwloc.a(topology-linux.o): In function `hwloc_linux_set_thisthread_membind':
(.text+0x1f08): undefined reference to `migrate_pages'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libhwloc.a(topology-linux.o): In function `hwloc_linux_set_thisthread_membind':
(.text+0x1f4b): undefined reference to `set_mempolicy'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libhwloc.a(topology-linux.o): In function `hwloc_linux_find_kernel_max_numnodes':
(.text+0x1fef): undefined reference to `get_mempolicy'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libhwloc.a(topology-linux.o): In function `hwloc_linux_get_thisthread_membind':
(.text+0x210b): undefined reference to `get_mempolicy'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libhwloc.a(topology-linux.o): In function `hwloc_linux_get_area_membind':
(.text+0x2282): undefined reference to `get_mempolicy'
collect2: error: ld returned 1 exit status
</pre>

-The The former should be an easy fix-; fix; the latter likely requires figuring out which libraries need to be added to the link line, here at least libnuma and libltdtl is needed.

Back