-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Build failure on Ubuntu22.04, when ROOT builds FTGL itself #11239
Copy link
Copy link
Closed
Labels
Description
I get a build failure on Ubuntu22.04 when ROOT tries to build FTGL itself. The error comes from lacking a library at the linker stage, viz. libbrotlicommon.so.
[ 51%] Linking CXX shared library ../../lib/libGraf.so
cd /home/graemes/tmp/root-build-nobrotli/graf2d/graf && /usr/bin/cmake -E cmake_link_script CMakeFiles/Graf.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -std=c++17 -Wno-implicit-fallthrough -Wno-noexcept-type -pipe -Wshadow -Wall -W -Woverloaded-virtual -fsigned-char -pthread -O3 -DNDEBUG -Wl,--no-undefined -Wl,--hash-style="both" -shared -Wl,-soname,libGraf.so -o ../../lib/libGraf.so CMakeFiles/Graf.dir/src/TArc.cxx.o CMakeFiles/Graf.dir/src/TArrow.cxx.o CMakeFiles/Graf.dir/src/TAttImage.cxx.o CMakeFiles/Graf.dir/src/TBox.cxx.o CMakeFiles/Graf.dir/src/TCandle.cxx.o CMakeFiles/Graf.dir/src/TCrown.cxx.o CMakeFiles/Graf.dir/src/TCurlyArc.cxx.o CMakeFiles/Graf.dir/src/TCurlyLine.cxx.o CMakeFiles/Graf.dir/src/TCutG.cxx.o CMakeFiles/Graf.dir/src/TDiamond.cxx.o CMakeFiles/Graf.dir/src/TEllipse.cxx.o CMakeFiles/Graf.dir/src/TFrame.cxx.o CMakeFiles/Graf.dir/src/TGaxis.cxx.o CMakeFiles/Graf.dir/src/TGraphPolar.cxx.o CMakeFiles/Graf.dir/src/TGraphPolargram.cxx.o CMakeFiles/Graf.dir/src/TGraphQQ.cxx.o CMakeFiles/Graf.dir/src/TImage.cxx.o CMakeFiles/Graf.dir/src/TLatex.cxx.o CMakeFiles/Graf.dir/src/TLegend.cxx.o CMakeFiles/Graf.dir/src/TLegendEntry.cxx.o CMakeFiles/Graf.dir/src/TLine.cxx.o CMakeFiles/Graf.dir/src/TLink.cxx.o CMakeFiles/Graf.dir/src/TMarker.cxx.o CMakeFiles/Graf.dir/src/TMathText.cxx.o CMakeFiles/Graf.dir/src/TPave.cxx.o CMakeFiles/Graf.dir/src/TPaveLabel.cxx.o CMakeFiles/Graf.dir/src/TPaveStats.cxx.o CMakeFiles/Graf.dir/src/TPaveText.cxx.o CMakeFiles/Graf.dir/src/TPavesText.cxx.o CMakeFiles/Graf.dir/src/TPie.cxx.o CMakeFiles/Graf.dir/src/TPieSlice.cxx.o CMakeFiles/Graf.dir/src/TPoints.cxx.o CMakeFiles/Graf.dir/src/TPolyLine.cxx.o CMakeFiles/Graf.dir/src/TTF.cxx.o CMakeFiles/Graf.dir/src/TText.cxx.o CMakeFiles/Graf.dir/src/TWbox.cxx.o CMakeFiles/G__Graf.dir/G__Graf.cxx.o -Wl,-rpath,/home/graemes/tmp/root-build-nobrotli/lib: ../../FREETYPE-prefix/src/FREETYPE/objs/.libs/libfreetype.a /usr/lib/x86_64-linux-gnu/libz.so ../../lib/libmathtext.a ../../lib/libHist.so ../../lib/libMatrix.so ../../lib/libMathCore.so ../../lib/libImt.so ../../lib/libMultiProc.so ../../lib/libNet.so ../../lib/libRIO.so ../../lib/libThread.so ../../lib/libCore.so
/usr/bin/ld: ../../FREETYPE-prefix/src/FREETYPE/objs/.libs/libfreetype.a(sfnt.o): in function `sfnt_init_face':
sfnt.c:(.text+0x1173a): undefined reference to `BrotliDecoderDecompress'
collect2: error: ld returned 1 exit status
If I re-run the link manually adding /usr/lib/x86_64-linux-gnu/libbrotlicommon.so it succeeds.
The error is avoided entirely if the FTGL libraries are found on the system (specifically for Ubuntu by installing the libfgtl-dev package).
Naively, it seems there is probably a missing library in graf2d/graf/CMakeLists.txt.
To Reproduce
Try to build ROOT 6.26/06 on an Ubuntu 22.04 machine where FTGL is not natively installed and ROOT self-builds it (builtin_ftgl is enabled).
Reactions are currently unavailable