I'm having an issue building a child project through my master project where the child project is an "External Project" which is automatically built using CMake's "ExternalProject_Add" feature if it is not found (using "FindChildProject.cmake"). The error message happens during installing of the child project after running my cmake and make command.
*cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ..* *make -j8* *[ 1%] Performing update step for 'ext_dawg'* *[ 2%] Performing configure step for 'ext_dawg'* *-- Compiling with build type 'Release'.* *-- version: 1.1.2-429-g56f23c7.* *-- Boost version: 1.58.0* *-- Found the following Boost libraries:* *-- program_options* *-- unit_test_framework* *[ 89%] Built target phylogenyLib* *-- Configuring done* *-- Generating done* *-- Build files have been written to: /home/hendrix/repo/spartaabc-personal/build/ext_deps/ext_dawg-build* *[ 89%] Performing build step for 'ext_dawg'* *[ 87%] Built target libdawg2-static* *[ 87%] Built target libdawg2* *[ 87%] Built target version* *[100%] Built target dawg* *[ 89%] Performing install step for 'ext_dawg'* *[ 87%] Built target libdawg2* *[ 87%] Built target libdawg2-static* *[ 87%] Built target version* *[100%] Built target dawg* *Install the project...* *-- Install configuration: "Release"* *-- Up-to-date: /home/hendrix/repo/spartaabc-personal/build/ext_deps/ext_dawg-build/doc/dawg-2/copying.txt* *-- Up-to-date: /home/hendrix/repo/spartaabc-personal/build/ext_deps/ext_dawg-build/doc/dawg-2/readme.txt* *-- Up-to-date: /home/hendrix/repo/spartaabc-personal/build/ext_deps/ext_dawg-build/doc/dawg-2/changelog.txt* *-- Up-to-date: /home/hendrix/repo/spartaabc-personal/build/ext_deps/ext_dawg-build/share/dawg-2/lambda.pl <http://lambda.pl>* *-- Up-to-date: /home/hendrix/repo/spartaabc-personal/build/ext_deps/ext_dawg-build/share/dawg-2/outsplit.pl <http://outsplit.pl>* *-- Up-to-date: /home/hendrix/repo/spartaabc-personal/build/ext_deps/ext_dawg-build/share/dawg-2/nexus2fasta.pl <http://nexus2fasta.pl>* *-- Up-to-date: /home/hendrix/repo/spartaabc-personal/build/ext_deps/ext_dawg-build/share/dawg-2/varrep.pl <http://varrep.pl>* *-- Installing: /home/hendrix/repo/spartaabc-personal/build/ext_deps/ext_dawg-build/bin/dawg* *CMake Error at src/cmake_install.cmake:45 (file):* * file RPATH_CHANGE could not write new RPATH:* * /home/hendrix/repo/spartaabc-personal/build/ext_deps/ext_dawg-build/lib* * to the file:* * /home/hendrix/repo/spartaabc-personal/build/ext_deps/ext_dawg-build/bin/dawg* * No valid ELF RPATH or RUNPATH entry exists in the file;* *Call Stack (most recent call first):* * cmake_install.cmake:64 (include)* *Makefile:116: recipe for target 'install' failed* *make[3]: *** [install] Error 1* *CMakeFiles/ext_dawg.dir/build.make:74: recipe for target 'ext_deps/ext_dawg-stamp/ext_dawg-install' failed* *make[2]: *** [ext_deps/ext_dawg-stamp/ext_dawg-install] Error 2* *CMakeFiles/Makefile2:99: recipe for target 'CMakeFiles/ext_dawg.dir/all' failed* *make[1]: *** [CMakeFiles/ext_dawg.dir/all] Error 2* *Makefile:127: recipe for target 'all' failed* *make: *** [all] Error 2* ---------------------------------------------------------------------------------------------------------------------------- This child project can be built alone with no issues (it will install as well), but it can't seem to be built as an external project due to the RPATH error message above. Do I need to modify the RPATH settings from the master project or how can I specify the order of installation such that the libs are installed before the bin? The static library, libdawg2.a, which is trying to be linked to the executable in the error message above, is built in "/home/hendrix/repo/spartaabc-personal/build/ext_deps/ext_dawg-build/src/lib", but is installed to "/home/hendrix/repo/spartaabc-personal/build/ext_deps/ext_dawg-build/lib" where the executable in "/home/hendrix/repo/spartaabc-personal/build/ext_deps/ext_dawg-build/bin" needs to set it's RPATH. And like I said I can build this child project alone, it's RPATH is set to "<CMAKE_INSTALL_PREFIX>/lib" in it's respective CMakeLists.txt file. -- Zach Mertens zmert...@asu.edu
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake