[gmx-users] GROMACS 4.6.3 Static Linking

Szilárd Páll szilard.pall at cbr.su.se
Wed Jul 31 16:47:59 CEST 2013


On Thu, Jul 25, 2013 at 5:55 PM, Mark Abraham <mark.j.abraham at gmail.com> wrote:
> That combo is supposed to generate a CMake warning.
>
> I also get a warning during linking that some shared library will have
> to provide some function (getpwuid?) at run time, but the binary is
> static.

That warning has always popped up for me whenever I built static
binaries, but it should be harmless unless you run the static binary
on a non ABI-compatible library that provides getpwuid().


Andy, have you used the "hack" which sets the correct link command
argument order?
http://www.hector.ac.uk/support/documentation/software/gromacs/cmake_static_linking.patch

-DGMX_PREFER_STATIC_LIBS=ON will simply instruct CMake to *prefer*
static archives when detecting external libraries, the resulting
binary will still be dynamically linked against system libraries.
Hence, it's strange that this results in broken binaries. What PrgEnv
version are you using?

Cheers,
Szilárd

>
> Mark
>
> On Thu, Jul 25, 2013 at 4:21 PM, Andrew R Turner <a.turner at epcc.ed.ac.uk> wrote:
>> Mark,
>>
>> A bit of testing has revealed that it is the "-DGMX_PREFER_STATIC_LIBS=ON"
>> flag that makes the difference. With this flag you end up with dynamic
>> executables that do not work (I think due to some glibc problem I have not
>> yet tracked down) whereas if I exclude this option then I get working static
>> executables.
>>
>> Thanks for all your help
>> Andy
>>
>>
>> Quoting Mark Abraham <mark.j.abraham at gmail.com> on Thu, 25 Jul 2013 14:18:35
>> +0200:
>>
>>> Vitaly has it upside down - it is normally required to build a static
>>> binary on Crays.
>>>
>>> cmake .. -DBUILD_SHARED_LIBS=off just works for building static
>>> binaries for me with 4.6.3 on lindgren, a Cray XE6, when using
>>> PrgEnv-gnu/4.0.46
>>>
>>> Mark
>>>
>>> On Wed, Jul 24, 2013 at 8:58 AM, Andrew R Turner <a.turner at epcc.ed.ac.uk>
>>> wrote:
>>>>
>>>> Hi Vitaly,
>>>>
>>>> Impossible just for v4.6.3? It was certainly possible to create static
>>>> executables for a Cray XE using v4.6.1 (I know, because I have done it).
>>>> I
>>>> followed the same procedure for 4.6.3 and have only managed to get
>>>> dynamic
>>>> executables (which do not work) hence my question.
>>>>
>>>> I will have more of a dig into the build procedure but just wondered if
>>>> anyone was aware of anything that has changed between these two minor
>>>> versions (probably in the build process) that could have precipitated
>>>> this
>>>> change in behaviour.
>>>>
>>>> Cheers
>>>> Andy
>>>>
>>>>
>>>>
>>>> Quoting "Dr. Vitaly Chaban" <vvchaban at gmail.com> on Sat, 20 Jul 2013
>>>> 09:42:41 +0200:
>>>>
>>>>> Soneone said here that static versions are impossible for Cray...
>>>>>
>>>>>
>>>>>
>>>>> Dr. Vitaly V. Chaban
>>>>>
>>>>>
>>>>> On Fri, Jul 19, 2013 at 12:55 PM, Andrew R Turner
>>>>> <a.turner at epcc.ed.ac.uk>wrote:
>>>>>
>>>>>> Hi
>>>>>>
>>>>>> I am having problems creating static versions of the GROMACS binaries
>>>>>> for
>>>>>> a Cray XE6 (www.hector.ac.uk). The build process I am using is
>>>>>> documented
>>>>>> at:
>>>>>>
>>>>>> http://www.hector.ac.uk/**support/documentation/**
>>>>>>
>>>>>>
>>>>>> software/gromacs/compiling_4-**6-1_phase3.php<http://www.hector.ac.uk/support/documentation/software/gromacs/compiling_4-6-1_phase3.php>
>>>>>>
>>>>>> and successfully produced static binaries for 4.6.1. Has something
>>>>>> changed
>>>>>> in the new version?
>>>>>>
>>>>>> In particular, I am setting:
>>>>>>
>>>>>> -DCMAKE_SKIP_RPATH=YES
>>>>>> -DBUILD_SHARED_LIBS=OFF
>>>>>> -DGMX_PREFER_STATIC_LIBS=ON
>>>>>> -DCMAKE_C_FLAGS="-static -O3 -ftree-vectorize -ffast-math
>>>>>> -funroll-loops"
>>>>>> -DCMAKE_CXX_FLAGS="-static -O3 -ftree-vectorize -ffast-math
>>>>>> -funroll-loops"
>>>>>>
>>>>>> but still get dynamic executables:
>>>>>>
>>>>>> gmx at hector-xe6-5:~/4.6.3-**phase3/bin> ldd grompp
>>>>>>         linux-vdso.so.1 =>  (0x00007fff00da2000)
>>>>>>         libm.so.6 => /lib64/libm.so.6 (0x00007f50dc58f000)
>>>>>>         libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f50dc371000)
>>>>>>         libAtpSigHandler.so.0 =>
>>>>>> /opt/cray/lib64/**libAtpSigHandler.so.0
>>>>>> (0x00007f50dc16b000)
>>>>>>         libgfortran.so.3 =>
>>>>>> /opt/gcc/4.7.2/snos/lib64/**libgfortran.so.3
>>>>>> (0x00007f50dbe54000)
>>>>>>         libscicpp_gnu.so.2 => /opt/cray/lib64/libscicpp_gnu.**so.2
>>>>>> (0x00007f50dbc4a000)
>>>>>>         libsci_gnu_mp.so.2 => /opt/cray/lib64/libsci_gnu_mp.**so.2
>>>>>> (0x00007f50d72ec000)
>>>>>>         libstdc++.so.6 => /opt/gcc/4.7.2/snos/lib64/**libstdc++.so.6
>>>>>> (0x00007f50d6fdf000)
>>>>>>         libfftw3_mpi.so.3 => /opt/cray/lib64/libfftw3_mpi.**so.3
>>>>>> (0x00007f50d6dc6000)
>>>>>>         libfftw3f_mpi.so.3 => /opt/cray/lib64/libfftw3f_mpi.**so.3
>>>>>> (0x00007f50d6bae000)
>>>>>>         libfftw3_threads.so.3 =>
>>>>>> /opt/cray/lib64/libfftw3_**threads.so.3
>>>>>> (0x00007f50d69a6000)
>>>>>>         libfftw3f_threads.so.3 =>
>>>>>> /opt/cray/lib64/libfftw3f_**threads.so.3
>>>>>> (0x00007f50d679d000)
>>>>>>         libfftw3.so.3 => /opt/cray/lib64/libfftw3.so.3
>>>>>> (0x00007f50d63a2000)
>>>>>>         libfftw3f.so.3 => /opt/cray/lib64/libfftw3f.so.3
>>>>>> (0x00007f50d5f7c000)
>>>>>>         libmpich_gnu_47.so.1 => /opt/cray/lib64/libmpich_gnu_**47.so.1
>>>>>> (0x00007f50d5add000)
>>>>>>         libmpichf90_gnu_47.so.1 =>
>>>>>> /opt/cray/lib64/libmpichf90_**gnu_47.so.1
>>>>>> (0x00007f50d58da000)
>>>>>>         libmpl.so.0 => /opt/cray/lib64/libmpl.so.0 (0x00007f50d56d5000)
>>>>>>         librt.so.1 => /lib64/librt.so.1 (0x00007f50d54cb000)
>>>>>>         libxpmem.so.0 => /opt/cray/xpmem/default/lib64/**libxpmem.so.0
>>>>>> (0x00007f50d52c9000)
>>>>>>         libdmapp.so.1 => /opt/cray/dmapp/default/lib64/**libdmapp.so.1
>>>>>> (0x00007f50d5092000)
>>>>>>         libugni.so.0 => /opt/cray/ugni/default/lib64/**libugni.so.0
>>>>>> (0x00007f50d4e72000)
>>>>>>         libpmi.so.0 => /opt/cray/pmi/default/lib64/**libpmi.so.0
>>>>>> (0x00007f50d4c51000)
>>>>>>         libalpslli.so.0 => /usr/lib/alps/libalpslli.so.0
>>>>>> (0x00007f50d4a4e000)
>>>>>>         libalpsutil.so.0 => /usr/lib/alps/libalpsutil.so.0
>>>>>> (0x00007f50d4849000)
>>>>>>         libudreg.so.0 => /opt/cray/udreg/default/lib64/**libudreg.so.0
>>>>>> (0x00007f50d4641000)
>>>>>>         libgomp.so.1 => /opt/gcc/4.7.2/snos/lib64/**libgomp.so.1
>>>>>> (0x00007f50d4432000)
>>>>>>         libc.so.6 => /lib64/libc.so.6 (0x00007f50d40d3000)
>>>>>>         libgcc_s.so.1 => /opt/gcc/4.7.2/snos/lib64/**libgcc_s.so.1
>>>>>> (0x00007f50d3ebd000)
>>>>>>         /lib/ld64.so.1 => /lib64/ld-linux-x86-64.so.2
>>>>>> (0x00007f50dc812000)
>>>>>>         libquadmath.so.0 =>
>>>>>> /opt/gcc/4.7.2/snos/lib64/**libquadmath.so.0
>>>>>> (0x00007f50d3c87000)
>>>>>>         libcray_memcpy.so.0 => /opt/cray/lib64/libcray_**memcpy.so.0
>>>>>> (0x00007f50d3a84000)
>>>>>>         libopa.so.1 => /opt/cray/lib64/libopa.so.1 (0x00007f50d3882000)
>>>>>>         librca.so.0 => /opt/cray/rca/default/lib64/**librca.so.0
>>>>>> (0x00007f50d367d000)
>>>>>>         libdl.so.2 => /lib64/libdl.so.2 (0x00007f50d3479000)
>>>>>>
>>>>>> Any ideas?
>>>>>> Andy
>>>>>>
>>>>>>
>>>>>> ==============================**===============
>>>>>>         Dr Andrew R. Turner
>>>>>>      e: a.turner at epcc.ed.ac.uk
>>>>>>  skype: aturner-epcc
>>>>>>      t: +44 (0)131 651 3578
>>>>>>      p: EPCC, University of Edinburgh EH9 3JZ
>>>>>> ==============================**===============
>>>>>>
>>>>>> --
>>>>>> The University of Edinburgh is a charitable body, registered in
>>>>>> Scotland, with registration number SC005336.
>>>>>>
>>>>>>
>>>>>> --
>>>>>> gmx-users mailing list    gmx-users at gromacs.org
>>>>>>
>>>>>>
>>>>>> http://lists.gromacs.org/**mailman/listinfo/gmx-users<http://lists.gromacs.org/mailman/listinfo/gmx-users>
>>>>>> * Please search the archive at http://www.gromacs.org/**
>>>>>>
>>>>>>
>>>>>> Support/Mailing_Lists/Search<http://www.gromacs.org/Support/Mailing_Lists/Search>before
>>>>>> posting!
>>>>>> * Please don't post (un)subscribe requests to the list. Use thewww
>>>>>> interface or send it to gmx-users-request at gromacs.org.
>>>>>> * Can't post? Read
>>>>>>
>>>>>> http://www.gromacs.org/**Support/Mailing_Lists<http://www.gromacs.org/Support/Mailing_Lists>
>>>>>>
>>>>> --
>>>>> gmx-users mailing list    gmx-users at gromacs.org
>>>>> http://lists.gromacs.org/mailman/listinfo/gmx-users
>>>>> * Please search the archive at
>>>>> http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
>>>>> * Please don't post (un)subscribe requests to the list. Use the
>>>>> www interface or send it to gmx-users-request at gromacs.org.
>>>>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> =============================================
>>>>
>>>>         Dr Andrew R. Turner
>>>>      e: a.turner at epcc.ed.ac.uk
>>>>  skype: aturner-epcc
>>>>      t: +44 (0)131 651 3578
>>>>      p: EPCC, University of Edinburgh EH9 3JZ
>>>> =============================================
>>>>
>>>>
>>>> --
>>>> The University of Edinburgh is a charitable body, registered in
>>>> Scotland, with registration number SC005336.
>>>>
>>>>
>>>> --
>>>> gmx-users mailing list    gmx-users at gromacs.org
>>>> http://lists.gromacs.org/mailman/listinfo/gmx-users
>>>> * Please search the archive at
>>>> http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
>>>> * Please don't post (un)subscribe requests to the list. Use thewww
>>>> interface
>>>> or send it to gmx-users-request at gromacs.org.
>>>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>>
>>> --
>>> gmx-users mailing list    gmx-users at gromacs.org
>>> http://lists.gromacs.org/mailman/listinfo/gmx-users
>>> * Please search the archive at
>>> http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
>>> * Please don't post (un)subscribe requests to the list. Use the
>>> www interface or send it to gmx-users-request at gromacs.org.
>>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>>
>>>
>>
>>
>>
>> =============================================
>>         Dr Andrew R. Turner
>>      e: a.turner at epcc.ed.ac.uk
>>  skype: aturner-epcc
>>      t: +44 (0)131 651 3578
>>      p: EPCC, University of Edinburgh EH9 3JZ
>> =============================================
>>
>> --
>> The University of Edinburgh is a charitable body, registered in
>> Scotland, with registration number SC005336.
>>
>>
>> --
>> gmx-users mailing list    gmx-users at gromacs.org
>> http://lists.gromacs.org/mailman/listinfo/gmx-users
>> * Please search the archive at
>> http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
>> * Please don't post (un)subscribe requests to the list. Use thewww interface
>> or send it to gmx-users-request at gromacs.org.
>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> --
> gmx-users mailing list    gmx-users at gromacs.org
> http://lists.gromacs.org/mailman/listinfo/gmx-users
> * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
> * Please don't post (un)subscribe requests to the list. Use the
> www interface or send it to gmx-users-request at gromacs.org.
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists



More information about the gromacs.org_gmx-users mailing list