[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