[petsc-dev] Curse CMake to the Depths of Hell

Satish Balay balay at mcs.anl.gov
Wed Jan 18 10:06:54 CST 2017


Perhaps CMAKE_INSTALL_RPATH_USE_LINK_PATH should be set?

Satish

>>>>>>>
balay at asterix /home/balay/git-repo/github/superlu_dist (maint=)
$ grep RPATH CMakeLists.txt 
# use, i.e. don't skip the full RPATH for the build tree
SET(CMAKE_SKIP_BUILD_RPATH  FALSE)
# when building, don't use the install RPATH already
SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) 
# the RPATH to be used when installing
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
# add the automatically determined parts of the RPATH
# which point to directories outside the build tree to the install RPATH
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
<<<<<<<<

On Wed, 18 Jan 2017, Matthew Knepley wrote:

> I want to use Pragmatic, and it seems that the CMakeLists.txt is
> constructed correctly, but the dynamic library has no path in it, so after
> the link, I still need DYLD_LIBRARY_PATH. For some reason, the CMake
> install is screwing up.
> 
> Jed, do you know how to fix this? If not, I will just explicitly set this
> in our code.
> 
>    Matt
> 
> master *$:/PETSc3/petsc/petsc-dev/src/dm/impls/plex/examples/tests$ otool
> -L
> /PETSc3/petsc/petsc-dev/arch-c-exodus-master/externalpackages/git.pragmatic/build/lib/libpragmatic.dylib
> otool -L
> /PETSc3/petsc/petsc-dev/arch-c-exodus-master/externalpackages/git.pragmatic/build/lib/libpragmatic.dylib
> /PETSc3/petsc/petsc-dev/arch-c-exodus-master/externalpackages/git.pragmatic/build/lib/libpragmatic.dylib:
> /PETSc3/petsc/petsc-dev/arch-c-exodus-master/externalpackages/git.pragmatic/build/lib/libpragmatic.dylib
> (compatibility version 0.0.0, current version 0.0.0)
> /PETSc3/petsc/petsc-dev/arch-c-exodus-master/lib/libmetis.dylib
> (compatibility version 0.0.0, current version 0.0.0)
> /PETSc3/petsc/petsc-dev/arch-c-exodus-master/lib/libmpichcxx.10.dylib
> (compatibility version 11.0.0, current version 11.4.0)
> /PETSc3/petsc/petsc-dev/arch-c-exodus-master/lib/libpmpich.10.dylib
> (compatibility version 11.0.0, current version 11.4.0)
> /PETSc3/petsc/petsc-dev/arch-c-exodus-master/lib/libmpich.10.dylib
> (compatibility version 11.0.0, current version 11.4.0)
> /PETSc3/petsc/petsc-dev/arch-c-exodus-master/lib/libopa.1.dylib
> (compatibility version 2.0.0, current version 2.0.0)
> /PETSc3/petsc/petsc-dev/arch-c-exodus-master/lib/libmpl.1.dylib
> (compatibility version 2.0.0, current version 2.0.0)
> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version
> 1197.1.1)
> /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version
> 120.0.0)
> master *$:/PETSc3/petsc/petsc-dev/src/dm/impls/plex/examples/tests$ otool
> -L /PETSc3/petsc/petsc-dev/arch-c-exodus-master/lib/libpragmatic.dylib
> otool -L /PETSc3/petsc/petsc-dev/arch-c-exodus-master/lib/libpragmatic.dylib
> /PETSc3/petsc/petsc-dev/arch-c-exodus-master/lib/libpragmatic.dylib:
> libpragmatic.dylib (compatibility version 0.0.0, current version 0.0.0)
> /PETSc3/petsc/petsc-dev/arch-c-exodus-master/lib/libmetis.dylib
> (compatibility version 0.0.0, current version 0.0.0)
> /PETSc3/petsc/petsc-dev/arch-c-exodus-master/lib/libmpichcxx.10.dylib
> (compatibility version 11.0.0, current version 11.4.0)
> /PETSc3/petsc/petsc-dev/arch-c-exodus-master/lib/libpmpich.10.dylib
> (compatibility version 11.0.0, current version 11.4.0)
> /PETSc3/petsc/petsc-dev/arch-c-exodus-master/lib/libmpich.10.dylib
> (compatibility version 11.0.0, current version 11.4.0)
> /PETSc3/petsc/petsc-dev/arch-c-exodus-master/lib/libopa.1.dylib
> (compatibility version 2.0.0, current version 2.0.0)
> /PETSc3/petsc/petsc-dev/arch-c-exodus-master/lib/libmpl.1.dylib
> (compatibility version 2.0.0, current version 2.0.0)
> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version
> 1197.1.1)
> /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version
> 120.0.0)
> 
> 
> 




More information about the petsc-dev mailing list