[Trilinos-Users] building Trilinos with BUILD_SHARED_LIBS on

Roberts, Nathan V. nvroberts at alcf.anl.gov
Fri Dec 12 17:23:35 MST 2014


Hi all,

I generally build Trilinos statically.  However, I’m now interested in experimenting with PyTrilinos—my ultimate interest is in providing a Python interface for Camellia—and it appears that to use this, I need to set

BUILD_SHARED_LIBS:BOOL=ON

in my do-configure script.  Having done so, the do-configure completes successfully, but the build itself fails while trying to link Epetra.  The link line and the error message are below.  I include my do-configure script at bottom.  Any assistance is very much appreciated.  (Building on OS X Yosemite.)

I have the same issue with both the public git repo and the 11.12.1 release.

Thanks,
Nate

/Users/nroberts/lib/openmpi-1.8.3/bin/mpicxx  -O3 -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -dynamiclib -Wl,-headerpad_max_install_names   -compatibility_version 11.0.0 -current_version 11.12.1 -o libepetra.11.12.1.dylib -install_name /Users/nroberts/trilinos-11.12.1-Source/build/mpi-release-shared/packages/epetra/src/libepetra.11.dylib CMakeFiles/epetra.dir/Epetra_BLAS.cpp.o CMakeFiles/epetra.dir/Epetra_BasicDirectory.cpp.o CMakeFiles/epetra.dir/Epetra_BasicRowMatrix.cpp.o CMakeFiles/epetra.dir/Epetra_BlockMap.cpp.o CMakeFiles/epetra.dir/Epetra_BlockMapData.cpp.o CMakeFiles/epetra.dir/Epetra_C_wrappers.cpp.o CMakeFiles/epetra.dir/Epetra_CompObject.cpp.o CMakeFiles/epetra.dir/Epetra_CrsGraph.cpp.o CMakeFiles/epetra.dir/Epetra_CrsGraphData.cpp.o CMakeFiles/epetra.dir/Epetra_CrsMatrix.cpp.o CMakeFiles/epetra.dir/Epetra_CrsSingletonFilter.cpp.o CMakeFiles/epetra.dir/Epetra_Data.cpp.o CMakeFiles/epetra.dir/Epetra_DistObject.cpp.o CMakeFiles/epetra.dir/Epetra_Export.cpp.o CMakeFiles/epetra.dir/Epetra_FECrsGraph.cpp.o CMakeFiles/epetra.dir/Epetra_FECrsMatrix.cpp.o CMakeFiles/epetra.dir/Epetra_FEVbrMatrix.cpp.o CMakeFiles/epetra.dir/Epetra_FEVector.cpp.o CMakeFiles/epetra.dir/Epetra_Flops.cpp.o CMakeFiles/epetra.dir/Epetra_Fortran_wrappers.cpp.o CMakeFiles/epetra.dir/Epetra_Import.cpp.o CMakeFiles/epetra.dir/Epetra_Import_Util.cpp.o CMakeFiles/epetra.dir/Epetra_IntSerialDenseMatrix.cpp.o CMakeFiles/epetra.dir/Epetra_IntSerialDenseVector.cpp.o CMakeFiles/epetra.dir/Epetra_IntVector.cpp.o CMakeFiles/epetra.dir/Epetra_JadMatrix.cpp.o CMakeFiles/epetra.dir/Epetra_LAPACK.cpp.o CMakeFiles/epetra.dir/Epetra_LinearProblem.cpp.o CMakeFiles/epetra.dir/Epetra_LocalMap.cpp.o CMakeFiles/epetra.dir/Epetra_Map.cpp.o CMakeFiles/epetra.dir/Epetra_MapColoring.cpp.o CMakeFiles/epetra.dir/Epetra_MultiVector.cpp.o CMakeFiles/epetra.dir/Epetra_Object.cpp.o CMakeFiles/epetra.dir/Epetra_OffsetIndex.cpp.o CMakeFiles/epetra.dir/Epetra_RowMatrixTransposer.cpp.o CMakeFiles/epetra.dir/Epetra_SerialComm.cpp.o CMakeFiles/epetra.dir/Epetra_SerialCommData.cpp.o CMakeFiles/epetra.dir/Epetra_SerialDenseMatrix.cpp.o CMakeFiles/epetra.dir/Epetra_SerialDenseSVD.cpp.o CMakeFiles/epetra.dir/Epetra_SerialDenseSolver.cpp.o CMakeFiles/epetra.dir/Epetra_SerialDenseVector.cpp.o CMakeFiles/epetra.dir/Epetra_SerialDistributor.cpp.o CMakeFiles/epetra.dir/Epetra_SerialSpdDenseSolver.cpp.o CMakeFiles/epetra.dir/Epetra_SerialSymDenseMatrix.cpp.o CMakeFiles/epetra.dir/Epetra_Time.cpp.o CMakeFiles/epetra.dir/Epetra_Util.cpp.o CMakeFiles/epetra.dir/Epetra_VbrMatrix.cpp.o CMakeFiles/epetra.dir/Epetra_Vector.cpp.o CMakeFiles/epetra.dir/Epetra_LongLongSerialDenseMatrix.cpp.o CMakeFiles/epetra.dir/Epetra_LongLongSerialDenseVector.cpp.o CMakeFiles/epetra.dir/Epetra_LongLongVector.cpp.o CMakeFiles/epetra.dir/Epetra_dcrsmm.f.o CMakeFiles/epetra.dir/Epetra_dcrsmv.f.o CMakeFiles/epetra.dir/Epetra_dcrssm.f.o CMakeFiles/epetra.dir/Epetra_dcrssv.f.o CMakeFiles/epetra.dir/Epetra_MpiComm.cpp.o CMakeFiles/epetra.dir/Epetra_MpiCommData.cpp.o CMakeFiles/epetra.dir/Epetra_MpiDistributor.cpp.o  -L/usr/local/Cellar/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2  -L/usr/local/Cellar/gcc/4.9.2/lib ../../teuchos/remainder/src/libteuchosremainder.11.12.1.dylib ../../teuchos/numerics/src/libteuchosnumerics.11.12.1.dylib ../../teuchos/comm/src/libteuchoscomm.11.12.1.dylib ../../teuchos/parameterlist/src/libteuchosparameterlist.11.12.1.dylib ../../teuchos/core/src/libteuchoscore.11.12.1.dylib /usr/lib/liblapack.dylib /usr/lib/libblas.dylib -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lgfortran -lquadmath -lm
Undefined symbols for architecture x86_64:
  "_epetra_dcrsmm__", referenced from:
      Epetra_CrsMatrix::GeneralMM(double**, int, double**, int, int) const in Epetra_CrsMatrix.cpp.o
      Epetra_CrsMatrix::GeneralMTM(double**, int, double**, int, int) const in Epetra_CrsMatrix.cpp.o
  "_epetra_dcrsmv__", referenced from:
      Epetra_CrsMatrix::GeneralMTV(double*, double*) const in Epetra_CrsMatrix.cpp.o
  "_epetra_dcrssm__", referenced from:
      Epetra_CrsMatrix::GeneralSM(bool, bool, bool, double**, int, double**, int, int) const in Epetra_CrsMatrix.cpp.o
  "_epetra_dcrssv__", referenced from:
      Epetra_CrsMatrix::GeneralSV(bool, bool, bool, double*, double*) const in Epetra_CrsMatrix.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

do-configure script:
rm -f CMakeCache.txt

cmake \
-D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING="" \
-D TPL_ENABLE_MPI:BOOL=ON \
-D TPL_ENABLE_MUMPS:STRING=ON \
-D MUMPS_LIBRARY_DIRS:FILEPATH=/Users/nroberts/src/MUMPS_4.9.2/lib/ \
-D MUMPS_LIBRARY_NAMES:STRING="dmumps; pord; mumps_common" \
-D TPL_MUMPS_INCLUDE_DIRS:FILEPATH=/Users/nroberts/lib/mumps-4.9.2/include \
-D CMAKE_CXX_COMPILER:FILEPATH=/Users/nroberts/lib/openmpi-1.8.3/bin/mpicxx \
-D CMAKE_C_COMPILER:FILEPATH=/Users/nroberts/lib/openmpi-1.8.3/bin/mpicc \
-D CMAKE_Fortran_COMPILER:FILEPATH=/Users/nroberts/lib/openmpi-1.8.3/bin/mpif90 \
-D SWIG_EXECUTABLE:PATH=/Users/nroberts/lib/swig-3.0.2/bin/swig \
-D Trilinos_SKIP_FORTRANCINTERFACE_VERIFY_TEST:BOOL=ON \
-D MPI_BASE_DIR:PATH=/Users/nroberts/lib/openmpi-1.8.3 \
-D HAVE_GCC_ABI_DEMANGLE:BOOL=ON \
-D DART_TESTING_TIMEOUT:STRING=600 \
-D CMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \
-D BUILD_SHARED_LIBS:BOOL=ON \
-D Trilinos_ENABLE_Anasazi:BOOL=ON \
-D Trilinos_ENABLE_Belos:BOOL=ON \
-D Trilinos_ENABLE_Intrepid:BOOL=ON \
-D Trilinos_ENABLE_Sacado:BOOL=ON \
-D Trilinos_ENABLE_Epetra:BOOL=ON \
-D Trilinos_ENABLE_EpetraExt:BOOL=ON \
-D Trilinos_ENABLE_Teuchos:BOOL=ON \
-D Trilinos_ENABLE_Shards:BOOL=ON \
-D Trilinos_ENABLE_Amesos:BOOL=ON \
-D Trilinos_ENABLE_PyTrilinos:BOOL=ON \
-D Trilinos_ENABLE_Zoltan:BOOL=ON \
-D Trilinos_ENABLE_ML:BOOL=ON \
-D Trilinos_ENABLE_TESTS:BOOL=OFF \
-D TPL_ENABLE_HDF5:STRING=ON \
-D Trilinos_EXTRA_LINK_FLAGS:STRING="libz.dylib" \
-D TPL_ENABLE_Zlib:BOOL=ON \
-D HDF5_LIBRARY_DIRS:FILEPATH=/Users/nroberts/lib/hdf5/lib \
-D HDF5_LIBRARY_NAMES:STRING="hdf5" \
-D TPL_HDF5_INCLUDE_DIRS:FILEPATH=/Users/nroberts/lib/hdf5/include \
-D EpetraExt_USING_HDF5:BOOL=ON \
-DTPL_ENABLE_Netcdf=OFF \
-DTPL_ENABLE_GLM=OFF \
-DTrilinos_ASSERT_MISSING_PACKAGES=OFF \
-D CMAKE_INSTALL_PREFIX:PATH=/Users/nroberts/lib/trilinos/mpi-release-shared/ \
$EXTRA_ARGS \
../../
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://software.sandia.gov/pipermail/trilinos-users/attachments/20141213/fec8b7d9/attachment.html>


More information about the Trilinos-Users mailing list