[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