Closed ferdymercury closed 3 years ago
Ok, I saw now one warning above:
-- Found Boost: /usr/include (found version "1.65.1") found components: exception filesystem log unit_test_framework system date_time log_setup thread chrono atomic missing components: regex
-- Configuring done
Maybe it should give an error rather than a warning?
Installing libboost-regex-dev solves it.
Maybe it could be added here: https://github.com/lamyj/odil/blob/master/OdilConfig.cmake.in#L5
This is unusual as Odil does not use Boost.Regex (grep -ri regex src/ wrappers/ tests/
). Could you give me a bit more details about your environment (OS, version of Boost, JsonCpp, ICU and if applicable DCMTK)?
Sure! Thanks for the reply.
-- Found Boost: /usr/include (found version "1.65.1") found components: date_time exception filesystem log system log_setup thread regex chrono atomic
-- Found the following ICU libraries:
-- uc (required)
-- Found ICU: /usr/include (found version "60.2")
-- Trying to find DCMTK expecting DCMTKConfig.cmake
-- Trying to find DCMTK expecting DCMTKConfig.cmake - ok
-- Found Boost: /usr/include (found version "1.65.1")
-- Trying to find DCMTK expecting DCMTKConfig.cmake
-- Trying to find DCMTK expecting DCMTKConfig.cmake - ok
-- Found Boost: /usr/include (found version "1.65.1") found components: exception filesystem log unit_test_framework system date_time log_setup thread regex chrono atomic
-- Trying to find DCMTK expecting DCMTKConfig.cmake
-- Trying to find DCMTK expecting DCMTKConfig.cmake - ok
-- Trying to find DCMTK expecting DCMTKConfig.cmake
-- Trying to find DCMTK expecting DCMTKConfig.cmake - ok
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/odil/build
libdcmtk-dev is already the newest version (3.6.2-3build3).
Linux 5.4.0-47-generic #51~18.04.1-Ubuntu SMP Sat Sep 5 14:35:50 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=19.3
DISTRIB_CODENAME=tricia
DISTRIB_DESCRIPTION="Linux Mint 19.3 Tricia"
CMakeFiles/Export/_opt/odil/install/lib/CMake/Odil/OdilTargets.cmake:53: INTERFACE_LINK_LIBRARIES "Boost::date_time;Boost::exception;Boost::filesystem;Boost::log;\$<\$<BOOL:ON>:ofstd;oflog;dcmdata;i2d;dcmimgle;dcmimage;dcmjpeg;ijg8;ijg12;ijg16;dcmjpls;dcmtls;dcmnet;dcmsr;cmr;dcmdsig;dcmwlm;dcmqrdb;dcmpstat;dcmrt;dcmiod;dcmfg;dcmseg;dcmtract;dcmpmap>;ICU::uc;JsonCpp::JsonCpp;\$<\$<PLATFORM_ID:Windows>:netapi32>;\$<\$<BOOL:>:bcrypt;iphlpapi>"
CMakeFiles/Makefile.cmake:45: "/snap/cmake/599/share/cmake-3.18/Modules/FindBoost.cmake"
OdilConfig.cmake:5:find_dependency(Boost REQUIRED COMPONENTS date_time exception filesystem log)
OdilTargets.cmake:50: INTERFACE_LINK_LIBRARIES "Boost::date_time;Boost::exception;Boost::filesystem;Boost::log;\$<\$<BOOL:ON>:ofstd;oflog;dcmdata;i2d;dcmimgle;dcmimage;dcmjpeg;ijg8;ijg12;ijg16;dcmjpls;dcmtls;dcmnet;dcmsr;cmr;dcmdsig;dcmwlm;dcmqrdb;dcmpstat;dcmrt;dcmiod;dcmfg;dcmseg;dcmtract;dcmpmap>;ICU::uc;JsonCpp::JsonCpp;\$<\$<PLATFORM_ID:Windows>:netapi32>;\$<\$<BOOL:>:bcrypt;iphlpapi>"
CMakeCache.txt:92://Boost regex library (debug)
CMakeCache.txt:93:Boost_REGEX_LIBRARY_DEBUG:FILEPATH=/usr/lib/x86_64-linux-gnu/libboost_regex.so
CMakeCache.txt:95://Boost regex library (release)
CMakeCache.txt:96:Boost_REGEX_LIBRARY_RELEASE:FILEPATH=/usr/lib/x86_64-linux-gnu/libboost_regex.so
CMakeCache.txt:717:FIND_PACKAGE_MESSAGE_DETAILS_Boost:INTERNAL=[/usr/include][cfound components: exception filesystem log unit_test_framework system date_time log_setup thread regex chrono atomic ][v1.65.1()]
CMakeCache.txt:831:_Boost_COMPONENTS_SEARCHED:INTERNAL=atomic;chrono;date_time;exception;filesystem;log;log_setup;regex;system;thread;unit_test_framework
Found it: Boost.log requires Boost.regex (source: /usr/share/cmake-3.10/Modules/FindBoost.cmake
look for if(NOT Boost_VERSION VERSION_LESS 106500)
) but the libboost-log-dev package does not depend on libboost-regex-dev. This is distribution-dependent, so I've just fixed the doc (cf. 35b51e2).
As a side note, the version of pybind11 packaged in Mint 19 is too old to compile the Python wrappers. I've updated the documentation to specify the minimum required versions of the dependencies (2f1844f).
Good catch!
(I have Python wrappers set to OFF, thus I hadn't noticed the second issue.)
On Linux, building with CMake fails after the latest commits from September: