[gmx-users] building GROMACS 4.5.4 on Power6 with CMAKE

Marcin Zielinski Marcin.Zielinski at sara.nl
Tue Sep 13 16:20:00 CEST 2011


Ok,

Using -DGMX_ACCELERATION=Power6 brings a plethora of new errors during 
the compilation.

Firstly, including config.h inside the fortran .F kernel files for 
power6 is causing problems with
their parsing using xlf. adding -WF,-qfpp didn't help. Had to provide a 
modified xlf.cfg config file
for XLF (cppoptions = -P, instead of -C)
and pass it on with -F option and then add -qarch=pwr6 (all passed 
manually) for compilation of
each power6 kernel .F file. That fixed the problem with the compilation 
of Power6 kernels part.

Is there any more handy way of doing that? I've noticed that upon using 
Power6, cmake generates
Fortran_DEFINES and Fortran_FLAGS inside 
src/gmxlib/CMakeFiles/gmx.dir/flags.make file.
They somehow can not be modified from the command line. Same goes for 
the preprocessor flags.
(-DCMAKE_CPP_FLAGS do not work?).

Secondly, now I get something else:
Linking C shared library libmd.so
xlc: 1501-218 (W) file ../gmxlib/libgmx.so.6 contains an incorrect file 
suffix
../gmxlib/libgmx.so.6: In function `__bss_start':
(*ABS*+0x1025cb00): multiple definition of `_edata'
../gmxlib/libgmx.so.6: In function `__data_start':
(.data+0x8): multiple definition of `__dso_handle'
/usr/lib64/gcc/powerpc64-suse-linux/4.3/crtbeginS.o:(.data.rel+0x0): 
first defined here
../gmxlib/libgmx.so.6: In function `_fini':
(.opd+0x30): multiple definition of `_fini'
/usr/lib64/gcc/powerpc64-suse-linux/4.3/../../../../lib64/crti.o:initfini.c:(.opd+0x18): 
first defined here
../gmxlib/libgmx.so.6: In function `_init':
(.opd+0x18): multiple definition of `_init'
/usr/lib64/gcc/powerpc64-suse-linux/4.3/../../../../lib64/crti.o:initfini.c:(.opd+0x0): 
first defined here
../gmxlib/libgmx.so.6: In function `_end':
(*ABS*+0x10268b20): multiple definition of `_end'
../gmxlib/libgmx.so.6: In function `__bss_start':
(*ABS*+0x1025cb00): multiple definition of `__bss_start'
/usr/lib64/gcc/powerpc64-suse-linux/4.3/crtendS.o:(.dtors+0x0): multiple 
definition of `__DTOR_END__'
../gmxlib/libgmx.so.6:(.dtors+0x8): first defined here
/usr/bin/ld: error in ../gmxlib/libgmx.so.6(.eh_frame); no .eh_frame_hdr 
table will be created.
make[2]: *** [src/mdlib/libmd.so.6] Error 1
make[1]: *** [src/mdlib/CMakeFiles/md.dir/all] Error 2
make: *** [all] Error 2

cheers,



More information about the gromacs.org_gmx-users mailing list