Re: [gmx-users] GROMACS 4.6.3 Static Linking
On Thu, Jul 25, 2013 at 5:55 PM, Mark Abraham mark.j.abra...@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.tur...@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.abra...@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.tur...@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 vvcha...@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.tur...@epcc.ed.ac.ukwrote: 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.phphttp://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@hector-xe6-5:~/4.6.3-**phase3/bin ldd grompp linux-vdso.so.1 = (0x7fff00da2000) libm.so.6 = /lib64/libm.so.6 (0x7f50dc58f000) libpthread.so.0 = /lib64/libpthread.so.0 (0x7f50dc371000) libAtpSigHandler.so.0 = /opt/cray/lib64/**libAtpSigHandler.so.0 (0x7f50dc16b000) libgfortran.so.3 = /opt/gcc/4.7.2/snos/lib64/**libgfortran.so.3 (0x7f50dbe54000) libscicpp_gnu.so.2 = /opt/cray/lib64/libscicpp_gnu.**so.2 (0x7f50dbc4a000) libsci_gnu_mp.so.2 = /opt/cray/lib64/libsci_gnu_mp.**so.2 (0x7f50d72ec000) libstdc++.so.6 = /opt/gcc/4.7.2/snos/lib64/**libstdc++.so.6 (0x7f50d6fdf000) libfftw3_mpi.so.3 = /opt/cray/lib64/libfftw3_mpi.**so.3 (0x7f50d6dc6000) libfftw3f_mpi.so.3 = /opt/cray/lib64/libfftw3f_mpi.**so.3 (0x7f50d6bae000) libfftw3_threads.so.3 = /opt/cray/lib64/libfftw3_**threads.so.3 (0x7f50d69a6000) libfftw3f_threads.so.3 = /opt/cray/lib64/libfftw3f_**threads.so.3 (0x7f50d679d000) libfftw3.so.3 = /opt/cray/lib64/libfftw3.so.3 (0x7f50d63a2000) libfftw3f.so.3 = /opt/cray/lib64/libfftw3f.so.3 (0x7f50d5f7c000) libmpich_gnu_47.so.1 = /opt/cray/lib64/libmpich_gnu_**47.so.1 (0x7f50d5add000) libmpichf90_gnu_47.so.1 = /opt/cray/lib64/libmpichf90_**gnu_47.so.1 (0x7f50d58da000) libmpl.so.0 = /opt/cray/lib64/libmpl.so.0 (0x7f50d56d5000) librt.so.1 = /lib64/librt.so.1 (0x7f50d54cb000) libxpmem.so.0 = /opt/cray/xpmem/default/lib64/**libxpmem.so.0
Re: [gmx-users] GROMACS 4.6.3 Static Linking
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.tur...@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 vvcha...@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.tur...@epcc.ed.ac.ukwrote: 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.phphttp://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@hector-xe6-5:~/4.6.3-**phase3/bin ldd grompp linux-vdso.so.1 = (0x7fff00da2000) libm.so.6 = /lib64/libm.so.6 (0x7f50dc58f000) libpthread.so.0 = /lib64/libpthread.so.0 (0x7f50dc371000) libAtpSigHandler.so.0 = /opt/cray/lib64/**libAtpSigHandler.so.0 (0x7f50dc16b000) libgfortran.so.3 = /opt/gcc/4.7.2/snos/lib64/**libgfortran.so.3 (0x7f50dbe54000) libscicpp_gnu.so.2 = /opt/cray/lib64/libscicpp_gnu.**so.2 (0x7f50dbc4a000) libsci_gnu_mp.so.2 = /opt/cray/lib64/libsci_gnu_mp.**so.2 (0x7f50d72ec000) libstdc++.so.6 = /opt/gcc/4.7.2/snos/lib64/**libstdc++.so.6 (0x7f50d6fdf000) libfftw3_mpi.so.3 = /opt/cray/lib64/libfftw3_mpi.**so.3 (0x7f50d6dc6000) libfftw3f_mpi.so.3 = /opt/cray/lib64/libfftw3f_mpi.**so.3 (0x7f50d6bae000) libfftw3_threads.so.3 = /opt/cray/lib64/libfftw3_**threads.so.3 (0x7f50d69a6000) libfftw3f_threads.so.3 = /opt/cray/lib64/libfftw3f_**threads.so.3 (0x7f50d679d000) libfftw3.so.3 = /opt/cray/lib64/libfftw3.so.3 (0x7f50d63a2000) libfftw3f.so.3 = /opt/cray/lib64/libfftw3f.so.3 (0x7f50d5f7c000) libmpich_gnu_47.so.1 = /opt/cray/lib64/libmpich_gnu_**47.so.1 (0x7f50d5add000) libmpichf90_gnu_47.so.1 = /opt/cray/lib64/libmpichf90_**gnu_47.so.1 (0x7f50d58da000) libmpl.so.0 = /opt/cray/lib64/libmpl.so.0 (0x7f50d56d5000) librt.so.1 = /lib64/librt.so.1 (0x7f50d54cb000) libxpmem.so.0 = /opt/cray/xpmem/default/lib64/**libxpmem.so.0 (0x7f50d52c9000) libdmapp.so.1 = /opt/cray/dmapp/default/lib64/**libdmapp.so.1 (0x7f50d5092000) libugni.so.0 = /opt/cray/ugni/default/lib64/**libugni.so.0 (0x7f50d4e72000) libpmi.so.0 = /opt/cray/pmi/default/lib64/**libpmi.so.0 (0x7f50d4c51000) libalpslli.so.0 = /usr/lib/alps/libalpslli.so.0 (0x7f50d4a4e000) libalpsutil.so.0 = /usr/lib/alps/libalpsutil.so.0 (0x7f50d4849000) libudreg.so.0 = /opt/cray/udreg/default/lib64/**libudreg.so.0 (0x7f50d4641000) libgomp.so.1 = /opt/gcc/4.7.2/snos/lib64/**libgomp.so.1 (0x7f50d4432000) libc.so.6 = /lib64/libc.so.6 (0x7f50d40d3000) libgcc_s.so.1 = /opt/gcc/4.7.2/snos/lib64/**libgcc_s.so.1 (0x7f50d3ebd000) /lib/ld64.so.1 = /lib64/ld-linux-x86-64.so.2 (0x7f50dc812000) libquadmath.so.0 = /opt/gcc/4.7.2/snos/lib64/**libquadmath.so.0 (0x7f50d3c87000) libcray_memcpy.so.0 = /opt/cray/lib64/libcray_**memcpy.so.0 (0x7f50d3a84000) libopa.so.1 = /opt/cray/lib64/libopa.so.1 (0x7f50d3882000) librca.so.0 = /opt/cray/rca/default/lib64/**librca.so.0 (0x7f50d367d000) libdl.so.2 = /lib64/libdl.so.2 (0x7f50d3479000) Any ideas? Andy ==**=== Dr Andrew R. Turner e: a.tur...@epcc.ed.ac.uk skype: aturner-epcc t: +44 (0)131 651 3578 p: EPCC, University of Edinburgh EH9 3JZ
Re: [gmx-users] GROMACS 4.6.3 Static Linking
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.abra...@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.tur...@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 vvcha...@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.tur...@epcc.ed.ac.ukwrote: 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.phphttp://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@hector-xe6-5:~/4.6.3-**phase3/bin ldd grompp linux-vdso.so.1 = (0x7fff00da2000) libm.so.6 = /lib64/libm.so.6 (0x7f50dc58f000) libpthread.so.0 = /lib64/libpthread.so.0 (0x7f50dc371000) libAtpSigHandler.so.0 = /opt/cray/lib64/**libAtpSigHandler.so.0 (0x7f50dc16b000) libgfortran.so.3 = /opt/gcc/4.7.2/snos/lib64/**libgfortran.so.3 (0x7f50dbe54000) libscicpp_gnu.so.2 = /opt/cray/lib64/libscicpp_gnu.**so.2 (0x7f50dbc4a000) libsci_gnu_mp.so.2 = /opt/cray/lib64/libsci_gnu_mp.**so.2 (0x7f50d72ec000) libstdc++.so.6 = /opt/gcc/4.7.2/snos/lib64/**libstdc++.so.6 (0x7f50d6fdf000) libfftw3_mpi.so.3 = /opt/cray/lib64/libfftw3_mpi.**so.3 (0x7f50d6dc6000) libfftw3f_mpi.so.3 = /opt/cray/lib64/libfftw3f_mpi.**so.3 (0x7f50d6bae000) libfftw3_threads.so.3 = /opt/cray/lib64/libfftw3_**threads.so.3 (0x7f50d69a6000) libfftw3f_threads.so.3 = /opt/cray/lib64/libfftw3f_**threads.so.3 (0x7f50d679d000) libfftw3.so.3 = /opt/cray/lib64/libfftw3.so.3 (0x7f50d63a2000) libfftw3f.so.3 = /opt/cray/lib64/libfftw3f.so.3 (0x7f50d5f7c000) libmpich_gnu_47.so.1 = /opt/cray/lib64/libmpich_gnu_**47.so.1 (0x7f50d5add000) libmpichf90_gnu_47.so.1 = /opt/cray/lib64/libmpichf90_**gnu_47.so.1 (0x7f50d58da000) libmpl.so.0 = /opt/cray/lib64/libmpl.so.0 (0x7f50d56d5000) librt.so.1 = /lib64/librt.so.1 (0x7f50d54cb000) libxpmem.so.0 = /opt/cray/xpmem/default/lib64/**libxpmem.so.0 (0x7f50d52c9000) libdmapp.so.1 = /opt/cray/dmapp/default/lib64/**libdmapp.so.1 (0x7f50d5092000) libugni.so.0 = /opt/cray/ugni/default/lib64/**libugni.so.0 (0x7f50d4e72000) libpmi.so.0 = /opt/cray/pmi/default/lib64/**libpmi.so.0 (0x7f50d4c51000) libalpslli.so.0 = /usr/lib/alps/libalpslli.so.0 (0x7f50d4a4e000) libalpsutil.so.0 = /usr/lib/alps/libalpsutil.so.0 (0x7f50d4849000) libudreg.so.0 = /opt/cray/udreg/default/lib64/**libudreg.so.0 (0x7f50d4641000) libgomp.so.1 = /opt/gcc/4.7.2/snos/lib64/**libgomp.so.1 (0x7f50d4432000) libc.so.6 = /lib64/libc.so.6 (0x7f50d40d3000) libgcc_s.so.1 = /opt/gcc/4.7.2/snos/lib64/**libgcc_s.so.1 (0x7f50d3ebd000) /lib/ld64.so.1 = /lib64/ld-linux-x86-64.so.2 (0x7f50dc812000) libquadmath.so.0 = /opt/gcc/4.7.2/snos/lib64/**libquadmath.so.0 (0x7f50d3c87000) libcray_memcpy.so.0 = /opt/cray/lib64/libcray_**memcpy.so.0 (0x7f50d3a84000) libopa.so.1 = /opt/cray/lib64/libopa.so.1 (0x7f50d3882000) librca.so.0 =
Re: [gmx-users] GROMACS 4.6.3 Static Linking
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. Mark On Thu, Jul 25, 2013 at 4:21 PM, Andrew R Turner a.tur...@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.abra...@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.tur...@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 vvcha...@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.tur...@epcc.ed.ac.ukwrote: 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.phphttp://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@hector-xe6-5:~/4.6.3-**phase3/bin ldd grompp linux-vdso.so.1 = (0x7fff00da2000) libm.so.6 = /lib64/libm.so.6 (0x7f50dc58f000) libpthread.so.0 = /lib64/libpthread.so.0 (0x7f50dc371000) libAtpSigHandler.so.0 = /opt/cray/lib64/**libAtpSigHandler.so.0 (0x7f50dc16b000) libgfortran.so.3 = /opt/gcc/4.7.2/snos/lib64/**libgfortran.so.3 (0x7f50dbe54000) libscicpp_gnu.so.2 = /opt/cray/lib64/libscicpp_gnu.**so.2 (0x7f50dbc4a000) libsci_gnu_mp.so.2 = /opt/cray/lib64/libsci_gnu_mp.**so.2 (0x7f50d72ec000) libstdc++.so.6 = /opt/gcc/4.7.2/snos/lib64/**libstdc++.so.6 (0x7f50d6fdf000) libfftw3_mpi.so.3 = /opt/cray/lib64/libfftw3_mpi.**so.3 (0x7f50d6dc6000) libfftw3f_mpi.so.3 = /opt/cray/lib64/libfftw3f_mpi.**so.3 (0x7f50d6bae000) libfftw3_threads.so.3 = /opt/cray/lib64/libfftw3_**threads.so.3 (0x7f50d69a6000) libfftw3f_threads.so.3 = /opt/cray/lib64/libfftw3f_**threads.so.3 (0x7f50d679d000) libfftw3.so.3 = /opt/cray/lib64/libfftw3.so.3 (0x7f50d63a2000) libfftw3f.so.3 = /opt/cray/lib64/libfftw3f.so.3 (0x7f50d5f7c000) libmpich_gnu_47.so.1 = /opt/cray/lib64/libmpich_gnu_**47.so.1 (0x7f50d5add000) libmpichf90_gnu_47.so.1 = /opt/cray/lib64/libmpichf90_**gnu_47.so.1 (0x7f50d58da000) libmpl.so.0 = /opt/cray/lib64/libmpl.so.0 (0x7f50d56d5000) librt.so.1 = /lib64/librt.so.1 (0x7f50d54cb000) libxpmem.so.0 = /opt/cray/xpmem/default/lib64/**libxpmem.so.0 (0x7f50d52c9000) libdmapp.so.1 = /opt/cray/dmapp/default/lib64/**libdmapp.so.1 (0x7f50d5092000) libugni.so.0 = /opt/cray/ugni/default/lib64/**libugni.so.0 (0x7f50d4e72000) libpmi.so.0 = /opt/cray/pmi/default/lib64/**libpmi.so.0 (0x7f50d4c51000) libalpslli.so.0 = /usr/lib/alps/libalpslli.so.0 (0x7f50d4a4e000) libalpsutil.so.0 = /usr/lib/alps/libalpsutil.so.0 (0x7f50d4849000) libudreg.so.0 = /opt/cray/udreg/default/lib64/**libudreg.so.0 (0x7f50d4641000) libgomp.so.1 = /opt/gcc/4.7.2/snos/lib64/**libgomp.so.1 (0x7f50d4432000) libc.so.6 = /lib64/libc.so.6 (0x7f50d40d3000) libgcc_s.so.1 = /opt/gcc/4.7.2/snos/lib64/**libgcc_s.so.1
Re: [gmx-users] GROMACS 4.6.3 Static Linking
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 vvcha...@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.tur...@epcc.ed.ac.ukwrote: 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.phphttp://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@hector-xe6-5:~/4.6.3-**phase3/bin ldd grompp linux-vdso.so.1 = (0x7fff00da2000) libm.so.6 = /lib64/libm.so.6 (0x7f50dc58f000) libpthread.so.0 = /lib64/libpthread.so.0 (0x7f50dc371000) libAtpSigHandler.so.0 = /opt/cray/lib64/**libAtpSigHandler.so.0 (0x7f50dc16b000) libgfortran.so.3 = /opt/gcc/4.7.2/snos/lib64/**libgfortran.so.3 (0x7f50dbe54000) libscicpp_gnu.so.2 = /opt/cray/lib64/libscicpp_gnu.**so.2 (0x7f50dbc4a000) libsci_gnu_mp.so.2 = /opt/cray/lib64/libsci_gnu_mp.**so.2 (0x7f50d72ec000) libstdc++.so.6 = /opt/gcc/4.7.2/snos/lib64/**libstdc++.so.6 (0x7f50d6fdf000) libfftw3_mpi.so.3 = /opt/cray/lib64/libfftw3_mpi.**so.3 (0x7f50d6dc6000) libfftw3f_mpi.so.3 = /opt/cray/lib64/libfftw3f_mpi.**so.3 (0x7f50d6bae000) libfftw3_threads.so.3 = /opt/cray/lib64/libfftw3_**threads.so.3 (0x7f50d69a6000) libfftw3f_threads.so.3 = /opt/cray/lib64/libfftw3f_**threads.so.3 (0x7f50d679d000) libfftw3.so.3 = /opt/cray/lib64/libfftw3.so.3 (0x7f50d63a2000) libfftw3f.so.3 = /opt/cray/lib64/libfftw3f.so.3 (0x7f50d5f7c000) libmpich_gnu_47.so.1 = /opt/cray/lib64/libmpich_gnu_**47.so.1 (0x7f50d5add000) libmpichf90_gnu_47.so.1 = /opt/cray/lib64/libmpichf90_**gnu_47.so.1 (0x7f50d58da000) libmpl.so.0 = /opt/cray/lib64/libmpl.so.0 (0x7f50d56d5000) librt.so.1 = /lib64/librt.so.1 (0x7f50d54cb000) libxpmem.so.0 = /opt/cray/xpmem/default/lib64/**libxpmem.so.0 (0x7f50d52c9000) libdmapp.so.1 = /opt/cray/dmapp/default/lib64/**libdmapp.so.1 (0x7f50d5092000) libugni.so.0 = /opt/cray/ugni/default/lib64/**libugni.so.0 (0x7f50d4e72000) libpmi.so.0 = /opt/cray/pmi/default/lib64/**libpmi.so.0 (0x7f50d4c51000) libalpslli.so.0 = /usr/lib/alps/libalpslli.so.0 (0x7f50d4a4e000) libalpsutil.so.0 = /usr/lib/alps/libalpsutil.so.0 (0x7f50d4849000) libudreg.so.0 = /opt/cray/udreg/default/lib64/**libudreg.so.0 (0x7f50d4641000) libgomp.so.1 = /opt/gcc/4.7.2/snos/lib64/**libgomp.so.1 (0x7f50d4432000) libc.so.6 = /lib64/libc.so.6 (0x7f50d40d3000) libgcc_s.so.1 = /opt/gcc/4.7.2/snos/lib64/**libgcc_s.so.1 (0x7f50d3ebd000) /lib/ld64.so.1 = /lib64/ld-linux-x86-64.so.2 (0x7f50dc812000) libquadmath.so.0 = /opt/gcc/4.7.2/snos/lib64/**libquadmath.so.0 (0x7f50d3c87000) libcray_memcpy.so.0 = /opt/cray/lib64/libcray_**memcpy.so.0 (0x7f50d3a84000) libopa.so.1 = /opt/cray/lib64/libopa.so.1 (0x7f50d3882000) librca.so.0 = /opt/cray/rca/default/lib64/**librca.so.0 (0x7f50d367d000) libdl.so.2 = /lib64/libdl.so.2 (0x7f50d3479000) Any ideas? Andy ==**=== Dr Andrew R. Turner e: a.tur...@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 listgmx-users@gromacs.org http://lists.gromacs.org/**mailman/listinfo/gmx-usershttp://lists.gromacs.org/mailman/listinfo/gmx-users * Please search the archive at http://www.gromacs.org/**
Re: [gmx-users] GROMACS 4.6.3 Static Linking
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.tur...@epcc.ed.ac.ukwrote: 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.phphttp://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@hector-xe6-5:~/4.6.3-**phase3/bin ldd grompp linux-vdso.so.1 = (0x7fff00da2000) libm.so.6 = /lib64/libm.so.6 (0x7f50dc58f000) libpthread.so.0 = /lib64/libpthread.so.0 (0x7f50dc371000) libAtpSigHandler.so.0 = /opt/cray/lib64/**libAtpSigHandler.so.0 (0x7f50dc16b000) libgfortran.so.3 = /opt/gcc/4.7.2/snos/lib64/**libgfortran.so.3 (0x7f50dbe54000) libscicpp_gnu.so.2 = /opt/cray/lib64/libscicpp_gnu.**so.2 (0x7f50dbc4a000) libsci_gnu_mp.so.2 = /opt/cray/lib64/libsci_gnu_mp.**so.2 (0x7f50d72ec000) libstdc++.so.6 = /opt/gcc/4.7.2/snos/lib64/**libstdc++.so.6 (0x7f50d6fdf000) libfftw3_mpi.so.3 = /opt/cray/lib64/libfftw3_mpi.**so.3 (0x7f50d6dc6000) libfftw3f_mpi.so.3 = /opt/cray/lib64/libfftw3f_mpi.**so.3 (0x7f50d6bae000) libfftw3_threads.so.3 = /opt/cray/lib64/libfftw3_**threads.so.3 (0x7f50d69a6000) libfftw3f_threads.so.3 = /opt/cray/lib64/libfftw3f_**threads.so.3 (0x7f50d679d000) libfftw3.so.3 = /opt/cray/lib64/libfftw3.so.3 (0x7f50d63a2000) libfftw3f.so.3 = /opt/cray/lib64/libfftw3f.so.3 (0x7f50d5f7c000) libmpich_gnu_47.so.1 = /opt/cray/lib64/libmpich_gnu_**47.so.1 (0x7f50d5add000) libmpichf90_gnu_47.so.1 = /opt/cray/lib64/libmpichf90_**gnu_47.so.1 (0x7f50d58da000) libmpl.so.0 = /opt/cray/lib64/libmpl.so.0 (0x7f50d56d5000) librt.so.1 = /lib64/librt.so.1 (0x7f50d54cb000) libxpmem.so.0 = /opt/cray/xpmem/default/lib64/**libxpmem.so.0 (0x7f50d52c9000) libdmapp.so.1 = /opt/cray/dmapp/default/lib64/**libdmapp.so.1 (0x7f50d5092000) libugni.so.0 = /opt/cray/ugni/default/lib64/**libugni.so.0 (0x7f50d4e72000) libpmi.so.0 = /opt/cray/pmi/default/lib64/**libpmi.so.0 (0x7f50d4c51000) libalpslli.so.0 = /usr/lib/alps/libalpslli.so.0 (0x7f50d4a4e000) libalpsutil.so.0 = /usr/lib/alps/libalpsutil.so.0 (0x7f50d4849000) libudreg.so.0 = /opt/cray/udreg/default/lib64/**libudreg.so.0 (0x7f50d4641000) libgomp.so.1 = /opt/gcc/4.7.2/snos/lib64/**libgomp.so.1 (0x7f50d4432000) libc.so.6 = /lib64/libc.so.6 (0x7f50d40d3000) libgcc_s.so.1 = /opt/gcc/4.7.2/snos/lib64/**libgcc_s.so.1 (0x7f50d3ebd000) /lib/ld64.so.1 = /lib64/ld-linux-x86-64.so.2 (0x7f50dc812000) libquadmath.so.0 = /opt/gcc/4.7.2/snos/lib64/**libquadmath.so.0 (0x7f50d3c87000) libcray_memcpy.so.0 = /opt/cray/lib64/libcray_**memcpy.so.0 (0x7f50d3a84000) libopa.so.1 = /opt/cray/lib64/libopa.so.1 (0x7f50d3882000) librca.so.0 = /opt/cray/rca/default/lib64/**librca.so.0 (0x7f50d367d000) libdl.so.2 = /lib64/libdl.so.2 (0x7f50d3479000) Any ideas? Andy ==**=== Dr Andrew R. Turner e: a.tur...@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 listgmx-users@gromacs.org http://lists.gromacs.org/**mailman/listinfo/gmx-usershttp://lists.gromacs.org/mailman/listinfo/gmx-users * Please search the archive at http://www.gromacs.org/** Support/Mailing_Lists/Searchhttp://www.gromacs.org/Support/Mailing_Lists/Searchbefore posting! * Please don't post (un)subscribe requests to the list. Use thewww interface or send it to gmx-users-requ...@gromacs.org. * Can't post? Read http://www.gromacs.org/**Support/Mailing_Listshttp://www.gromacs.org/Support/Mailing_Lists -- gmx-users mailing listgmx-users@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
[gmx-users] GROMACS 4.6.3 Static Linking
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 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@hector-xe6-5:~/4.6.3-phase3/bin ldd grompp linux-vdso.so.1 = (0x7fff00da2000) libm.so.6 = /lib64/libm.so.6 (0x7f50dc58f000) libpthread.so.0 = /lib64/libpthread.so.0 (0x7f50dc371000) libAtpSigHandler.so.0 = /opt/cray/lib64/libAtpSigHandler.so.0 (0x7f50dc16b000) libgfortran.so.3 = /opt/gcc/4.7.2/snos/lib64/libgfortran.so.3 (0x7f50dbe54000) libscicpp_gnu.so.2 = /opt/cray/lib64/libscicpp_gnu.so.2 (0x7f50dbc4a000) libsci_gnu_mp.so.2 = /opt/cray/lib64/libsci_gnu_mp.so.2 (0x7f50d72ec000) libstdc++.so.6 = /opt/gcc/4.7.2/snos/lib64/libstdc++.so.6 (0x7f50d6fdf000) libfftw3_mpi.so.3 = /opt/cray/lib64/libfftw3_mpi.so.3 (0x7f50d6dc6000) libfftw3f_mpi.so.3 = /opt/cray/lib64/libfftw3f_mpi.so.3 (0x7f50d6bae000) libfftw3_threads.so.3 = /opt/cray/lib64/libfftw3_threads.so.3 (0x7f50d69a6000) libfftw3f_threads.so.3 = /opt/cray/lib64/libfftw3f_threads.so.3 (0x7f50d679d000) libfftw3.so.3 = /opt/cray/lib64/libfftw3.so.3 (0x7f50d63a2000) libfftw3f.so.3 = /opt/cray/lib64/libfftw3f.so.3 (0x7f50d5f7c000) libmpich_gnu_47.so.1 = /opt/cray/lib64/libmpich_gnu_47.so.1 (0x7f50d5add000) libmpichf90_gnu_47.so.1 = /opt/cray/lib64/libmpichf90_gnu_47.so.1 (0x7f50d58da000) libmpl.so.0 = /opt/cray/lib64/libmpl.so.0 (0x7f50d56d5000) librt.so.1 = /lib64/librt.so.1 (0x7f50d54cb000) libxpmem.so.0 = /opt/cray/xpmem/default/lib64/libxpmem.so.0 (0x7f50d52c9000) libdmapp.so.1 = /opt/cray/dmapp/default/lib64/libdmapp.so.1 (0x7f50d5092000) libugni.so.0 = /opt/cray/ugni/default/lib64/libugni.so.0 (0x7f50d4e72000) libpmi.so.0 = /opt/cray/pmi/default/lib64/libpmi.so.0 (0x7f50d4c51000) libalpslli.so.0 = /usr/lib/alps/libalpslli.so.0 (0x7f50d4a4e000) libalpsutil.so.0 = /usr/lib/alps/libalpsutil.so.0 (0x7f50d4849000) libudreg.so.0 = /opt/cray/udreg/default/lib64/libudreg.so.0 (0x7f50d4641000) libgomp.so.1 = /opt/gcc/4.7.2/snos/lib64/libgomp.so.1 (0x7f50d4432000) libc.so.6 = /lib64/libc.so.6 (0x7f50d40d3000) libgcc_s.so.1 = /opt/gcc/4.7.2/snos/lib64/libgcc_s.so.1 (0x7f50d3ebd000) /lib/ld64.so.1 = /lib64/ld-linux-x86-64.so.2 (0x7f50dc812000) libquadmath.so.0 = /opt/gcc/4.7.2/snos/lib64/libquadmath.so.0 (0x7f50d3c87000) libcray_memcpy.so.0 = /opt/cray/lib64/libcray_memcpy.so.0 (0x7f50d3a84000) libopa.so.1 = /opt/cray/lib64/libopa.so.1 (0x7f50d3882000) librca.so.0 = /opt/cray/rca/default/lib64/librca.so.0 (0x7f50d367d000) libdl.so.2 = /lib64/libdl.so.2 (0x7f50d3479000) Any ideas? Andy = Dr Andrew R. Turner e: a.tur...@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 listgmx-users@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-requ...@gromacs.org. * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
Re: [gmx-users] GROMACS 4.6.3 Static Linking
What does build_*/src/buildinfo.h have to say about the compiler flags that are getting used? Mark On Fri, Jul 19, 2013 at 12:55 PM, Andrew R Turner a.tur...@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 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@hector-xe6-5:~/4.6.3-phase3/bin ldd grompp linux-vdso.so.1 = (0x7fff00da2000) libm.so.6 = /lib64/libm.so.6 (0x7f50dc58f000) libpthread.so.0 = /lib64/libpthread.so.0 (0x7f50dc371000) libAtpSigHandler.so.0 = /opt/cray/lib64/libAtpSigHandler.so.0 (0x7f50dc16b000) libgfortran.so.3 = /opt/gcc/4.7.2/snos/lib64/libgfortran.so.3 (0x7f50dbe54000) libscicpp_gnu.so.2 = /opt/cray/lib64/libscicpp_gnu.so.2 (0x7f50dbc4a000) libsci_gnu_mp.so.2 = /opt/cray/lib64/libsci_gnu_mp.so.2 (0x7f50d72ec000) libstdc++.so.6 = /opt/gcc/4.7.2/snos/lib64/libstdc++.so.6 (0x7f50d6fdf000) libfftw3_mpi.so.3 = /opt/cray/lib64/libfftw3_mpi.so.3 (0x7f50d6dc6000) libfftw3f_mpi.so.3 = /opt/cray/lib64/libfftw3f_mpi.so.3 (0x7f50d6bae000) libfftw3_threads.so.3 = /opt/cray/lib64/libfftw3_threads.so.3 (0x7f50d69a6000) libfftw3f_threads.so.3 = /opt/cray/lib64/libfftw3f_threads.so.3 (0x7f50d679d000) libfftw3.so.3 = /opt/cray/lib64/libfftw3.so.3 (0x7f50d63a2000) libfftw3f.so.3 = /opt/cray/lib64/libfftw3f.so.3 (0x7f50d5f7c000) libmpich_gnu_47.so.1 = /opt/cray/lib64/libmpich_gnu_47.so.1 (0x7f50d5add000) libmpichf90_gnu_47.so.1 = /opt/cray/lib64/libmpichf90_gnu_47.so.1 (0x7f50d58da000) libmpl.so.0 = /opt/cray/lib64/libmpl.so.0 (0x7f50d56d5000) librt.so.1 = /lib64/librt.so.1 (0x7f50d54cb000) libxpmem.so.0 = /opt/cray/xpmem/default/lib64/libxpmem.so.0 (0x7f50d52c9000) libdmapp.so.1 = /opt/cray/dmapp/default/lib64/libdmapp.so.1 (0x7f50d5092000) libugni.so.0 = /opt/cray/ugni/default/lib64/libugni.so.0 (0x7f50d4e72000) libpmi.so.0 = /opt/cray/pmi/default/lib64/libpmi.so.0 (0x7f50d4c51000) libalpslli.so.0 = /usr/lib/alps/libalpslli.so.0 (0x7f50d4a4e000) libalpsutil.so.0 = /usr/lib/alps/libalpsutil.so.0 (0x7f50d4849000) libudreg.so.0 = /opt/cray/udreg/default/lib64/libudreg.so.0 (0x7f50d4641000) libgomp.so.1 = /opt/gcc/4.7.2/snos/lib64/libgomp.so.1 (0x7f50d4432000) libc.so.6 = /lib64/libc.so.6 (0x7f50d40d3000) libgcc_s.so.1 = /opt/gcc/4.7.2/snos/lib64/libgcc_s.so.1 (0x7f50d3ebd000) /lib/ld64.so.1 = /lib64/ld-linux-x86-64.so.2 (0x7f50dc812000) libquadmath.so.0 = /opt/gcc/4.7.2/snos/lib64/libquadmath.so.0 (0x7f50d3c87000) libcray_memcpy.so.0 = /opt/cray/lib64/libcray_memcpy.so.0 (0x7f50d3a84000) libopa.so.1 = /opt/cray/lib64/libopa.so.1 (0x7f50d3882000) librca.so.0 = /opt/cray/rca/default/lib64/librca.so.0 (0x7f50d367d000) libdl.so.2 = /lib64/libdl.so.2 (0x7f50d3479000) Any ideas? Andy = Dr Andrew R. Turner e: a.tur...@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 listgmx-users@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-requ...@gromacs.org. * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists -- gmx-users mailing listgmx-users@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-requ...@gromacs.org. * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
Re: [gmx-users] GROMACS 4.6.3 Static Linking
Hi Mark, What does build_*/src/buildinfo.h have to say about the compiler flags that are getting used? /** C compiler flags used to build */ #define BUILD_CFLAGS-msse2-Wextra -Wno-missing-field-initializers -Wno-sign-compare -Wall -Wno-unused -Wunused-value -static -O3 -ftree-ve ctorize -ffast-math -funroll-loops -fomit-frame-pointer -funroll-all-loops -fexcess-precision=fast -O3 -DNDEBUG Cheers Andy = Dr Andrew R. Turner e: a.tur...@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 listgmx-users@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-requ...@gromacs.org. * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists