I have a problem starting the GUI on ROOT 5.14/00 on Ubuntu 6.06 Linux (Dapper Drake). I compiled it from sources.
% root -l root  TBrowser() Error in <TGVScrollBar>: arrow_*.xpm not found *** Break *** segmentation violation
This is not a problem with locating files. This is my only ROOT installation, I have no ~/.rootrc, and etc/system.rootrc has
% grep Gui.IconPath etc/system.rootrc Gui.IconPath: $(HOME)/icons:$(ROOTSYS)/icons:. % root -l root  gEnv->GetValue("Gui.IconPath", "hey") (const char* 0x8320588)"/home/dapper/icons:/home/software/physics/root/icons:."
I encounter the same error whether I build with
./configure --prefix=/home/software/physics --etcdir=/home/software/physics/etc make install
export ROOTSYS=/home/software/physics/root ./configure make install
I investigated the problem by looking at TGScrollBar.cxx and following the program flow. As you can see, ROOT finds the arrow_down.xpm file. I think it fails when it opens the TImage, because the pixmap handle probably shouldn’t be zero. Given the null handle, it can’t make a TGPicture.
root  char *picnam = gSystem->Which(gClient->GetPicturePool()->GetPath(), "arrow_down.xpm") root  picnam (char* 0x8a750a0)"/home/software/physics/root/icons/arrow_down.xpm" root  char *pname = "arrow_down.xpm" root  TImage *img = TImage::Open(picnam) root  img->GetPixmap() (unsigned long)0 root  img->GetMask() (unsigned long)23068803 root  TGPicture* pic = TGPicture(pname, img->GetPixmap(), img->GetMask()) Error: Symbol null is not defined in current scope :0: *** Interpreter error recovered ***
What about privileges? I own the file and can read and write.
% lsl /home/software/physics/root/icons/arrow_down.* -rw-r--r-- 1 dapper dapper 79 2007-01-10 14:46 /home/software/physics/root/icons/arrow_down.gif -rw-r--r-- 1 dapper dapper 185 2002-02-07 04:27 /home/software/physics/root/icons/arrow_down.xpm
I also made a GIF copy of the image and tried to read that, instead. Same problem.
I do, in fact, have an XPM library, and ROOT is using it.
% ldd `which root` | grep libXpm libXpm.so.4 => /usr/lib/libXpm.so.4 (0xb7f65000)