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

Mark Abraham Mark.Abraham at anu.edu.au
Tue Sep 13 16:27:25 CEST 2011


On 14/09/2011 12:20 AM, Marcin Zielinski wrote:
> 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

Beats me, sorry.

Mark



More information about the gromacs.org_gmx-users mailing list