Bug #2578
Unable to build C++ software in a prefix which has multiple versions of a required dependency
Added by N. Köster over 7 years ago. Updated about 7 years ago.
Status: | Resolved | Start date: | 06/21/2016 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | J. Moringen | % Done: | 100% | |
Category: | Jenkins API | |||
Target version: | 0.6 |
Description
When having multiple RSB versions installed (e.g. 0.12 and 0.13) in the same prefix (e.g. during a RSB version update), C++ programs which are build via the toolkit get confused and do not build anymore. The reason is that the creation of the according environment variables via find
are filled with multiple lines.
Started by user nkoester Building in workspace /media/local_data/nkoester/jenkins/ltm-system/jobs/rsb-video-writer-master-toolkit-ltm-nightly/workspace > git rev-parse --is-inside-work-tree # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url https://code.cor-lab.org/git/rsb-video-writer # timeout=10 Cleaning workspace > git rev-parse --verify HEAD # timeout=10 Resetting working tree > git reset --hard # timeout=10 > git clean -fdx # timeout=10 Fetching upstream changes from https://code.cor-lab.org/git/rsb-video-writer > git --version # timeout=10 > git -c core.askpass=true fetch --tags --progress https://code.cor-lab.org/git/rsb-video-writer +refs/heads/*:refs/remotes/origin/* > git rev-parse origin/master^{commit} # timeout=10 Checking out Revision 266af29850a409d0af8ff4b32b4563e8d9e8616a (origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 266af29850a409d0af8ff4b32b4563e8d9e8616a # timeout=10 > git branch -a # timeout=10 > git rev-parse master^{commit} # timeout=10 > git rev-parse remotes/origin/0.7^{commit} # timeout=10 > git rev-parse remotes/origin/0.9^{commit} # timeout=10 > git rev-parse remotes/origin/master^{commit} # timeout=10 > git branch -D master # timeout=10 > git checkout -b master 266af29850a409d0af8ff4b32b4563e8d9e8616a > git rev-list 266af29850a409d0af8ff4b32b4563e8d9e8616a # timeout=10 [workspace] $ /bin/sh -xe /tmp/hudson5225181509413829698.sh + mkdir -p build + cd build + rm -f CMakeCache.txt + export PKG_CONFIG_PATH=/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/lib/pkgconfig: + PKG_CONFIG_PATH=/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/lib/pkgconfig: + export PATH=/home/nkoester/local/bin:/homes/nkoester/local/usr/local/bin:/home/nkoester/.local/bin:/home/nkoester/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin:/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/bin + PATH=/home/nkoester/local/bin:/homes/nkoester/local/usr/local/bin:/home/nkoester/.local/bin:/home/nkoester/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin:/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/bin ++ find /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly -type f '(' -name RSBConfig.cmake -o -name rsb-config.cmake ')' -exec dirname '{}' ';' + RSB_DIR='/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsb0.12 /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsb0.13' ++ find /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly -type f '(' -name rst-convertersConfig.cmake -o -name rst-converters-config.cmake ')' -exec dirname '{}' ';' + RST_CONVERTERS_DIR='/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rst-converters0.13 /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rst-converters0.12' ++ find /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly -type f '(' -name OpenCVConfig.cmake -o -name opencv-config.cmake ')' -exec dirname '{}' ';' + OPENCV_DIR= ++ find /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly -type f '(' -name RSC-CMakeConfig.cmake -o -name rsc-cmake-config.cmake ')' -exec dirname '{}' ';' + RSC_CMAKE_DIR='/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsc-cmake0.12 /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsc-cmake0.13' ++ find /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly -type f '(' -name RSCConfig.cmake -o -name rsc-config.cmake ')' -exec dirname '{}' ';' + RSC_DIR='/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsc0.13 /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsc0.12' ++ find /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly -type f '(' -name RSBProtocolConfig.cmake -o -name rsbprotocol-config.cmake ')' -exec dirname '{}' ';' + RSBPROTOCOL_DIR='/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsbprotocol0.12 /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsbprotocol0.13' ++ find /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly -type f '(' -name PythonInterpConfig.cmake -o -name pythoninterp-config.cmake ')' -exec dirname '{}' ';' + PYTHONINTERP_DIR= ++ find /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly -type f '(' -name RSC-CMakeConfig.cmake -o -name rsc-cmake-config.cmake ')' -exec dirname '{}' ';' + RSC_CMAKE_DIR='/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsc-cmake0.12 /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsc-cmake0.13' ++ find /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly -type f '(' -name RSTConfig.cmake -o -name rst-config.cmake ')' -exec dirname '{}' ';' + RST_DIR='/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rst0.12 /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rst0.13' ++ find /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly -type f '(' -name PythonInterpConfig.cmake -o -name pythoninterp-config.cmake ')' -exec dirname '{}' ';' + PYTHONINTERP_DIR= ++ find /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly -type f '(' -name RSBConfig.cmake -o -name rsb-config.cmake ')' -exec dirname '{}' ';' + RSB_DIR='/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsb0.12 /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsb0.13' ++ find /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly -type f '(' -name OpenCVConfig.cmake -o -name opencv-config.cmake ')' -exec dirname '{}' ';' + OPENCV_DIR= ++ find /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly -type f '(' -name RCIConfig.cmake -o -name rci-config.cmake ')' -exec dirname '{}' ';' + RCI_DIR= ++ find /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly -type f '(' -name RSTConfig.cmake -o -name rst-config.cmake ')' -exec dirname '{}' ';' + RST_DIR='/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rst0.12 /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rst0.13' + cmake -DRSB_DIR=/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsb0.12 /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsb0.13 -Drst-converters_DIR=/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rst-converters0.13 /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rst-converters0.12 -DOpenCV_DIR= -DRSC-CMake_DIR=/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsc-cmake0.12 /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsc-cmake0.13 -DRSC_DIR=/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsc0.13 /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsc0.12 -DRSBProtocol_DIR=/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsbprotocol0.12 /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsbprotocol0.13 -DPythonInterp_DIR= -DRSC-CMake_DIR=/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsc-cmake0.12 /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsc-cmake0.13 -DRST_DIR=/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rst0.12 /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rst0.13 -DPythonInterp_DIR= -DRSB_DIR=/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsb0.12 /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsb0.13 -DOpenCV_DIR= -DRCI_DIR= -DRST_DIR=/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rst0.12 /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rst0.13 -DCMAKE_INSTALL_PREFIX=/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly -DCMAKE_BUILD_TYPE=RelWithDebInfo '-DCMAKE_CXX_FLAGS=-march=core2 -O0' -DCMAKE_SKIP_BUILD_RPATH=FALSE -DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE -DCMAKE_INSTALL_RPATH=/media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/lib -DCMAKE_INSTALL_LIBDIR=lib .. -- The C compiler identification is GNU 6.1.1 -- The CXX compiler identification is GNU 6.1.1 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - not found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Boost version: 1.60.0 -- Found the following Boost libraries: -- date_time -- thread -- filesystem -- signals -- program_options -- system -- regex -- chrono -- atomic -- Boost version: 1.60.0 -- Found the following Boost libraries: -- regex -- date_time -- program_options -- system -- protoc does not support matlab -- Found PROTOBUF: /lib64/libprotobuf.so -- Configuring done -- Generating done CMake Warning: Manually-specified variables were not used by the project: CMAKE_INSTALL_LIBDIR RCI_DIR RSBProtocol_DIR -- Build files have been written to: /media/local_data/nkoester/jenkins/ltm-system/jobs/rsb-video-writer-master-toolkit-ltm-nightly/workspace/build + make -j1 Scanning dependencies of target rsb-video-writer [ 50%] Building CXX object CMakeFiles/rsb-video-writer.dir/writer.cpp.o In file included from /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsc0.13/../../include/rsc0.13/rsc/logging/LoggerFactory.h:39:0, from /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsb0.12/../../include/rsb0.12/rsb/transport/Factory.h:34, from /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsb0.12/../../include/rsb0.12/rsb/Factory.h:52, from /media/local_data/nkoester/jenkins/ltm-system/jobs/rsb-video-writer-master-toolkit-ltm-nightly/workspace/writer.cpp:44: /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsc0.13/../../include/rsc0.13/rsc/logging/LoggingSystem.h:69:23: warning: ‘template<class R> class rsc::misc::Registry’ is deprecated [-Wdeprecated-declarations] RSC_EXPORT rsc::misc::Registry<LoggingSystem>* loggingSystemRegistry(); ^~~~~~~~ In file included from /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsc0.13/../../include/rsc0.13/rsc/logging/LoggingSystem.h:32:0, from /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsc0.13/../../include/rsc0.13/rsc/logging/LoggerFactory.h:39, from /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsb0.12/../../include/rsb0.12/rsb/transport/Factory.h:34, from /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsb0.12/../../include/rsb0.12/rsb/Factory.h:52, from /media/local_data/nkoester/jenkins/ltm-system/jobs/rsb-video-writer-master-toolkit-ltm-nightly/workspace/writer.cpp:44: /media/local_data/nkoester/vol/ltm/releases/trusty/ltm-nightly/share/rsc0.13/../../include/rsc0.13/rsc/logging/../misc/Registry.h:62:75: note: declared here class DEPRECATED_CLASS("If possible, use rsc::patterns::Factory instead") Registry: public boost::noncopyable { ^~~~~~~~ [100%] Linking CXX executable rsb-video-writer /usr/bin/ld: cannot find -lrsc0.12 /usr/bin/ld: cannot find -lrsb0.13 /usr/bin/ld: cannot find -lrst0.13 /usr/bin/ld: cannot find -lrstsandbox0.13 collect2: error: ld returned 1 exit status make[2]: *** [CMakeFiles/rsb-video-writer.dir/build.make:144: rsb-video-writer] Error 1 make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/rsb-video-writer.dir/all] Error 2 make: *** [Makefile:128: all] Error 2 Build step 'Execute shell' marked build as failure Finished: FAILURE
Associated revisions
Revision e32302f5
Added by J. Moringen over 7 years ago
Use first matching CMake package config file in src/project/aspects.lisp
fixes #2578
When multiple versions of a CMake package PACKAGE are installed in
different directories, the old find invocation found all of them and
yielded the absolute paths in a multi-line list which was used in CMake
-DPACKAGE_DIR= options, confusing CMake.
- src/project/aspects.lisp (define-aspect cmake/unix): when searching
CMake package configuration files, use the first match instead of a
multi-line line list of all matching files
History
#1 Updated by J. Moringen over 7 years ago
- Category set to Jenkins API
- Assignee set to J. Moringen
#2 Updated by J. Moringen over 7 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
Applied in changeset e32302f50717ebf67a417b5d63d0fd015dc8244f.
#3 Updated by J. Moringen about 7 years ago
- Target version set to 0.6