[Trilinos-Users] [EXTERNAL] make_install_error

Elliott, James John jjellio at sandia.gov
Wed Oct 18 20:10:00 EDT 2017


I do not have experience with Peridigm, but it looks like it is requiring pthreads.

A stopgap solution may be to add the following to your Peridigm configure.
-D CMAKE_EXE_LINKER_FLAGS="-lpthread"

Another option would be to ensure that the Trilinos installation defines a library path for Pthreads.
-D TPL_ENABLE_Pthread=ON

The above should have CMake find a pthread library (libpthread.a), and include that path in the Trilinos set of library paths (as it does with BLAS and LAPACK).

James


________________________________
From: Eligiusz Postek <ewpostek at googlemail.com>
Sent: Wednesday, October 18, 2017 3:59 PM
To: Elliott, James John; peridigm-users at software.sandia.gov
Cc: Bartlett, Roscoe A; trilinos-users at trilinos.org
Subject: Re: [Trilinos-Users] [EXTERNAL] make_install_error

Hi,
I introduced your suggestions.
However, I obtain an error
while building Peridigm,
I attached the options to build Trilinos,
there is the error (log Cmake) and the
options for Peridigm,
Could you help ?
Elek

The error  (cmake log):
gmake[1]: Leaving directory `/lustre/tetyda/home/ewpostek/peri14a/build/CMakeFiles/CMakeTmp'

File /home/ewpostek/peri14a/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>

int main(int argc, char** argv)
{
  (void)argv;
#ifndef pthread_create
  return ((int*)(&pthread_create))[argc];
#else
  (void)argc;
  return 0;
#endif
}


 The Peridigm options:


/home/ewpostek/cmm/cmake-3.9.4-Linux-x86_64/bin/cmake \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DTrilinos_DIR:PATH="/lustre/tetyda/home/ewpostek/Tri2/insta/include" \
-DCMAKE_C_COMPILER:STRING=cc \
-DCMAKE_CXX_COMPILER:STRING=CC \
-DBOOST_ROOT:PATH=/apps/boost/1.60.0/GNU/5.3 \
-DBoost_DIR:PATH=/apps/boost/1.60.0/GNU/5.3 \
-DCMAKE_CXX_FLAGS:STRING="-O2 -Wall -pedantic -std=c++11 -Wno-long-long -ftrapv -Wno-deprecated" \
-DCMAKE_INSTALL_PREFIX:PATH=/home/ewpostek/peri1a/insta \
/home/ewpostek/peri14a/peridigm-master




On Wed, Oct 18, 2017 at 6:58 PM, Eligiusz Postek <ewpostek at googlemail.com<mailto:ewpostek at googlemail.com>> wrote:
Hello,
these are my settings that produce the error, below.
I am  introducing the suggestions, now.

/home/ewpostek/cmm/cmake-3.9.4-Linux-x86_64/bin/cmake \
-D CMAKE_INSTALL_PREFIX:PATH=/home/ewpostek/Trilinos/insta \
-D CMAKE_CXX_FLAGS:STRING="-O2 -ansi -pedantic -ftrapv -Wall -Wno-long-long" \
-D CMAKE_BUILD_TYPE:STRING=RELEASE \
-D CMAKE_Fortran_FLAGS_RELEASE:STRING=-O3 \
-D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING="" \
-D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF \
-D Trilinos_ENABLE_Teuchos:BOOL=ON \
-D Trilinos_ENABLE_Shards:BOOL=ON \
-D Trilinos_ENABLE_Sacado:BOOL=ON \
-D Trilinos_ENABLE_Epetra:BOOL=ON \
-D Trilinos_ENABLE_EpetraExt:BOOL=ON \
-D Trilinos_ENABLE_Ifpack:BOOL=ON \
-D Trilinos_ENABLE_AztecOO:BOOL=ON \
-D Trilinos_ENABLE_Amesos:BOOL=ON \
-D Trilinos_ENABLE_Anasazi:BOOL=ON \
-D Trilinos_ENABLE_Belos:BOOL=ON \
-D Trilinos_ENABLE_ML:BOOL=ON \
-D Trilinos_ENABLE_Phalanx:BOOL=ON \
-D Trilinos_ENABLE_Intrepid:BOOL=ON \
-D Trilinos_ENABLE_NOX:BOOL=ON \
-D Trilinos_ENABLE_Stratimikos:BOOL=ON \
-D Trilinos_ENABLE_Thyra:BOOL=ON \
-D Trilinos_ENABLE_Rythmos:BOOL=ON \
-D Trilinos_ENABLE_MOOCHO:BOOL=ON \
-D Trilinos_ENABLE_TriKota:BOOL=OFF \
-D Trilinos_ENABLE_Stokhos:BOOL=ON \
-D Trilinos_ENABLE_Zoltan:BOOL=ON \
-D Trilinos_ENABLE_Piro:BOOL=ON \
-D Trilinos_ENABLE_Teko:BOOL=ON \
-D Trilinos_ENABLE_SEACASIoss:BOOL=ON \
-D Trilinos_ENABLE_SEACAS:BOOL=OFF \
-D Trilinos_ENABLE_SEACASBlot:BOOL=ON \
-D Trilinos_ENABLE_Pamgen:BOOL=ON \
-D Trilinos_ENABLE_EXAMPLES:BOOL=OFF \
-D Trilinos_ENABLE_TESTS:BOOL=ON \
-D TPL_ENABLE_Matio=OFF \
-D TPL_ENABLE_HDF5:BOOL=OFF \
-D TPL_ENABLE_Netcdf:BOOL=OFF \
-D TPL_ENABLE_MPI:BOOL=ON \
-D TPL_ENABLE_BLAS:BOOL=ON \
-D TPL_ENABLE_LAPACK:BOOL=ON \
-D TPL_ENABLE_Boost:BOOL=ON \
-D Boost_INCLUDE_DIRS:PATH="/opt/apps/boost/1.60.0/GNU/5.3/include" \
-D BoostLib_LIBRARY_DIRS="/opt/apps/boost/1.60.0/GNU/5.3/lib" \
-D CMAKE_VERBOSE_MAKEFILE:BOOL=OFF \
-D CMAKE_EXE_LINKER_FLAGS=" " \
-D MPI_BASE_DIR:FILEPATH="/opt/cray/mpt/7.3.2/gni/mpich-gnu/5.1" \
-D Trilinos_VERBOSE_CONFIGURE:BOOL=OFF \
-D MPI_C_COMPILER:FILEPATH=cc \
-D MPI_CXX_COMPILER:FILEPATH=CC \
-D MPI_Fortran_COMPILER:FILEPATH=ftn \
-D TPL_HDF5_LIBRARIES=/opt/cray/hdf5/1.8.16/GNU/5.1/lib \
-D BLAS_LIBRARY_DIRS:PATH=/home/ewpostek/lapack_build/lib_stat \
-D LAPACK_LIBRARY_DIRS:PATH=/home/ewpostek/lapack_build/lib_stat \
-D HDF5_INCLUDE_DIRS=/opt/cray/hdf5/1.8.16/GNU/5.1/include \
-D TPL_Netcdf_LIBRARIES=/opt/cray/netcdf/4.4.0/GNU/5.1 \
/home/ewpostek/Tri2/trilinos-12.12.1-Source


On Wed, Oct 18, 2017 at 5:11 PM, Elliott, James John <jjellio at sandia.gov<mailto:jjellio at sandia.gov>> wrote:

It looks like it is trying to set RPATH on a statically linked executable.

On Cray machines,
I use:
-D Trilinos_LINK_SEARCH_START_STATIC:BOOL=ON
-D BUILD_SHARED_LIBS:BOOL=OFF
-D Trilinos_SET_INSTALL_RPATH=OFF

# This is unrelated, but I need it on Cray to get CXX demangling correct.
-D HAVE_GCC_ABI_DEMANGLE:BOOL=TRUE


# always set the compilers

-D MPI_USE_COMPILER_WRAPPERS=OFF
-D CMAKE_CXX_COMPILER="CC"
-D CMAKE_C_COMPILER="cc"
-D CMAKE_Fortran_COMPILER="ftn"


The above settings tell CMake to prefer static libs over shared.
Turns off shared lib generation by Trilinos
Disables the setting of the runtime path for executables, which is unneeded since they are statically linked.


James


________________________________
From: Trilinos-Users <trilinos-users-bounces at trilinos.org<mailto:trilinos-users-bounces at trilinos.org>> on behalf of Bartlett, Roscoe A <rabartl at sandia.gov<mailto:rabartl at sandia.gov>>
Sent: Wednesday, October 18, 2017 7:20 AM
To: Eligiusz Postek; trilinos-users at trilinos.org<mailto:trilinos-users at trilinos.org>
Subject: Re: [Trilinos-Users] [EXTERNAL] make_install_error

What are the full set of options you are passing to cmake?

-Ross

From: Trilinos-Users [mailto:trilinos-users-bounces at trilinos.org<mailto:trilinos-users-bounces at trilinos.org>] On Behalf Of Eligiusz Postek
Sent: Sunday, October 15, 2017 2:44 AM
To: trilinos-users at trilinos.org<mailto:trilinos-users at trilinos.org>
Subject: [EXTERNAL] [Trilinos-Users] make_install_error

Dear Colleagues,
I get the error during installation
This is the source :     trilinos-12.12.1-Source
This is cmake: /home/ewpostek/cmm/cmake-3.9.4-Linux-x86_64/bin/cmake
This is the environment:

module load PrgEnv-gnu/5.2.82 (gnu cray xc30)
module load cray-mpich/7.3.2

make install

-- Installing: /home/ewpostek/Tri2/insta/include/Epetra_MpiDistributor.h
-- Installing: /home/ewpostek/Tri2/insta/bin/Epetra_BasicPerfTest_test.exe
CMake Error at packages/epetra/test/BasicPerfTest/cmake_install.cmake:45 (file):
  file RPATH_CHANGE could not write new RPATH:

    /home/ewpostek/Tri2/insta/lib

  to the file:

    /home/ewpostek/Tri2/insta/bin/Epetra_BasicPerfTest_test.exe

  No valid ELF RPATH or RUNPATH entry exists in the file;
Call Stack (most recent call first):
  packages/epetra/test/cmake_install.cmake:39 (include)
  packages/epetra/cmake_install.cmake:65 (include)
  cmake_install.cmake:72 (include)


make: *** [install] Error 1
okeanos1 Tri2/build>


Could you be so kind to give a hint?

Best regards,
Elek



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://trilinos.org/pipermail/trilinos-users/attachments/20171019/0f8f473e/attachment.html>


More information about the Trilinos-Users mailing list