I have just been given a desktop with SL 3.04 pre-installed and then compiled ROOT on it. First, I tried v4-03-02, but I got a segfault immediately. I tried running rootn.exe and it came up, so I figured it was a problem with the splash screen. When I ran it through the debugger (gdb) my suspicion was confirmed. I thought that it might be a problem with the ROOT version, so I upgraded to v4-03-04, but exactly the same problem occured. Then I tried the HEAD. Same problem. Then I compiled it with the Intel compilers (box is Intel Pentium IV based) and I got the same problem.
Here is some diagnostic information…
running it through idb :
[bbecker@phnpcg219 HEAD]$ idb `which root`
Linux Application Debugger for 32-bit applications, Version 8.1-3, Build 20040715
------------------
object file name: /local/home/bbecker/Root/HEAD/bin/root
Reading symbolic information from /dsm/phnpcg219/local/home/bbecker/Root/HEAD/bin/root...done
(idb) run
Thread received signal SEGV
stopped at [void PopupLogo(short:8):383 0x0804bb85]
383 XSetFont(gDisplay, gGC, gFont->fid);
(idb) where
>0 0x0804bb85 in PopupLogo(about=0) "rootx/src/rootxx.cxx":383
#1 0x0804a564 in main(argc=1, argv=0xbfffa8f4) "rootx/src/rootx.cxx":336
#2 0x0013179d in __libc_start_main(...) in /lib/tls/libc-2.3.2.so
#3 0x080498e1 in _start(...) in /dsm/phnpcg219/local/home/bbecker/Root/HEAD/bin/root
and with rootn.exe, I get :
Warning in <TGClient::GetFontByName>: couldn't retrieve font -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-iso8859-1, using "fixed"
Warning in <TGClient::GetFontByName>: couldn't retrieve font -adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-iso8859-1, using "fixed"
Warning in <TGClient::GetFontByName>: couldn't retrieve font -adobe-helvetica-medium-r-*-*-10-*-*-*-*-*-iso8859-1, using "fixed"
Another symptom is that when I run root on another machine and export the display to my desktop, I get the same behaviour. The same root ran fine before the installation of SL3.
This looks like a conflict between the system and ROOT fonts, no ? How can I fix it ?
What is the settings for the environment variables $ROOTSYS, $PATH and $LD_LIBRARY_PATH in the box? AFAIK, ROOT looks for its fonts in the $ROOTSYS/fonts directory.
Hi Ilka
First of all, thanks for the advice. I’m going to try it out soon. I tracked this down after lunch to find out what’s going on when it crashes. The problem comes down to this line in [quote]$ROOTSYS/rootx/src/rootxx.cxx[/quote]
It’s only the rootx frontend which dies when trying to load this font. Indeed, the debugger tells me that gFont is null :
(idb) run
Thread received signal SEGV
stopped at [void PopupLogo(short:8):383 0x0804bb85]
383 XSetFont(gDisplay, gGC, gFont->fid);
(idb) where
>0 0x0804bb85 in PopupLogo(about=0) "rootx/src/rootxx.cxx":383
#1 0x0804a564 in main(argc=1, argv=0xbfffe394) "rootx/src/rootx.cxx":336
#2 0x0040f79d in __libc_start_main(...) in /lib/tls/libc-2.3.2.so
#3 0x080498e1 in _start(...) in /dsm/phnpcg219/local/home/bbecker/Root/HEAD/bin/root
(idb) print gFont
0x0
So, could it be due to the fact that perhaps the font required is not installed or in the path ?
That’s wierd. probably my shell… bash-2.05b-29.0.3. Otherwise, I have no clue. I guess it’s something set up incorrectly on my side. Thanks for the advice anyway !
Yeah, I sort of figured that out along the way… then I was trying to figure out a way to install fonts on a machine to which I don’t have the root password ! But anyway, thanks for the hint and the help. I will update my ROOT… and shout at my sysad.