[gmx-developers] Building 5.0 on Cygwin x64

Roland Schulz roland at utk.edu
Thu Jul 10 03:17:58 CEST 2014


HI,


On Wed, Jul 9, 2014 at 6:37 AM, Mirco Wahab <
mirco.wahab at chemie.tu-freiberg.de> wrote:

> After seeing some patches reaching gerrit, I tried to build it
> on Cygwin x64 w/recent gcc 4.8.3 (which comes ootb).
>
> three minor problems found:
>
> 1) missing time.h in impl.h (inherited from 4.6.x), can be solved
>     by hot-patching for now by:
>     perl -i.bak -pe '$once||=s/\A/#define HAVE_SYS_TIME_H\n/'
> src/external/thread_mpi/src/impl.h
>

That's weird I don't have that problem. I compiled using:
cmake .. -DGMX_GPU=no && make -j8 gmx
Using:
latest 64bit Cygwin with gcc/g++ 4.8.3 and latest release-5-0 branch
(a0043764d2aa)

I have #define HAVE_SYS_TIME_H in my config.h. Is this missing in yours? If
so can you check why your cmake check failed?

2) in a recent patch (3764/5), set(CXX11_FLAG "-std=gnu++0x")
>     has been added for Cygwin, but it also will work perfectly using
>     "-std=gnu++11". In the 5.0-Release, this can eg. be written by hand
>     into CMakeCache.txt:
>     CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -std=gnu++11 -DNDEBUG
>

This is has been submitted.

>
> 3) could not get gromacs w/shared fftw3 libs built for unknown reasons.
>     Had to add -DBUILD_SHARED_LIBS=off,  maybe this wont change anytime
>     soon in the cygwin world.
>

I uploaded a patch: https://gerrit.gromacs.org/#/c/3792

Do you also get linker warnings? I get:

 CMakeFiles/libgromacs.dir/commandline/cmdlineparser.cpp.o: duplicate
section
`.data$_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_14bad_exception_EEENS_13exception_ptrEvE2ep[_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_14bad_exception_EEENS_13exception_ptrEvE2ep]'
has different size
CMakeFiles/libgromacs.dir/commandline/cmdlineparser.cpp.o: duplicate
section
`.data$_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_10bad_alloc_EEENS_13exception_ptrEvE2ep[_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_10bad_alloc_EEENS_13exception_ptrEvE2ep]'
has different size
CMakeFiles/libgromacs.dir/options/basicoptions.cpp.o: duplicate section
`.data$_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_14bad_exception_EEENS_13exception_ptrEvE2ep[_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_14bad_exception_EEENS_13exception_ptrEvE2ep]'
has different size
CMakeFiles/libgromacs.dir/options/basicoptions.cpp.o: duplicate section
`.data$_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_10bad_alloc_EEENS_13exception_ptrEvE2ep[_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_10bad_alloc_EEENS_13exception_ptrEvE2ep]'
has different size
CMakeFiles/libgromacs.dir/options/options.cpp.o: duplicate section
`.data$_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_14bad_exception_EEENS_13exception_ptrEvE2ep[_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_14bad_exception_EEENS_13exception_ptrEvE2ep]'
has different size
CMakeFiles/libgromacs.dir/options/options.cpp.o: duplicate section
`.data$_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_10bad_alloc_EEENS_13exception_ptrEvE2ep[_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_10bad_alloc_EEENS_13exception_ptrEvE2ep]'
has different size
CMakeFiles/libgromacs.dir/selection/compiler.cpp.o: duplicate section
`.data$_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_14bad_exception_EEENS_13exception_ptrEvE2ep[_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_14bad_exception_EEENS_13exception_ptrEvE2ep]'
has different size
CMakeFiles/libgromacs.dir/selection/compiler.cpp.o: duplicate section
`.data$_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_10bad_alloc_EEENS_13exception_ptrEvE2ep[_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_10bad_alloc_EEENS_13exception_ptrEvE2ep]'
has different size
CMakeFiles/libgromacs.dir/selection/parser.cpp.o: duplicate section
`.data$_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_14bad_exception_EEENS_13exception_ptrEvE2ep[_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_14bad_exception_EEENS_13exception_ptrEvE2ep]'
has different size
CMakeFiles/libgromacs.dir/selection/parser.cpp.o: duplicate section
`.data$_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_10bad_alloc_EEENS_13exception_ptrEvE2ep[_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_10bad_alloc_EEENS_13exception_ptrEvE2ep]'
has different size
CMakeFiles/libgromacs.dir/selection/parsetree.cpp.o: duplicate section
`.data$_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_14bad_exception_EEENS_13exception_ptrEvE2ep[_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_14bad_exception_EEENS_13exception_ptrEvE2ep]'
has different size
CMakeFiles/libgromacs.dir/selection/parsetree.cpp.o: duplicate section
`.data$_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_10bad_alloc_EEENS_13exception_ptrEvE2ep[_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_10bad_alloc_EEENS_13exception_ptrEvE2ep]'
has different size
CMakeFiles/libgromacs.dir/selection/selectioncollection.cpp.o: duplicate
section
`.data$_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_14bad_exception_EEENS_13exception_ptrEvE2ep[_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_14bad_exception_EEENS_13exception_ptrEvE2ep]'
has different size
CMakeFiles/libgromacs.dir/selection/selectioncollection.cpp.o: duplicate
section
`.data$_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_10bad_alloc_EEENS_13exception_ptrEvE2ep[_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_10bad_alloc_EEENS_13exception_ptrEvE2ep]'
has different size
CMakeFiles/libgromacs.dir/selection/selelem.cpp.o: duplicate section
`.data$_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_14bad_exception_EEENS_13exception_ptrEvE2ep[_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_14bad_exception_EEENS_13exception_ptrEvE2ep]'
has different size
CMakeFiles/libgromacs.dir/selection/selelem.cpp.o: duplicate section
`.data$_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_10bad_alloc_EEENS_13exception_ptrEvE2ep[_ZGVZN5boost16exception_detail27get_static_exception_objectINS0_10bad_alloc_EEENS_13exception_ptrEvE2ep]'
has different size

Anyone got an idea what could be going wrong there?

Roland


> Voila, a working Gromacs-5-system can be built. The previous obligatory
> additional mdrun_mpi doesn't seem necessary any more but can be built
> too. Comparison using an old 1 Mio atom MARTINI membrane system
> (Phenom II X6, SSE2, RF electrostatics):
>
> Cygwin x64:
>
>   mdrun
>     Using 6 MPI threads
>     Using 1 OpenMP thread per tMPI thread
>     22.273 ns/day
>
>   mdrun_mpi
>     Using 1 MPI process
>     Using 6 OpenMP threads
>     19.341 ns/day
>
>
> Comparison to the host system (Windows 8.1 x64, VS 2012 x64 native):
>
>   gmx mdrun -nb cpu
>     Using 6 MPI threads
>     Using 1 OpenMP thread per tMPI thread
>     20.546
>
>   gmx mdrun (CUDA6, GTX-660Ti)
>     Using 1 MPI thread
>     Using 6 OpenMP threads
>     33.594 ns/day
>
>
> Not bad so far!
>
> Regards
>
> M.
>
>
>
>
> --
> Gromacs Developers mailing list
>
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_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-developers
> or send a mail to gmx-developers-request at gromacs.org.
>



-- 
ORNL/UT Center for Molecular Biophysics cmb.ornl.gov
865-241-1537, ORNL PO BOX 2008 MS6309
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20140710/9df817aa/attachment.html>


More information about the gromacs.org_gmx-developers mailing list