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

Mark Abraham mark.j.abraham at gmail.com
Fri Dec 9 19:57:11 CET 2016


Hi,

On Sat, Dec 10, 2016 at 5:43 AM Krzysztof Piszczek <
krzysztof.piszczek at boincpolska.org> wrote:

> 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).
>

The first lot of linking errors are because OpenCL symbols aren't found at
link time. Does a libOpenCL.a exist? Or is GROMACS getting the linking
wrong with one that was found? (e.g. inspect the CMakeCache.txt)

For 2016, once you've statically linked to libhwloc.a one also has to link
to its dependencies, which is an unsolved problem for us, because there's
no good way to find out what they were when libhwloc was built for the
system. Its pkgconfig may help. libnuma.a is likely needed, but something
for dynamic loading also, I guess.

Mark

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
>
> --
> Gromacs Users mailing list
>
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> posting!
>
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> send a mail to gmx-users-request at gromacs.org.
>


More information about the gromacs.org_gmx-users mailing list