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

Reply via email to