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

Rossen Apostolov rossen at kth.se
Wed Sep 14 20:05:12 CEST 2011


Hi,

On 9/13/11 4:27 PM, Mark Abraham wrote:
> 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?).
>>

You can also modify flags by editing CMakeCache.txt and rerunning cmake 
- if you don't pass options it should preserve what's been already found 
in the cache file.


>> 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.
>

me too :(

Rossen

> Mark



More information about the gromacs.org_gmx-users mailing list