Compilation error: "SCOTCH_Num and PAMPA_Num have different size"
Resume
I'm trying to compile Scotch / PaMPA on Plafrim.
When runing make
into PaMPA build, an error occur:
dummysizes: ERROR: SCOTCH_Num and PAMPA_Num have different size,
maybe INTSIZE64 flag is missing in building SCOTCH or PaMPA.
Details
Scotch is build with option -DIDXSIZE64
and PaMPA with option -DINT_SIZE=64bits
.
Explanation
It is rised by dummysize.h:193
file
#ifdef PTSCOTCH
if (sizeof(SCOTCH_Num) != sizeof(INT)) {
fprintf(stderr, "dummysizes: ERROR: SCOTCH_Num and PAMPA_Num have different size,\n");
fprintf(stderr, "\tmaybe INTSIZE64 flag is missing in building SCOTCH or PaMPA.\n");
exit (1);
}
#endif
I suppose that INT
macro is define in common.h:145
#ifndef INT /* If type not externally overriden */
#ifdef INTSIZE32
#define INT int32_t
#define UINT u_int32_t
#define COMM_INT MPI_INTEGER4
#define INTSTRING "%d"
#else /* INTSIZE32 */
#ifdef INTSIZE64
#define INT int64_t
#define UINT u_int64_t
#define COMM_INT MPI_LONG_LONG
#define INTSTRING "%" PRId64
#else /* INTSIZE64 */
And in Scotch, SCOTCH_Num
is define in scotch.h:72
:
typedef int SCOTCH_Num;
Other links
After reading a little bit more on the intenet I found this: more about Scotch 64
Witch validate the previous typedef.
Possible solution
As PaMPA is strongly based on Scotch, I suppose the best approach is to define a INT
in PaMPA the same way than Scotch.
Any thoughts ?
Other resources:
PaMPA Options:
CMAKE_BUILD_TYPE Release
CMAKE_INSTALL_PREFIX /home/lux/aerosol/ExternalLib/Install/install_gcc_openmpi_blas
COMMON_COMPRESSION ON
COMMON_MEMORY_TRACE OFF
COMM_TYPE Point-to-point
FORTRAN_INTERFACE OFF
INT_SIZE 64bits
MPI_EXTRA_LIBRARY MPI_EXTRA_LIBRARY-NOTFOUND
MPI_LIBRARY /cm/shared/apps/openmpi/gcc/64/3.0.0/lib/libmpi.so
PAMPA_ADAPT OFF
PAMPA_CTEST_MEMCHECK OFF
PAMPA_MULTILEVEL ON
PAMPA_RENAME ON
PTHREAD None
PTSCOTCH ON
SAMPLES ON
SAMPLE_TYPE All
SCM_VERSIONS OFF