Details
-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: 6.22/00, 6.22/02
-
Fix Version/s: 6.22/04
-
Component/s: Build System
-
Labels:None
-
Environment:
x86_64-ubuntu2004-gcc9-opt, but it shouldn't matter.
Description
I just ran into an issue while trying to build tag v6-22-00 with:
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 \
|
-Dall=ON -Dbuiltin_gsl=ON -Dbuiltin_freetype=ON -Dbuiltin_lzma=ON \
|
-Dbuiltin_veccore=ON -DXROOTD_ROOT_DIR=<foo> \
|
-DTBB_ROOT_DIR=<foo> -DCMAKE_INSTALL_PREFIX=<bar> ../root/
|
TMVA fails to link, as in my setup it would need to link against the builtin GSL CBLAS library. But $GSL_CBLAS_LIBRARY is not set for the builtin GSL build!
I had to do the following to work around the issue:
diff --git a/cmake/modules/SearchInstalledSoftware.cmake b/cmake/modules/SearchInstalledSoftware.cmake
|
index f1c6ee277b..4f1bf70a00 100644
|
--- a/cmake/modules/SearchInstalledSoftware.cmake
|
+++ b/cmake/modules/SearchInstalledSoftware.cmake
|
@@ -470,6 +470,7 @@ if(mathmore OR builtin_gsl)
|
foreach(l gsl gslcblas)
|
list(APPEND GSL_LIBRARIES ${CMAKE_BINARY_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}${l}${CMAKE_STATIC_LIBRARY_SUFFIX})
|
endforeach()
|
+ set(GSL_CBLAS_LIBRARY ${CMAKE_BINARY_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gslcblas${CMAKE_STATIC_LIBRARY_SUFFIX})
|
if(CMAKE_OSX_SYSROOT)
|
set(_gsl_cppflags "-isysroot ${CMAKE_OSX_SYSROOT}")
|
endif()
|
I will open a pull request with it in a moment, but wanted to document it in JIRA as well...
Cheers,
Attila