[Trilinos-Users] Adventures in building trilinos-10.0.4 on Surveyor/Intrepid (BG/P): problem with using std::abs

John R. Cary cary at colorado.edu
Fri Dec 25 10:07:33 MST 2009


Attempts to build trilinos on the BGP:

Tried to build with xlf95_r, got what looked like a fixed/free
format error:

cd 
/gpfs/home/cary/projects/vpall/builds/trilinos/ser/packages/epetra/src 
&& 
/gpfs/software/linux-sles10-ppc64/apps/ibmcmp-aug2009/xlf/bg/11.1/bin/xlf95_r  
-o CMakeFiles/epetra.dir/Epetra_dcrsmm.f.o  -O 
-I/gpfs/home/cary/projects/vpall/builds/trilinos/ser/packages/epetra/src 
-I/gpfs/home/cary/projects/vpall/builds/trilinos/packages/epetra/src   
-c 
/gpfs/home/cary/projects/vpall/builds/trilinos/packages/epetra/src/Epetra_dcrsmm.f
"/gpfs/home/cary/projects/vpall/builds/trilinos/packages/epetra/src/Epetra_dcrsmm.f", 
line 1.1: 1515-019 (S) Syntax is incorrect.
"/gpfs/home/cary/projects/vpall/builds/trilinos/packages/epetra/src/Epetra_dcrsmm.f", 
line 2.1: 1515-019 (S) Syntax is incorrect.
"/gpfs/home/cary/projects/vpall/builds/trilinos/packages/epetra/src/Epetra_dcrsmm.f", 
line 3.1: 1515-019 (S) Syntax is incorrect.
"/gpfs/home/cary/projects/vpall/builds/trilinos/packages/epetra/src/Epetra_dcrsmm.f", 
line 4.1: 1515-019 (S) Syntax is incorrect.

so switched to xlf_r

cmake -D 
CMAKE_INSTALL_PREFIX:PATH=/home/projects/facets/surveyor/contrib/trilinos-10.0.4-ser 
-D CMAKE_BUILD_TYPE:STRING=RELEASE -D CMAKE_VERBOSE_MAKEFILE:BOOL=TRUE 
-D CMAKE_C_COMPILER:FILEPATH=xlc_r -D CMAKE_CXX_COMPILER:FILEPATH=xlC_r 
-D CMAKE_Fortran_COMPILER=xlf_r -D Trilinos_ENABLE_Amesos:BOOL=ON -D 
Trilinos_ENABLE_ML:BOOL=ON -D Trilinos_ENABLE_AztecOO:BOOL=ON -D 
Trilinos_ENABLE_EpetraExt:BOOL=ON -D Trilinos_ENABLE_Epetra:BOOL=ON -D 
Trilinos_ENABLE_Triutils:BOOL=ON -D Trilinos_ENABLE_Teuchos:BOOL=ON -D 
Trilinos_ENABLE_Ifpack:BOOL=ON -D Trilinos_ENABLE_Galeri:BOOL=ON -D 
Trilinos_ENABLE_Anasazi:BOOL=ON -D DART_TESTING_TIMEOUT:STRING=600   -D 
TPL_BLAS_LIBRARIES:STRING=/soft/apps/BLAS/libblas_bgp.a -D 
TPL_LAPACK_LIBRARIES:STRING=/soft/apps/LAPACK/liblapack_bgp.a 
/gpfs/home/cary/projects/vpall/builds/trilinos

Got a name clash error

cd 
/home/cary/projects/vpall/builds/trilinos-10.0.4/ser/packages/epetraext/src 
&& 
/gpfs/software/linux-sles10-ppc64/apps/ibmcmp-aug2009/vacpp/bg/9.0/bin/xlC_r  
-+  -O -DNDEBUG 
-I/home/cary/projects/vpall/builds/trilinos-10.0.4/ser/packages/epetraext/src 
-I/home/cary/projects/vpall/builds/trilinos/packages/epetraext/src 
-I/home/cary/projects/vpall/builds/trilinos/packages/epetraext/src/transform 
-I/home/cary/projects/vpall/builds/trilinos/packages/epetraext/src/inout 
-I/home/cary/projects/vpall/builds/trilinos/packages/epetraext/src/coloring 
-I/home/cary/projects/vpall/builds/trilinos/packages/epetraext/src/model_evaluator 
-I/home/cary/projects/vpall/builds/trilinos/packages/epetraext/src/block 
-I/home/cary/projects/vpall/builds/trilinos/packages/epetraext/src/restrict 
-I/home/cary/projects/vpall/builds/trilinos-10.0.4/ser/packages/triutils/src 
-I/home/cary/projects/vpall/builds/trilinos/packages/triutils/src 
-I/home/cary/projects/vpall/builds/trilinos-10.0.4/ser/packages/epetra/src 
-I/home/cary/projects/vpall/builds/trilinos/packages/epetra/src 
-I/home/cary/projects/vpall/builds/trilinos 
-I/home/cary/projects/vpall/builds/trilinos-10.0.4/ser/packages/teuchos/src 
-I/home/cary/projects/vpall/builds/trilinos/packages/teuchos/src   -o 
CMakeFiles/epetraext.dir/transform/EpetraExt_BlockAdjacencyGraph.cpp.o 
-c 
/home/cary/projects/vpall/builds/trilinos/packages/epetraext/src/transform/EpetraExt_BlockAdjacencyGraph.cpp
"/soft/apps/ibmcmp-aug2009/vacpp/bg/9.0/include/stdlib.h", line 22.14: 
1540-0400 (S) "abs(int)" has a conflicting declaration.
"/home/cary/projects/vpall/builds/trilinos/packages/epetra/src/Epetra_ConfigDefs.h", 
line 129.1: 1540-0424 (I) "abs" is declared on line 129 of 
"/home/cary/projects/vpall/builds/trilinos/packages/epetra/src/Epetra_ConfigDefs.h".
make[2]: ***

[packages/epetraext/src/CMakeFiles/epetraext.dir/transform/EpetraExt_BlockAdjacencyGraph.cpp.o] 
Error 1

so commented out "using std::abs" in 

  trilinos/packages/epetra/src/Epetra_ConfigDefs.h

Now builds but I am worried that at places it may be picking
up the wrong abs, since no longer using std::abs, which delegates
appropriately to fabs, dabs, abs.  So did
"grep return make.out" to find cases where a different return
type was expected.  Spot check found
this to be what looks like an inconsistent macro, IFPACK_CHK_ERR,
so did not check all, but no other problems.

I will test our code with this, but perhaps should be changed not
to eliminate the protection that namespacing provides.

Best.....John







More information about the Trilinos-Users mailing list