Hi,
ROOT Version: 6.16.00
Platform: CentOS7
Compiler: gcc 4.8.5
I am building ROOT 6.16.00 from source on CentOS7 with gcc 4.8.5. Here are the explicit settings I add, where I am purposely trying to use the system provided LZMA:
-Dxrootd=OFF \
-Dbuiltin_xrootd=OFF \
-Dbuiltin_fftw3=ON \
-Dminuit2=ON \
-Droofit=ON \
-Dcastor=OFF \
-Drfio=OFF \
-DGSL_DIR=$(MYGSLDIR)
Early on I see the LZMA lib is found:
24215 [ROOT-conf] -- Found LZMA library at /usr/lib64/liblzma.so
However there are undefined references and the build fails:
31831 [R../lib/libCore.so: undefined reference to `lzma_lzma_preset@XZ_5.0'
31832 ../lib/libCore.so: undefined reference to `lzma_code@XZ_5.0'
31833 ../lib/libCore.so: undefined reference to `lzma_stream_decoder@XZ_5.0'
31834 ../lib/libCore.so: undefined reference to `lzma_stream_encoder@XZ_5.0'
31835 ../lib/libCore.so: undefined reference to `lzma_end@XZ_5.0'
I also tried using the ROOT provided LZMA, but that results in a library mismatch with my system libxml2:
34356 [ROOT-install] Processing hsimple.C...
34357 [ROOT-install] hsimple : Real Time = 0.37 seconds Cpu Time = 0.19 se conds
34358 [ROOT-install] (TFile *) 0x3185ec0
34359 [ROOT-install] [ 91%] Built t//usr/lib64/libxml2.so.2: undefined reference to `lzma_auto_decoder@XZ_5.0'
34360 //usr/lib64/libxml2.so.2: undefined reference to `lzma_code@XZ_5.0'
34361 //usr/lib64/libxml2.so.2: undefined reference to `lzma_properties_decode@X Z_5.0'
34362 //usr/lib64/libxml2.so.2: undefined reference to `lzma_end@XZ_5.0'
34363 collect2: error: ld returned 1 exit status
34364 make[2]: *** [bin/hist2workspace] Error 1
34365 make[1]: *** [roofit/histfactory/CMakeFiles/hist2workspace.dir/all] Error 2
34366 make: *** [all] Error 2
It looks like gcc 4.8.5 is a supported compiler for 6.16.00. Any recommendations to work around this? Should I pursue an updated system lzma library? Is it possible to provide a built-in libxml2 that is compatible with the built-in lzma?
Thank you,
Heather