Cross-compiling Code Saturne for IBM BlueGene P
Posted: Wed Sep 26, 2012 10:55 am
Hello Code Saturne developers,
I am cross-compiling code_saturne-2.3.1 for IBM BlueGene/P. The configure for the CNK module run without a problem with this configuration options:
<working_direcotory>/Install/code_saturne-2.3.1/CNK>\
CC="mpicc" CFLAGS="-dynamic" \
CXX="mpicxx" CXXFLAGS="-dynamic" \
LDFLAGS="-Bdynamic" \
../configure --prefix=/<working_direcotory>/Install/code-saturne-2.3.1-cnk \
--host=bluegenep --build=ppc64 \
--enable-debug --enable-shared --disable-frontend --disable-gui \
--with-blas-type=ESSL --with-scotch=/<working_direcotory>/scotch_5.1.12 \
--with-libxml2=/<working_direcotory>/Install/libxml2-2.8.0-cnk \
--with-hdf5=/<working_direcotory>/Install/hdf5-1.8.9/bluegenep \
--with-cgns=/<working_direcotory>/Install/cgnslib_3.1.3-cnk \
--with-med=/<working_direcotory>/Install/med-3.0.5-cnk \
--without-zlib --without-salome-gui --without-salome-med --without-salome
After the successful configure, I run make. And then in the file cs_system_info.c, it says that it cannot find the files spi/kernel_interface.h and the other two files needed for the BlueGene P installation. I add this row and correct the LDFLAGS:
CPPFLAGS="-I/bgsys/drivers/ppcfloor/arch/include"
LDFLAGS="-Bdynamic -L/bgsys/drivers/ppcfloor/runtime/SPI"
LIBS="-lSPI.cna"
and it works fine, it finds the files, include them, but it gives errors on defined variable "ams" used by these files, which is defined somewhere else. I want to ask which compiler should I use the "mpicc" one or the "mpixlc(_r)" to build Code Saturne right? And when I use a XL compiler it can't configure right.
I am cross-compiling code_saturne-2.3.1 for IBM BlueGene/P. The configure for the CNK module run without a problem with this configuration options:
<working_direcotory>/Install/code_saturne-2.3.1/CNK>\
CC="mpicc" CFLAGS="-dynamic" \
CXX="mpicxx" CXXFLAGS="-dynamic" \
LDFLAGS="-Bdynamic" \
../configure --prefix=/<working_direcotory>/Install/code-saturne-2.3.1-cnk \
--host=bluegenep --build=ppc64 \
--enable-debug --enable-shared --disable-frontend --disable-gui \
--with-blas-type=ESSL --with-scotch=/<working_direcotory>/scotch_5.1.12 \
--with-libxml2=/<working_direcotory>/Install/libxml2-2.8.0-cnk \
--with-hdf5=/<working_direcotory>/Install/hdf5-1.8.9/bluegenep \
--with-cgns=/<working_direcotory>/Install/cgnslib_3.1.3-cnk \
--with-med=/<working_direcotory>/Install/med-3.0.5-cnk \
--without-zlib --without-salome-gui --without-salome-med --without-salome
After the successful configure, I run make. And then in the file cs_system_info.c, it says that it cannot find the files spi/kernel_interface.h and the other two files needed for the BlueGene P installation. I add this row and correct the LDFLAGS:
CPPFLAGS="-I/bgsys/drivers/ppcfloor/arch/include"
LDFLAGS="-Bdynamic -L/bgsys/drivers/ppcfloor/runtime/SPI"
LIBS="-lSPI.cna"
and it works fine, it finds the files, include them, but it gives errors on defined variable "ams" used by these files, which is defined somewhere else. I want to ask which compiler should I use the "mpicc" one or the "mpixlc(_r)" to build Code Saturne right? And when I use a XL compiler it can't configure right.