TBrowser fails in Ubuntu 24.04 through WSL (missing libgif.so)

ROOT Version: 6.32.04
Platform: Ubuntu 24.04 (through WSL)
Compiler: g++

I recently installed ROOT in Ubuntu 24.04 through WSL on my Windows 11 computer. To do this, I followed all the standard ROOT installation instructions for a pre-compiled binary distribution in Ubuntu, making sure to install all the dependencies first as listed on the ROOT website. I also added the correct source command to my .bashrc.

The first thing I did to test my new ROOT installation was to open a browser window via new TBrowser(), after which I received a segmentation violation and gross-looking stack trace (see below). A bit of searching yielded some forum posts which seem to say that getting ROOT to work properly on Ubuntu is a pain. However, I’m not sure whether my issue has to do with my WSL-based environment, or if it is really just an Ubuntu issue and I should try a different Linux distribution. I did also try ldconfig as suggested in some forum posts, but that didn’t seem to help at all.

The error message was as follows:

cling::DynamicLibraryManager::loadLibrary(): libgif.so.7: cannot open shared object file: No such file or directory
Error in <TInterpreter::TCling::AutoLoad>: failure loading library libASImage.so for TASImage
cling::DynamicLibraryManager::loadLibrary(): libgif.so.7: cannot open shared object file: No such file or directory
Error in <TGVSplitter::TGVSplitter>: splitterv.xpm not found
Error in <TGHSplitter::TGHSplitter>: splitterh.xpm not found
Error in <TGComboBox::TGComboBox>: arrow_down.xpm not found
Error in <TGVScrollBar::TGVScrollBar>: arrow_*.xpm not found

 *** Break *** segmentation violation
 Generating stack trace...
 0x00007fee933ef670 in TGListBox::Resize(unsigned int, unsigned int) at TGListBox.cxx:? from /root/lib/libGui.so
 0x00007fee9337a0f9 in TGComboBox::Init() + 0x1a9 from /root/lib/libGui.so
 0x00007fee9337b59c in TGComboBox::TGComboBox(TGWindow const*, char const*, int, unsigned int, unsigned long) + 0x19c from /root/lib/libGui.so
 0x00007fee933aa3ef in TGFileBrowser::CreateBrowser() + 0xdf from /root/lib/libGui.so
 0x00007fee933abc4b in TGFileBrowser::TGFileBrowser(TGWindow const*, TBrowser*, unsigned int, unsigned int) + 0x13b from /root/lib/libGui.so
 0x00007fee92dcc0ab in <unknown function>
 0x00007feea944c5f8 in <unknown> from /root/lib/libCling.so
 0x00007feea93c5f51 in <unknown> from /root/lib/libCling.so
 0x00007feea93c6708 in <unknown> from /root/lib/libCling.so
 0x00007feea93c6982 in <unknown> from /root/lib/libCling.so
 0x00007feea94c0cbf in <unknown> from /root/lib/libCling.so
 0x00007feea92b785c in <unknown> from /root/lib/libCling.so
 0x00007feea92d0301 in TCling::ProcessLine(char const*, TInterpreter::EErrorCode*) + 0x14f1 from /root/lib/libCling.so
 0x00007feeafd006ee in TROOT::ProcessLine(char const*, int*) + 0x8e from /root/lib/libCore.so
 0x00007fee934dea6e in TRootBrowser::ExecPlugin(char const*, char const*, char const*, int, int) + 0x23e from /root/lib/libGui.so
 0x00007fee934de2b2 in TRootBrowser::InitPlugins(char const*) + 0xa2 from /root/lib/libGui.so
 0x00007fee934e069e in TRootBrowser::TRootBrowser(TBrowser*, char const*, unsigned int, unsigned int, char const*, bool) + 0x22e from /root/lib/libGui.so
 0x00007fee934e07b0 in TRootBrowser::NewBrowser(TBrowser*, char const*, unsigned int, unsigned int, char const*) + 0x50 from /root/lib/libGui.so
 0x00007fee92e331e6 in <unknown function>
 0x00007feeafda76c5 in long TPluginHandler::ExecPluginImpl<TBrowser*, char const*, unsigned int, unsigned int, char const*>(TBrowser* const&, char const* const&, unsigned int const&, unsigned int const&, char const* const&) + 0x2d5 from /root/lib/libCore.so
 0x00007fee93506d22 in TRootGuiFactory::CreateBrowserImp(TBrowser*, char const*, unsigned int, unsigned int, char const*) + 0x142 from /root/lib/libGui.so
 0x00007feeafda3382 in TBrowser::TBrowser(char const*, char const*, TBrowserImp*, char const*) + 0x162 from /root/lib/libCore.so
 0x00007feea8824065 in <unknown function>
 0x00007feea944c5f8 in <unknown> from /root/lib/libCling.so
 0x00007feea93c5f51 in <unknown> from /root/lib/libCling.so
 0x00007feea93c6708 in <unknown> from /root/lib/libCling.so
 0x00007feea93c6982 in <unknown> from /root/lib/libCling.so
 0x00007feea94c0cbf in <unknown> from /root/lib/libCling.so
 0x00007feea92b785c in <unknown> from /root/lib/libCling.so
 0x00007feea92d0301 in TCling::ProcessLine(char const*, TInterpreter::EErrorCode*) + 0x14f1 from /root/lib/libCling.so
 0x00007feeaffd7a7b in TRint::ProcessLineNr(char const*, char const*, int*) + 0x15b from /root/lib/libRint.so
 0x00007feeaffd7e75 in TRint::HandleTermInput() + 0x215 from /root/lib/libRint.so
 0x00007feeafe1a678 in TUnixSystem::CheckDescriptors() + 0x98 from /root/lib/libCore.so
 0x00007feeafe1da08 in TUnixSystem::DispatchOneEvent(bool) + 0x598 from /root/lib/libCore.so
 0x00007feeafd1f1b4 in TSystem::Run() + 0xe4 from /root/lib/libCore.so
 0x00007feeafca1c17 in TApplication::Run(bool) + 0x27 from /root/lib/libCore.so
 0x00007feeaffd97c2 in TRint::Run(bool) + 0x3d2 from /root/lib/libRint.so
 0x000056490de12303 in main + 0x53 from /root/bin/root.exe
 0x00007feeaf65e1ca in <unknown> from /lib/x86_64-linux-gnu/libc.so.6
 0x00007feeaf65e28b in __libc_start_main + 0x8b from /lib/x86_64-linux-gnu/libc.so.6
 0x000056490de12355 in _start + 0x25 from /root/bin/root.exe
Root >

Is there perhaps an installation detail I missed by which I can get this to work? If it is an Ubuntu problem, it should be pretty easy for me to just try a different Linux distribution (if there is a better one suggested).

Steps to reproduce:

  1. Install Ubuntu 24.04 through WSL on Windows 11
  2. Launch Ubuntu in the root user and install ROOT dependencies:
apt-get install binutils cmake dpkg-dev g++ gcc libssl-dev git libx11-dev \
libxext-dev libxft-dev libxpm-dev python3 libtbb-dev libvdt-dev
  1. Download and install ROOT in the root directory
cd ~/..
wget https://root.cern/download/root_v6.32.04.Linux-ubuntu24.04-x86_64-gcc13.2.tar.gz
tar -xzvf root_v6.32.04.Linux-ubuntu24.04-x86_64-gcc13.2.tar.gz
  1. Source ROOT via source /root/bin/thisroot.sh (I added this to my ~root/.bashrc)
  2. Start ROOT and run new TBrowser()

Try also:

sudo apt install libgif-dev

Hmmm, I guess I probably should have thought to try that first, that seemed to fix the issue! It’s not listed as one of the dependencies for installation in “Ubuntu and other Debian-based distributions” on the ROOT website. I guess technically it’s not required since you can install ROOT without it, but is there some way it could be indicated on the installation website that some ROOT features will not work properly without it?

Yes, libgif-dev should probably be added to the dependencies list (I think since Ubuntu 24.04; not sure about Debian but it shouldn’t hurt if installed); perhaps @Danilo can have a look.

Hi,

Thanks for the hint!

We’ll have a look to the doc, also comparing with the settings of our container images.

Cheers,
D

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.