[gmx-users] gromacs 4.6.7 plumed -Segmentation fault

Ana Marija sokovic.anamarija at gmail.com
Fri Oct 23 19:04:59 CEST 2015


thanks, I do I need to set?
export CFLAGS="-static"
export CXXFLAGS="-static"

before cmake step?

On Fri, Oct 23, 2015 at 12:03 PM, Mark Abraham <mark.j.abraham at gmail.com>
wrote:

> Hi,
>
> I think -DGMX_BUILD_SHARED_EXE=off is supposed to handle this - see
> http://www.gromacs.org/Documentation/Installation_Instructions_5.0#static-linking.
> Or there are environment variables you can set that force the Cray tools to
> do dynamic vs static linking - check your local docs.
>
> As you can see on that Redmine, we're trying to get Cray to be useful
> solving these problems in a general way, but progress is slow :-(
>
> Mark
>
> On Fri, Oct 23, 2015 at 6:17 PM Ana Marija <sokovic.anamarija at gmail.com>
> wrote:
>
>> or should I do just this before cmake step?
>>
>> export CFLAGS="-static"
>> export CXXFLAGS="-static"
>>
>>
>>
>> On Fri, Oct 23, 2015 at 11:12 AM, Ana Marija <sokovic.anamarija at gmail.com
>> > wrote:
>>
>>> the above was reported here as a bug, but I am not sure where and how
>>> should I put this flag: CFLAGS=CXXFLAGS=-static
>>>
>>> http://redmine.gromacs.org/issues/1641
>>>
>>> does is just go under cmake like: -DCFLAGS=CXXFLAGS=-static or?
>>>
>>> On Fri, Oct 23, 2015 at 10:51 AM, Ana Marija <
>>> sokovic.anamarija at gmail.com> wrote:
>>>
>>>> HI Everybody,
>>>>
>>>> I got cmake/3.3.2 installed so I decided to install gromacs 5.0.4 with
>>>> plumed 2.2.0
>>>>
>>>> but I got this error during "make" step of gromacs:
>>>>
>>>> 100%] Linking CXX executable ../../bin/gmx_mpi
>>>> /usr/lib/../lib64/librt.a(clock_gettime.o): In function
>>>> `hp_timing_gettime':
>>>> /usr/src/packages/BUILD/glibc-2.11.3/rt/../sysdeps/unix/clock_gettime.c:65:
>>>> undefined reference to `_dl_cpuclock_offset'
>>>> collect2: error: ld returned 1 exit status
>>>> make[2]: *** [bin/gmx_mpi] Error 1
>>>> make[1]: *** [src/programs/CMakeFiles/gmx.dir/all] Error 2
>>>>
>>>> my recipe is bellow and I am doing this on Cray XE6 machine, please let
>>>> me know what I can be doing wrong:
>>>>
>>>> module swap PrgEnv-cray PrgEnv-gnu
>>>> module load fftw/3.3.4.0
>>>> module load cray-mpich/7.0.5
>>>> module load gsl/1.15
>>>> module load cmake
>>>> #in /lustre/beagle2/ams/new/gromacs make directory lib2
>>>>
>>>> mkdir lib2
>>>>
>>>> ams at login1:/lustre/beagle2/ams/lib2>ln -s
>>>> /opt/cray/libsci/13.0.1/GNU/49/abudhabi/lib/libsci_gnu.a libblas.a
>>>> ams at login1:/lustre/beagle2/ams/lib2>ln -s
>>>> /opt/cray/libsci/13.0.1/GNU/49/abudhabi/lib/libsci_gnu.a liblapack.a
>>>>
>>>> #download it from here: http://www.plumed-code.org/get-it
>>>> tar zxvf plumed-2.2.0.tgz
>>>> cd plumed-2.2.0
>>>>
>>>> ./configure CC=cc CXX=CC F77=ftn
>>>> LDFLAGS="-L/lustre/beagle2/ams/new/gromacs/lib2"
>>>> --prefix=/lustre/beagle2/ams/new/gromacs/plumed-2.2.0 --enable-mpi
>>>> --disable-basic-warnings --disable-openmp
>>>>
>>>> <strong>###Makefile.conf should look like this, if not please delete
>>>> all extra stuff before proceeding to make step</strong>
>>>> CC=cc
>>>> FC=gfortran
>>>> LDF90=gfortran
>>>> CFLAGS=-g -O2 -fPIC
>>>> CXX=CC
>>>> CXXFLAGS=-O -fPIC
>>>> CXXFLAGS_NOOPENMP=-O -fPIC
>>>> CPPFLAGS= -DPACKAGE_NAME=\"PLUMED\" -DPACKAGE_TARNAME=\"plumed\"
>>>> -DPACKAGE_VERSION=\"2\" -DPACKAGE_STRING=\"PLUMED\ 2\"
>>>> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1
>>>> -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
>>>> -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
>>>> -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__PLUMED_HAS_EXTERNAL_BLAS=1
>>>> -D__PLUMED_HAS_EXTERNAL_LAPACK=1 -D__PLUMED_HAS_MOLFILE_PLUGINS=1
>>>> -D__PLUMED_HAS_MPI=1 -D__PLUMED_HAS_CLOCK_GETTIME=1
>>>> -D__PLUMED_HAS_GETTIMEOFDAY=1 -D__PLUMED_HAS_READDIR_R=1
>>>> -D__PLUMED_HAS_CREGEX=1 -D__PLUMED_HAS_DLOPEN=1 -D__PLUMED_HAS_EXECINFO=1
>>>> -D__PLUMED_HAS_ZLIB=1 -DNDEBUG=1 -D_REENTRANT=1
>>>> LDFLAGS=
>>>> DYNAMIC_LIBS=-lstdc++ -lz -ldl  -L/lustre/beagle2/ams/new/gromacs/lib2
>>>> LIBS=-ldl
>>>> SOEXT=
>>>> LD=CC
>>>> LDSO=CC -shared
>>>> GCCDEP=CC
>>>> prefix=/lustre/beagle2/ams/new/gromacs/plumed-2.2.0
>>>> program_transform_name=s,x,x,
>>>> program_can_run_mpi=yes
>>>> program_can_run=yes
>>>> LD_RO=ld -r -o
>>>> exec_prefix=${prefix}
>>>> bindir=${exec_prefix}/bin
>>>> libdir=${exec_prefix}/lib
>>>> includedir=${prefix}/include
>>>> datarootdir=${prefix}/share
>>>> datadir=${datarootdir}
>>>> docdir=${datarootdir}/doc/plumed
>>>> htmldir=${docdir}
>>>> program_name=plumed
>>>> ###
>>>>
>>>> make
>>>> make install
>>>>
>>>> export PATH=/lustre/beagle2/ams/new/gromacs/plumed-2.2.0/bin:$PATH
>>>>
>>>> #1. Make a directory for modulefiles (e.g.
>>>> /lustre/beagle2/ams/new/modulefiles/)
>>>> #2. Copy file: cp
>>>> /lustre/beagle2/ams/new/gromacs/plumed-2.2.0/lib/plumed/modulefile
>>>> /lustre/beagle2/ams/new/modulefiles/plumed/2.2.0/
>>>> #3. type "module use /lustre/beagle2/ams/new/modulefiles/"
>>>> #4. type "module load plumed/2.2.0"
>>>>
>>>> export PATH=/lustre/beagle2/ams/new/gromacs/plumed-2.2.0/bin:$PATH
>>>> module use /lustre/beagle2/ams/new/modulefiles/
>>>> module load plumed/2.2.0
>>>>
>>>> ### instal gromacs-5.0.4
>>>> wget ftp://ftp.gromacs.org/pub/gromacs/gromacs-5.0.4.tar.gz
>>>> tar zxvf gromacs-5.0.4.tar.gz
>>>> cd gromacs-5.0.4/
>>>> ams at login1:/lustre/beagle2/ams/new/gromacs/gromacs-5.0.4>plumed-patch
>>>> -p --static
>>>>
>>>>
>>>> PLUMED patching tool
>>>>
>>>> 1) amber14        4) gromacs-5.0.4    7) namd-2.8
>>>> 2) gromacs-4.5.7    5) gromacs-5.1.0    8) namd-2.9
>>>> 3) gromacs-4.6.7    6) lammps-6Apr13    9) qespresso-5.0.2
>>>>
>>>> Choose the best matching code/version:4
>>>>
>>>> mkdir build
>>>> cd build
>>>>
>>>>
>>>> export BUILD_WITH_INSTALL_RPATH=TRUE
>>>> export INSTALL_RPATH=""
>>>> export SKIP_BUILD_RPATH=TRUE
>>>> export
>>>> CMAKE_LIBRARY_PATH="/lustre/beagle2/ams/new/gromacs/lib:$CMAKE_LIBRARY_PATH"
>>>>
>>>> #in /lustre/beagle2/ams/new/gromacs make directory lib
>>>>
>>>> ams at login1:/lustre/beagle2/ams/new/gromacs/lib>ln -s
>>>> /opt/cray/libsci/13.0.1/GNU/49/abudhabi/lib/libsci_gnu.a libblas.a
>>>> ams at login1:/lustre/beagle2/ams/new/gromacs/lib>ln -s
>>>> /opt/cray/libsci/13.0.1/GNU/49/abudhabi/lib/libsci_gnu.a liblapack.a
>>>>
>>>> cd /lustre/beagle2/ams/new/gromacs/gromacs-5.0.4/build
>>>>
>>>> cmake ../ -DFFTWF_INCLUDE_DIR=/opt/fftw/3.3.4.0/abudhabi/include
>>>> -DFFTWF_LIBRARY=/opt/fftw/3.3.4.0/abudhabi/lib/libfftw3f.a
>>>> -DMPI_LIBRARY="/opt/cray/mpt/7.0.5/gni/mpich2-gnu/49/lib/libmpich.a;/opt/cray/mpt/7.0.5/gni/mpich2-gnu/49/lib/libfmpich_gnu_49.a;/opt/cray/mpt/7.0.5/gni/mpich2-gnu/49/lib/libmpl.a;/opt/cray/pmi/default/lib64/libpmi.a;/opt/cray/rca/default/lib64/librca.a;/opt/gcc/4.9.2/snos/lib64/libgfortran.a;/opt/gcc/4.9.2/snos/lib64/libstdc++.a;/opt/cray/alps/default/lib64/libalpslli.a;/opt/cray/alps/default/lib64/libalpsutil.a;/opt/gcc/4.9.2/snos/lib64/libgomp.a;/opt/gcc/4.9.2/snos/lib64/libquadmath.a;/opt/cray/ugni/default/lib64/libugni.a;/opt/cray/udreg/default/lib64/libudreg.a;/opt/cray/xpmem/default/lib64/libxpmem.a;/opt/cray/wlm_detect/default/lib64/libwlm_detect.a;/lib64/libdl.so.2"
>>>> -DMPI_INCLUDE_PATH="/opt/cray/mpt/7.0.5/gni/mpich2-gnu/49/include"
>>>> -DCMAKE_CXX_COMPILER=CC -DCMAKE_C_COMPILER=cc -DGMX_FORCE_CXX=ON
>>>> -DGMX_DOUBLE=OFF -DGMX_PREFER_STATIC_LIBS=ON -DGMX_GPU=OFF -DGMX_MPI=ON
>>>> -DCMAKE_INSTALL_PREFIX=/lustre/beagle2/ams/new/gromacs/gromacs-5.0.4/build
>>>> -DGMX_X11=OFF -DGMX_BLAS_USER=/lustre/beagle2/ams/new/gromacs/lib/libblas.a
>>>> -DGMX_LAPACK_USER=/lustre/beagle2/ams/new/gromacs/lib/liblapack.a
>>>> -DCMAKE_SKIP_RPATH=ON
>>>>
>>>>
>>>> make
>>>> make install
>>>>
>>>>
>>>>
>>>> On Thu, Oct 22, 2015 at 12:27 PM, Ana Marija <
>>>> sokovic.anamarija at gmail.com> wrote:
>>>>
>>>>> Thanks everybody for all your help!
>>>>>
>>>>> On Thu, Oct 22, 2015 at 12:20 PM, Mark Abraham <
>>>>> mark.j.abraham at gmail.com> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> On Thu, Oct 22, 2015 at 6:58 PM Ana Marija <
>>>>>> sokovic.anamarija at gmail.com> wrote:
>>>>>>
>>>>>>> I just tried to install it with:
>>>>>>> cmake ../ -DFFTWF_INCLUDE_DIR=/opt/fftw/3.3.4.0/abudhabi/include
>>>>>>> -DFFTWF_LIBRARY=/opt/fftw/3.3.4.0/abudhabi/lib/libfftw3f.a
>>>>>>> -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc -DGMX_DOUBLE=OFF
>>>>>>> -DGMX_GPU=OFF -DGMX_MPI=OFF
>>>>>>> -DCMAKE_INSTALL_PREFIX=/lustre/beagle2/ams/gro/gromacs-4.6.7/build
>>>>>>> -DGMX_X11=OFF
>>>>>>>
>>>>>>> but the error is the same as above.
>>>>>>>
>>>>>>
>>>>>> It can't be if you've done it properly. Use a new, empty build
>>>>>> directory.
>>>>>>
>>>>>>
>>>>>>> My goal with this installation (without cross compiler) was to use
>>>>>>> it to generate input files and than use another installation of gromacs
>>>>>>> compiled with cross compilers to complete the run. Where I would use the
>>>>>>> same version of gromacs  in both cases, 4.6.7. Can you please confirm me
>>>>>>> that this is acceptable approach?
>>>>>>>
>>>>>>
>>>>>> Yes, but needlessly complex. You can run grompp anywhere, copy the
>>>>>> file to the Cray, and use the resulting .tpr on the compute nodes, like I
>>>>>> said a while ago.
>>>>>>
>>>>>>
>>>>>>> The reason why I can't use newer version of gromacs is that I only
>>>>>>> have cmake 2.8.4 on this machine and it is impossible to install newer
>>>>>>> version of cmake because it is tied to gnu version we got from Cray etc.
>>>>>>>
>>>>>>
>>>>>> Perhaps Cray supplied a cmake, but it doesn't run on the compute
>>>>>> nodes, and has nothing at all to do with the back end compilers, and your
>>>>>> system admins can and should be willing to download and install a more
>>>>>> recent cmake for you and everybody else :-)
>>>>>>
>>>>>> Mark
>>>>>>
>>>>>>
>>>>>>> On Thu, Oct 22, 2015 at 11:51 AM, Szilárd Páll <sin.pecado at gmail.com
>>>>>>> > wrote:
>>>>>>>
>>>>>>>> On Thu, Oct 22, 2015 at 6:34 PM, Ana Marija <
>>>>>>>> sokovic.anamarija at gmail.com> wrote:
>>>>>>>>
>>>>>>>>> I installed it via:
>>>>>>>>> cmake ../ -DFFTWF_INCLUDE_DIR=/opt/fftw/3.3.4.0/abudhabi/include
>>>>>>>>> -DFFTWF_LIBRARY=/opt/fftw/3.3.4.0/abudhabi/lib/libfftw3f.a
>>>>>>>>> -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc -DGMX_DOUBLE=OFF
>>>>>>>>> -DGMX_PREFER_STATIC_LIBS=ON -DGMX_GPU=OFF -DGMX_MPI=OFF
>>>>>>>>> -DCMAKE_INSTALL_PREFIX=/lustre/beagle2/ams/gro/gromacs-4.6.7/build
>>>>>>>>> -DGMX_X11=OFF -DCMAKE_SKIP_RPATH=ON
>>>>>>>>>
>>>>>>>>> then I was running it on login nodes via:
>>>>>>>>>
>>>>>>>>> /lustre/beagle2/ams/gro/gromacs-4.6.7/build/bin/grompp -f
>>>>>>>>> /lustre/beagle2/ruisun/MYCO/Set-1/input/grompp.mdp -c
>>>>>>>>> /lustre/beagle2/ruisun/MYCO/Set-1/input/initial.gro -p
>>>>>>>>> /lustre/beagle2/ruisun/MYCO/Set-1/input/topol.top -n
>>>>>>>>> /lustre/beagle2/ruisun/MYCO/Set-1/input/index.ndx -o ttmeta1.tpr
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> but I didn't get .tpr file, and output was this:
>>>>>>>>> Back Off! I just backed up mdout.mdp to ./#mdout.mdp.2#
>>>>>>>>> Generated 1081 of the 1081 non-bonded parameter combinations
>>>>>>>>> Generating 1-4 interactions: fudge = 0.5
>>>>>>>>> Generated 994 of the 1081 1-4 parameter combinations
>>>>>>>>>
>>>>>>>>> -------------------------------------------------------
>>>>>>>>> Program grompp, VERSION 4.6.7
>>>>>>>>> Source code file:
>>>>>>>>> /lustre/beagle2/ams/gro/gromacs-4.6.7/src/kernel/toppush.c, line: 1803
>>>>>>>>>
>>>>>>>>> Fatal error:
>>>>>>>>> [ file tip3p.itp, line 39 ]:
>>>>>>>>> Atom index (1) in settles out of bounds (1-0).
>>>>>>>>> This probably means that you have inserted topology section
>>>>>>>>> "settles"
>>>>>>>>> in a part belonging to a different molecule than you intended to.
>>>>>>>>> In that case move the "settles" section to the right molecule.
>>>>>>>>>
>>>>>>>>> can you please advise what should I do in this situation?
>>>>>>>>>
>>>>>>>>
>>>>>>>> As Justin said, this isn't an issue with the GROMACS build anymore
>>>>>>>> (but rather with the inputs). So it seems that the original problem is
>>>>>>>> solved - unless you really need to run grompp on the compute nodes.
>>>>>>>>
>>>>>>>> BTW, I hope you know that 4.6.7 is a rather old and outdated
>>>>>>>> version; the 5.0 and 5.1 series has been released since and the former is
>>>>>>>> AFAIK supported by PLUMED!
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> --
>>>>>>>> Szilárd
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Thu, Oct 22, 2015 at 11:06 AM, Ana Marija <
>>>>>>>>> sokovic.anamarija at gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> so is it ok to try this?
>>>>>>>>>> cmake ../ -DFFTWF_INCLUDE_DIR=/opt/fftw/3.3.4.0/abudhabi/include
>>>>>>>>>> -DFFTWF_LIBRARY=/opt/fftw/3.3.4.0/abudhabi/lib/libfftw3f.a
>>>>>>>>>> -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc -DGMX_DOUBLE=OFF
>>>>>>>>>> -DGMX_PREFER_STATIC_LIBS=ON -DGMX_GPU=OFF -DGMX_MPI=OFF
>>>>>>>>>> -DCMAKE_INSTALL_PREFIX=/lustre/beagle2/ams/gro/gromacs-4.6.7/build
>>>>>>>>>> -DGMX_X11=OFF -DCMAKE_SKIP_RPATH=ON
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Thu, Oct 22, 2015 at 11:03 AM, Mark Abraham <
>>>>>>>>>> mark.j.abraham at gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> Your blas and lapack were compiled with gfortran, but in a way
>>>>>>>>>>> that they require that one links further dependencies to use them later on.
>>>>>>>>>>> So compile them better, or use dynamic linking.
>>>>>>>>>>>
>>>>>>>>>>> But 99.9% of GROMACS users do not need to get involved with
>>>>>>>>>>> this, so just leave GMX_BLAS_USER and GMX_BLAS_LAPACK unset and GROMACS
>>>>>>>>>>> will use its internal versions.
>>>>>>>>>>>
>>>>>>>>>>> Mark
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>
>>>>
>>>
>>


More information about the gromacs.org_gmx-users mailing list