[gmx-users] static compilation - various problems...

Krzysztof Piszczek krzysztof.piszczek at boincpolska.org
Fri Dec 9 19:43:02 CET 2016


Hello,
Firstly, I'm introduce myself.
I'm BOINC administrator for few projects and if one of them we would
like to use gromacs as application for volunteers.
Basic requirement is that applications have to be fully static as we
don't wan't to push volunteers to compile and/or install full gromacs.
I have studied documentation and found the proper way to compile it
fully static, but I found loads of problems with compilation for AMD
OpenCL based computers (both - Linux and Windows).

This is the error message from Linux for gromacs 5.1.4:

Linking CXX executable ../../bin/gmx
../../lib/libgromacs.a(nbnxn_ocl.cpp.o): In function
`sync_ocl_event(_cl_command_queue*, _cl_event**)':
nbnxn_ocl.cpp:(.text+0x3f): undefined reference to
`clEnqueueBarrierWithWaitList'
../../lib/libgromacs.a(nbnxn_ocl.cpp.o): In function
`nbnxn_gpu_launch_kernel':
nbnxn_ocl.cpp:(.text+0x224): undefined reference to
`clEnqueueMarkerWithWaitList'
nbnxn_ocl.cpp:(.text+0x6f3): undefined reference to
`clEnqueueBarrierWithWaitList'
../../lib/libgromacs.a(nbnxn_ocl.cpp.o): In function
`nbnxn_gpu_launch_cpyback':
nbnxn_ocl.cpp:(.text+0x13cc): undefined reference to
`clEnqueueBarrierWithWaitList'
nbnxn_ocl.cpp:(.text+0x1427): undefined reference to
`clEnqueueMarkerWithWaitList'
collect2: error: ld returned 1 exit status

For the niewest gromacs output looks like:

Linking CXX executable ../../bin/gmx
../../lib/libgromacs.a(nbnxn_ocl.cpp.o): In function
`sync_ocl_event(_cl_command_queue*, _cl_event**)':
nbnxn_ocl.cpp:(.text+0x83): undefined reference to
`clEnqueueBarrierWithWaitList'
../../lib/libgromacs.a(nbnxn_ocl.cpp.o): In function
`nbnxn_gpu_launch_kernel':
nbnxn_ocl.cpp:(.text+0x2a8): undefined reference to
`clEnqueueMarkerWithWaitList'
nbnxn_ocl.cpp:(.text+0x864): undefined reference to
`clEnqueueBarrierWithWaitList'
../../lib/libgromacs.a(nbnxn_ocl.cpp.o): In function
`nbnxn_gpu_launch_cpyback':
nbnxn_ocl.cpp:(.text+0xcfc): undefined reference to
`clEnqueueBarrierWithWaitList'
nbnxn_ocl.cpp:(.text+0xd57): undefined reference to
`clEnqueueMarkerWithWaitList'
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../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.9/../../../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.9/../../../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.9/../../../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.9/../../../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.9/../../../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.9/../../../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.9/../../../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.9/../../../x86_64-linux-gnu/libhwloc.a(topology-linux.o):
In function `hwloc_linux_set_area_membind':
(.text+0x1d7f): undefined reference to `mbind'
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libhwloc.a(topology-linux.o):
In function `hwloc_linux_set_area_membind':
(.text+0x1dec): undefined reference to `mbind'
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libhwloc.a(topology-linux.o):
In function `hwloc_linux_set_thisthread_membind':
(.text+0x1f2f): undefined reference to `set_mempolicy'
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libhwloc.a(topology-linux.o):
In function `hwloc_linux_set_thisthread_membind':
(.text+0x1fc8): undefined reference to `migrate_pages'
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libhwloc.a(topology-linux.o):
In function `hwloc_linux_set_thisthread_membind':
(.text+0x200b): undefined reference to `set_mempolicy'
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libhwloc.a(topology-linux.o):
In function `hwloc_linux_find_kernel_max_numnodes':
(.text+0x20d2): undefined reference to `get_mempolicy'
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libhwloc.a(topology-linux.o):
In function `hwloc_linux_get_thisthread_membind':
(.text+0x2211): undefined reference to `get_mempolicy'
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libhwloc.a(topology-linux.o):
In function `hwloc_linux_get_area_membind':
(.text+0x23ab): undefined reference to `get_mempolicy'
collect2: error: ld returned 1 exit status


Do anybody have any advise?
Ps. - CUDA and CPU compilation done without (major) problems...


-- 
Krzysztof 'krzyszp' Piszczek
Fundacja BOINC Polska

---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus



More information about the gromacs.org_gmx-users mailing list