On Fri, 2011-02-18 at 14:03 -0500, Erik Schnetter wrote:
Wolfgang
While I don't know CINECA, I have configuration files for several other systems, available at https://svn.cct.lsu.edu/repos/numrel/simfactory/branches/PYSIM_2010/mdb/optionlists/. You may find the following interesting:
vip.cfg (AIX, xlc) bp.cfg (AIX, xlc)
and maybe also
bd.cfg (Linux, xlc)
Thanks. I tried a few of those compiler switches without luck, so tried to find the root of the problem. Looking at the code in the build directory, i.e. the source file that actually gets compiled, I notice that the function lc_statmap_ini IS indeed redeclared. In the source (not build) directry, we have the lines in loopcontrol.c:
944 CCTK_FCALL 945 void 946 CCTK_FNAME (lc_statmap_init) (int * restrict const initialised, 947 lc_statmap_t * restrict const lm, 948 ONE_FORTSTRING_ARG)
in the build directory, we have instead
944 CCTK_FCALL 945 void 946 lc_statmap_init (int * restrict const initialised, 947 lc_statmap_t * restrict const lm, 948 ONE_FORTSTRING_ARG)
According to the manual, somewhere in the build process CCTK_FNAME was supposed to alter the function name in order to declare another version callable from FORTRAN. But instead the name was left intact. My next question is thus where and when is FNAME defined, where in the build process is it applied, and how.
Wolfgang.
I don't know why the compiler would think that lc_statmap_init is redeclared (it is not), but maybe passing certain magic compiler flags will help. You can use the above configuration options for ideas.
-erik
On Fri, Feb 18, 2011 at 1:33 PM, Wolfgang Kastaun kastaun@sissa.it wrote:
Hi, I am trying to compile the Chandrasekhar release of the Einstein Toolkit on an AIX cluster (CINECA) using the native xlc compiler. It fails with the following message:
"/sp6/usersissa/sists082/sim_build/pizza_dev/configs/pizza_dev/build/LoopControl/loopcontrol.c", line 46.8: 1506-1108 (I) The use of keyword '__inline__' is non-portable. "/sp6/usersissa/sists082/sim_build/pizza_dev/configs/pizza_dev/build/LoopControl/loopcontrol.c", line 946.1: 1506-343 (S) Redeclaration of lc_statmap_init differs from previous declaration on line 513 of "/sp6/usersissa/sists082/sim_build/pizza_dev/configs/pizza_dev/build/LoopControl/loopcontrol.c". "/sp6/usersissa/sists082/sim_build/pizza_dev/configs/pizza_dev/build/LoopControl/loopcontrol.c", line 946.1: 1506-376 (I) Redeclaration of lc_statmap_init has a different number of fixed parameters than the previous declaration. "/sp6/usersissa/sists082/sim_build/pizza_dev/configs/pizza_dev/build/LoopControl/loopcontrol.c", line 946.1: 1506-377 (I) The type "char*" of parameter 3 differs from the previous type "const char* restrict const". "/sp6/usersissa/sists082/sim_build/pizza_dev/configs/pizza_dev/build/LoopControl/loopcontrol.c", line 957.1: 1506-343 (S) Redeclaration of lc_control_init differs from previous declaration on line 546 of "/sp6/usersissa/sists082/sim_build/pizza_dev/configs/pizza_dev/build/LoopControl/loopcontrol.c". "/sp6/usersissa/sists082/sim_build/pizza_dev/configs/pizza_dev/build/LoopControl/loopcontrol.c", line 957.1: 1506-377 (I) The type "const int* restrict const" of parameter 3 differs from the previous type "const int". "/sp6/usersissa/sists082/sim_build/pizza_dev/configs/pizza_dev/build/LoopControl/loopcontrol.c", line 977.1: 1506-334 (S) Identifier lc_control_finish has already been defined on line 801 of "/sp6/usersissa/sists082/sim_build/pizza_dev/configs/pizza_dev/build/LoopControl/loopcontrol.c". gmake[3]: *** [loopcontrol.c.o] Error 1 gmake[2]: *** [make.checked] Error 2 gmake[1]: *** [/sp6/usersissa/sists082/sim_build/pizza_dev/configs/pizza_dev/lib/libthorn_LoopControl.a] Error 2 gmake: *** [pizza_dev] Error 2
my option file looks like this:
CC = xlc_r CXX = xlC_r F90 = xlf90_r F77 = xlf_r CPP = cpp FPP = /opt/freeware/bin/cpp
CPPFLAGS = CFLAGS = -qspill=100000 -qsuppress=1501-245 -qlanglvl=stdc99 CXXFLAGS = -qspill=100000 -qsuppress=1501-245 -qrtti=all F77FLAGS = -qspill=100000 -qsuppress=1501-245 F90FLAGS = -qspill=100000 -qsuppress=1501-245
DEBUG = no OPTIMISE = yes
OPTIMISE = yes CPP_OPTIMISE_FLAGS = -DNDEBUG FPP_OPTIMISE_FLAGS = -DNDEBUG C_OPTIMISE_FLAGS = -O2 -qmaxmem=-1 -qarch=pwr6 -qtune=pwr6 CXX_OPTIMISE_FLAGS = -O2 -qmaxmem=-1 -qarch=pwr6 -qtune=pwr6 F77_OPTIMISE_FLAGS = -O2 -qmaxmem=-1 -qarch=pwr6 -qtune=pwr6 F90_OPTIMISE_FLAGS = -O2 -qmaxmem=-1 -qarch=pwr6 -qtune=pwr6
WARN = yes
HDF5 = yes HDF5_DIR = /cineca/prod/libraries/hdf5/1.8.4_ser/xl--10.1/ LIBSZ_DIR = /cineca/prod/libraries/szlib/2.1/xl--10.1/ GSL = yes GSL_DIR = /cineca/prod/libraries/gsl/1.9/xl--10.1/ MPI = NATIVE PTHREADS = no
The compiler versions are:
IBM XL C/C++ for AIX, V10.1 Version: 10.01.0000.0008
IBM XL Fortran for AIX, V12.1 Version: 12.01.0000.0009
The same code compiled just fine on Ubuntu 10.10 using the gnu compiler. Any ideas ?
Cheers, Wolfgang.
Users mailing list Users@einsteintoolkit.org http://lists.einsteintoolkit.org/mailman/listinfo/users