[gmx-users] Problems installing gromacs 5.0.4 with plumed 2.1.2 for MPI

jkrieger at mrc-lmb.cam.ac.uk jkrieger at mrc-lmb.cam.ac.uk
Wed Jun 10 14:34:10 CEST 2015


ok thanks Mark. Thread closed I guess.

Here's the updated solution in case other users refer to this thread for
the same problem. I've also updated the plumed google group thread with
the same solution.

1. configure/make/install plumed with addition of -fPIC to CFLAGS in
Makefile.conf before making (plumed-2.1.2 appears to need to be built in
the src directory)

tar -xvzf plumed-2.1.2.tgz
mv plumed-2.1.2 plumed-2.1.2-src
mkdir plumed-2.1.2-install
cd plumed-2.1.2-src
./configure --prefix=/lmb/home/jkrieger/
bin/plumed-2.1.2-install/ CC=mpicc CXX=mpicxx
manually add -fPIC to CFLAGS in Makefile.conf (done using vi)
make VERBOSE=1 | & tee m.txt
make install VERBOSE=1 | & tee mi.txt
update PATH and LD_LIBRARY_PATH (added to ~/.login on my system and
applied by logging out and back in again)

2. patch plumed onto gromacs in --runtime mode (as per recommendation of GB)

cd ~/bin
cp -r gromacs-5.0.4-src/ gromacs-5.0.4-src-plumed/
mkdir gromacs-5.0.4-build-plumed
mkdir gromacs-5.0.4-install-plumed
cd gromacs-5.0.4-src-plumed/
plumed patch -p --runtime

3. configure/make/install gromacs with separate src/build/install
directories (as per recommendation of MA) with removal of duplicate
reference to Plumed.o from
build-dir/src/gromacs/CMakeFiles/libgromacs.dir/link.txt (as per
recommendation of GB)

cd ../gromacs-5.0.4-build-plumed
cmake -DGMX_MPI=ON ../gromacs-5.0.4-src-plumed/ -DGMX_BUILD_OWN_FFTW=ON
-DCMAKE_INSTALL_PREFIX=/lmb/home/jkrieger/bin/gromacs-5.0.4-install-plumed
-DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx
remove duplicate reference to Plumed.o from
build-dir/src/gromacs/CMakeFiles/libgromacs.dir/link.txt (again with vi)
make VERBOSE=1 | & tee m.txt
make install VERBOSE=1 | & tee mi.txt
update PATH and LD_LIBRARY_PATH (vi ~/.login, log out, log in again)

> Hi,
>
> That's why you use a wrapper compiler - if you run cmake and tell it to
> use
> the 1.8.5 wrapper compiler, you're good. But probably there will be no
> significant difference unless more recent MPI supports your network
> hardware better (in which case you should probably be using the MPI the
> sysadmins have set up).
>
> Mark
>
> On Wed, Jun 10, 2015 at 2:14 PM <jkrieger at mrc-lmb.cam.ac.uk> wrote:
>
>> Yes that fixed it. I now have an mpi-aware version that works.
>>
>> I realise this is perhaps a separate issue now but it would be good to
>> use
>> the latest compiler version. My default is openmpi-1.5.4 and I could get
>> openmpi-1.8.5 now. How would I go about setting up wrappers for that?
>>
>> Many thanks again
>> James
>>
>> > Firstly the problem of finding PLUMED is now fixed.
>> >
>> > I appear to also have a problem that my mdrun_mpi isn't mpi-aware but
>> > rather starts an individual mdrun process on each node requested. I
>> think
>> > this might be related to this bug
>> http://redmine.gromacs.org/issues/572
>> > and am trying whether using the mpicc and mpicxx wrappers fixes it.
>> >
>> >> Unfortunately it's still not working. mdrun_mpi gives me the
>> following
>> >> error:
>> >>
>> >> Fatal error:
>> >> Plumed is not available. Check your PLUMED_KERNEL variable.
>> >>
>> >> Any ideas what's wrong now?
>> >>
>> >>> Here is the solution. Thanks to both Giovanni Bussi and Mark Abraham
>> >>> for
>> >>> your help.
>> >>>
>> >>> 0. configure/make/install mpi compilers (separate src, build and
>> >>> install
>> >>> directories are used as suggested by MA)
>> >>>
>> >>> tar -xvzfc mpich-3.1.4.tar.gz mpich-3.1.4-src
>> >>> mkdir mpich-3.1.4-build
>> >>> mkdir mpich-3.1.4-install
>> >>> cd mpich-3.1.4-build
>> >>> ../mpich-3.1.4-src/configure
>> >>> --prefix=/lmb/home/jkrieger/bin/mpich-3.1.4-install | & tee c.txt
>> >>> make VERBOSE=1 | & tee m.txt
>> >>> make install VERBOSE=1 | & tee mi.txt
>> >>>
>> >>> 1. configure/make/install plumed with addition of -fPIC to CFLAGS in
>> >>> Makefile.conf before making (plumed-2.1.2 appears to need to be
>> built
>> >>> in
>> >>> the src directory)
>> >>>
>> >>> tar -xvzfc plumed-2.1.2.tgz plumed-2.1.2-src
>> >>> mkdir plumed-2.1.2-install
>> >>> cd plumed-2.1.2-src
>> >>> ./configure --prefix=/lmb/home/jkrieger/bin/plumed-2.1.2-install/
>> >>> CC=/lmb/home/jkrieger/bin/mpich-3.1.4-install/bin/mpicc
>> >>> CXX=/lmb/home/jkrieger/bin/mpich-3.1.4-install/bin/mpicxx
>> >>> manually add -fPIC to CFLAGS in Makefile.conf (done using vi)
>> >>> make VERBOSE=1 | & tee m.txt
>> >>> make install VERBOSE=1 | & tee mi.txt
>> >>> update PATH and LD_LIBRARY_PATH (added to ~/.login on my system and
>> >>> applied by logging out and back in again)
>> >>>
>> >>> 2. patch plumed onto gromacs in --runtime mode (as per
>> recommendation
>> >>> of
>> >>> GB)
>> >>>
>> >>> cd ~/bin
>> >>> cp -r gromacs-5.0.4-src/ gromacs-5.0.4-src-plumed/
>> >>> mkdir gromacs-5.0.4-build-plumed
>> >>> mkdir gromacs-5.0.4-install-plumed
>> >>> cd gromacs-5.0.4-src-plumed/
>> >>> plumed patch -p --runtime
>> >>>
>> >>> 3. configure/make/install gromacs with separate src/build/install
>> >>> directories (as per recommendation of MA) with removal of duplicate
>> >>> reference to Plumed.o from
>> >>> build-dir/src/gromacs/CMakeFiles/libgromacs.dir/link.txt (as per
>> >>> recommendation of GB)
>> >>>
>> >>> cd ../gromacs-5.0.4-build-plumed
>> >>> cmake -DGMX_MPI=ON ../gromacs-5.0.4-src-plumed/
>> -DGMX_BUILD_OWN_FFTW=ON
>> >>>
>> -DCMAKE_INSTALL_PREFIX=/lmb/home/jkrieger/bin/gromacs-5.0.4-install-plumed
>> >>> -DCMAKE_C_COMPILER=/lmb/home/jkrieger/bin/mpich-3.1.4-install/bin/mpicc
>> >>>
>> -DCMAKE_CXX_COMPILER=/lmb/home/jkrieger/bin/mpich-3.1.4-install/bin/mpicxx
>> >>> remove duplicate reference to Plumed.o from
>> >>> build-dir/src/gromacs/CMakeFiles/libgromacs.dir/link.txt (again with
>> >>> vi)
>> >>> make VERBOSE=1 | & tee m.txt
>> >>> make install VERBOSE=1 | & tee mi.txt
>> >>> update PATH and LD_LIBRARY_PATH (vi ~/.login, log out, log in again)
>> >>>
>> >>>> Thanks Mark. That seems to have worked. I will now try to do the
>> same
>> >>>> with
>> >>>> Plumed.
>> >>>>
>> >>>>> Hi Mark,
>> >>>>>
>> >>>>> I will try that and let you know what happens.
>> >>>>>
>> >>>>> Thanks
>> >>>>> James
>> >>>>>
>> >>>>>> Hi,
>> >>>>>>
>> >>>>>> If you're trying to install into your source or build directory,
>> >>>>>> don't
>> >>>>>> do
>> >>>>>> that. You also seem to be running mpich from its build directory,
>> >>>>>> which
>> >>>>>> might be asking for trouble also. Unpack source in one place.
>> Build
>> >>>>>> in
>> >>>>>> one
>> >>>>>> place, however that software prefers it. Install in yet another
>> >>>>>> place.
>> >>>>>> Then
>> >>>>>> use the installed version :-)
>> >>>>>>
>> >>>>>> Mark
>> >>>>>>
>> >>>>>> On Tue, Jun 9, 2015 at 5:15 PM <jkrieger at mrc-lmb.cam.ac.uk>
>> wrote:
>> >>>>>>
>> >>>>>>> You may be right. I get the same errors from trying to compile
>> >>>>>>> non-PLUMED
>> >>>>>>> normal GROMACS 5.0.4 as when I try with PLUMED (after removing
>> >>>>>>> duplicate
>> >>>>>>> instruction to link PLUMED).
>> >>>>>>>
>> >>>>>>> Make abruptly stops at this point with no clear error (using
>> >>>>>>> VERBOSE=1).
>> >>>>>>>
>> >>>>>>> Linking CXX executable ../../bin/gmx_mpi
>> >>>>>>> cd /lmb/home/jkrieger/bin/gromacs-mpi/src/programs &&
>> >>>>>>> /usr/bin/cmake
>> >>>>>>> -E
>> >>>>>>> cmake_link_script CMakeFiles/gmx.dir/link.txt --verbose=1
>> >>>>>>> /lmb/home/jkrieger/bin/mpich-3.1.4-build/bin/mpicxx    -mavx
>> >>>>>>> -Wextra
>> >>>>>>> -Wno-missing-field-initializers -Wpointer-arith -Wall
>> >>>>>>> -Wno-unused-function
>> >>>>>>>  -O3 -DNDEBUG -fomit-frame-pointer -funroll-all-loops
>> >>>>>>> -Wno-array-bounds
>> >>>>>>>     CMakeFiles/gmx.dir/gmx.cpp.o
>> >>>>>>> CMakeFiles/gmx.dir/legacymodules.cpp.o
>> >>>>>>> CMakeFiles/mdrun_objlib.dir/mdrun/pme_loadbal.c.o
>> >>>>>>> CMakeFiles/mdrun_objlib.dir/mdrun/membed.c.o
>> >>>>>>> CMakeFiles/mdrun_objlib.dir/mdrun/runner.c.o
>> >>>>>>> CMakeFiles/mdrun_objlib.dir/mdrun/md.c.o
>> >>>>>>> CMakeFiles/mdrun_objlib.dir/mdrun/repl_ex.c.o
>> >>>>>>> CMakeFiles/mdrun_objlib.dir/mdrun/mdrun.cpp.o
>> >>>>>>> CMakeFiles/view_objlib.dir/view/view.cpp.o  -o ../../bin/gmx_mpi
>> >>>>>>> -rdynamic
>> >>>>>>> ../../lib/libgromacs_mpi.so.0.0.0 -fopenmp -ldl -lrt -lm -lz
>> >>>>>>> ../contrib/fftw/fftwBuild-prefix/lib/libfftw3f.a -lblas -llapack
>> >>>>>>> -lblas
>> >>>>>>> -llapack -Wl,-rpath,/lmb/home/jkrieger/bin/gromacs-mpi/lib:
>> >>>>>>> /usr/bin/cmake -E cmake_progress_report
>> >>>>>>> /lmb/home/jkrieger/bin/gromacs-mpi/CMakeFiles
>> >>>>>>> [100%] Built target gmx
>> >>>>>>> /usr/bin/cmake -E cmake_progress_start
>> >>>>>>> /lmb/home/jkrieger/bin/gromacs-mpi/CMakeFiles 0
>> >>>>>>>
>> >>>>>>> Make install then complains that it cannot find gmx_mpi:
>> >>>>>>>
>> >>>>>>> CMake Error at src/programs/cmake_install.cmake:42 (FILE):
>> >>>>>>>   file INSTALL cannot find
>> >>>>>>> "/lmb/home/jkrieger/bin/gromacs-mpi/bin/gmx_mpi".
>> >>>>>>> Call Stack (most recent call first):
>> >>>>>>>   src/cmake_install.cmake:40 (INCLUDE)
>> >>>>>>>   cmake_install.cmake:49 (INCLUDE)
>> >>>>>>>
>> >>>>>>> > Hi,
>> >>>>>>> >
>> >>>>>>> > Anything. I think I understood that you can't install
>> non-PLUMED
>> >>>>>>> normal
>> >>>>>>> > GROMACS in MPI mode, in which case the main suspect is your
>> MPI
>> >>>>>>> > infrastructure, e.g. it was compiled with a different /
>> >>>>>>> incompatible
>> >>>>>>> > compiler from the one you're using now.
>> >>>>>>> >
>> >>>>>>> > Mark
>> >>>>>>> >
>> >>>>>>> > On Tue, Jun 9, 2015 at 4:23 PM <jkrieger at mrc-lmb.cam.ac.uk>
>> >>>>>>> wrote:
>> >>>>>>> >
>> >>>>>>> >> Hi Mark,
>> >>>>>>> >>
>> >>>>>>> >> Sorry I missed your message as I had forgotten I needed to
>> >>>>>>> enable
>> >>>>>>> >> receiving messages. What MPI test program did you have in
>> mind?
>> >>>>>>> >>
>> >>>>>>> >> Best wishes
>> >>>>>>> >> James
>> >>>>>>> >>
>> >>>>>>> >> > More details are available on the plumed forum google group
>> at
>> >>>>>>> >> >
>> >>>>>>> >>
>> >>>>>>>
>> https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/plumed-users/stlK9-kaa6A/jSm8rOON_xsJ
>> >>>>>>> >> >
>> >>>>>>> >> >> Hi,
>> >>>>>>> >> >>
>> >>>>>>> >> >> I have successfully installed plumed-2.1.2 (I believe with
>> >>>>>>> MPI
>> >>>>>>> >> >> capabilities) and patched it onto gromacs-5.0.4, I am now
>> >>>>>>> trying
>> >>>>>>> to
>> >>>>>>> >> >> install the gromacs and it's not working. Here are my
>> errors
>> >>>>>>> from
>> >>>>>>> >> make:
>> >>>>>>> >> >>
>> >>>>>>> >> >> collect2: error: ld returned 1 exit status
>> >>>>>>> >> >> src/gromacs/CMakeFiles/libgromacs.dir/build.make:22956:
>> >>>>>>> recipe
>> >>>>>>> for
>> >>>>>>> >> >> target
>> >>>>>>> >> >> 'lib/libgromacs_mpi.so.0.0.0' failed
>> >>>>>>> >> >> make[2]: *** [lib/libgromacs_mpi.so.0.0.0] Error 1
>> >>>>>>> >> >> CMakeFiles/Makefile2:1948: recipe for target
>> >>>>>>> >> >> 'src/gromacs/CMakeFiles/libgromacs.dir/all' failed
>> >>>>>>> >> >> make[1]: *** [src/gromacs/CMakeFiles/libgromacs.dir/all]
>> >>>>>>> Error
>> >>>>>>> 2
>> >>>>>>> >> >> Makefile:146: recipe for target 'all' failed
>> >>>>>>> >> >> make: *** [all] Error 2
>> >>>>>>> >> >>
>> >>>>>>> >> >> I have successfully installed the latest gcc compilers and
>> >>>>>>> tried
>> >>>>>>> to
>> >>>>>>> >> tell
>> >>>>>>> >> >> gromacs to use them with the following command (not sure
>> if
>> >>>>>>> this
>> >>>>>>> is
>> >>>>>>> >> >> right):
>> >>>>>>> >> >> ccmake ../gromacs-5.0.4/ -DGMX_BUILD_OWN_FFTW=ON
>> >>>>>>> >> >>
>> -DCMAKE_C_COMPILER=/lmb/home/jkrieger/bin/gcc-5.1.0-build/bin/gcc
>> >>>>>>> >> >>
>> >>>>>>> >> >> In any case I get similar errors using the default
>> compilers
>> >>>>>>> on
>> >>>>>>> my
>> >>>>>>> >> >> system.
>> >>>>>>> >> >>
>> >>>>>>> >> >> I am installing on a front-end node of our cluster at the
>> >>>>>>> LMB,
>> >>>>>>> which
>> >>>>>>> >> has
>> >>>>>>> >> >> a
>> >>>>>>> >> >> shared filesystem.
>> >>>>>>> >> >>
>> >>>>>>> >> >> Please let me know if there's anything else I need to tell
>> >>>>>>> you
>> >>>>>>> so
>> >>>>>>> >> that
>> >>>>>>> >> >> you
>> >>>>>>> >> >> can help.
>> >>>>>>> >> >>
>> >>>>>>> >> >> Many thanks
>> >>>>>>> >> >> James
>> >>>>>>> >> >>
>> >>>>>>> >> >
>> >>>>>>> >> >
>> >>>>>>> >> >
>> >>>>>>> >>
>> >>>>>>> >>
>> >>>>>>> >> --
>> >>>>>>> >> 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.
>> >>>>>>> >>
>> >>>>>>> > --
>> >>>>>>> > 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.
>> >>>>>>> >
>> >>>>>>>
>> >>>>>>>
>> >>>>>>> --
>> >>>>>>> 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.
>> >>>>>>>
>> >>>>>> --
>> >>>>>> 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.
>> >>>>>>
>> >>>>>
>> >>>>>
>> >>>>> --
>> >>>>> 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.
>> >>>>>
>> >>>>
>> >>>>
>> >>>> --
>> >>>> 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.
>> >>>>
>> >>>
>> >>>
>> >>> --
>> >>> 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.
>> >>>
>> >>
>> >>
>> >> --
>> >> 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.
>> >>
>> >
>> >
>> > --
>> > 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.
>> >
>>
>>
>> --
>> 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.
>>
> --
> 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