Problems in compiling root 5.14


I’m a newbie to use Linux. I’m using FC 6 , gcc 4.1. and trying to install root 5.14 these days.

I met this error when I compiled root.

g++ -m32 -O   -o bin/root rootx/src/rootx.o test.o rootx/src/rootxx.o -L/usr/X11R6/lib -lXpm  -lXext -lX11

/usr/X11R6/lib/libXpm.a(parse.o): In function xpmParseExtensions': parse.c: (.text+0x13f8): undefined reference to__ctype_b’
/usr/X11R6/lib/libXpm.a(data.o): In function xpmNextWord': data.c: (.text+0x482): undefined reference to__ctype_b’
data.c: (.text+0x4bf): undefined reference to __ctype_b' data.c: (.text+0x504): undefined reference to__ctype_b’
data.c: (.text+0x51b): undefined reference to __ctype_b' /usr/X11R6/lib/libXpm.a(data.o):data.c: (.text+0x532): more undefined references to__ctype_b’ follow
collect2: ld returned 1 exit status
make: *** [bin/root] Error 1

I'm not sure how to solve it. It may be related to the GCC version.  But the strange thing is, when I make again another day, the error disapear, and the make process seemed successfully. 
But another problem occured, after I entered 'root' to install. 

the prompt showed:

 *** DISPLAY not set, setting it to
 root: can't start ROOT --check that ...root.exe exist    

And I found that even though I set the ROOTSYS, there is no root files after compiling. 

How can I solve these problems?

Thanks a lot.


Hhmm, interesting since there are no compiler errors, but only linking problems. It is likely a problem due to using gcc 4.1. Is this the default compiler or did you install it yourself? Try the latest version of ROOT otherwise.

Cheers, Fons.

Geant has been installed in this computer. Gcc 4.1 is the latest version, may be it was updated by others before.

Actually, I’m trying to install GATE in computer. The code source recommend the root version of 5.14 if I will install GATE 3.12. Does it matter if I install the latest version of ROOT?

I found root.exe and other files seems related in /bin and /lib.
The first question is why they were in these directory?
Second, the modified times of these files were earlier than I last compiled the root.
Second, the PATH included the /bin, why did it cannot find the root.exe?

'*** DISPLAY not set, setting it to '
Is this prompt related to the linux system? I cannot enter the X-window yesterday. May be I did something wrong. So frustrating… -_-!

No idea how that came in /bin. Did you configure:

./configure --prefix=/ ?

Please build using:


and nothing else.

– Fons

I used ./configure --prefix=/usr/local

I tried
make again,
when I ran root,
it prompted :

DISPLAY not set…
and then
root : cannot start ROOT, check that root.exe exist!

But I really saw the root.exe in that directory…

starting directly root.exe does that work?

– Fons

Error in TCint::LoadLibraryMap: library map empty, no system.rootmap file
found. ROOT not properly installed (run “make install”).

  •                                     *
  •    W E L C O M E  to  R O O T       *
  •                                     *
  • Version 5.14/00g 9 July 2007 *
  •                                     *
  • You are welcome to visit our Web site *
  •      [](            *
  •                                     *

Compiled on 6 March 2008 for linux with thread support.

CINT/ROOT C/C++ Interpreter version 5.16.16, November 24, 2006
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
Error: cannot open file “iostream” (tmpfile):2:
*** Interpreter error recovered ***
Error: cannot open file “_string” (tmpfile):2:
*** Interpreter error recovered ***
Error: cannot open file “vector” (tmpfile):2:
*** Interpreter error recovered ***
Error: cannot open file “pair” (tmpfile):2:
*** Interpreter error recovered ***
Error: cannot open file “RtypesCint.h” (tmpfile):2:
*** Interpreter error recovered ***

And you’ve set ROOTSYS properly?

– Fons

Hi everybody,

I’m a newbie to linux as well and I’m getting the same error message when trying to compile root on my kubuntu laptop:

g++ -m32 -O2 -o bin/root rootx/src/rootx.o rootx/src/rootxx.o -L/lib -lXpm -lXext -lX11 -lXft /lib/libXpm.a(parse.o): In function `xpmParseExtensions': parse.c:(.text+0x13f8): undefined reference to `__ctype_b' /lib/libXpm.a(data.o): In function `xpmNextWord': data.c:(.text+0x482): undefined reference to `__ctype_b' data.c:(.text+0x4bf): undefined reference to `__ctype_b' data.c:(.text+0x504): undefined reference to `__ctype_b' data.c:(.text+0x51b): undefined reference to `__ctype_b' /lib/libXpm.a(data.o):data.c:(.text+0x532): more undefined references to `__ctype_b' follow collect2: ld gab 1 als Ende-Status zurück make: *** [bin/root] Fehler 1

I have no idea how to solve this problem. I tried a number of things like changing the gcc version from gcc 4.1 to gcc 3.4 without any sort of success. Is this a known bug? Does it make sense to try to install an older version of root instead? Frustration’s getting close :frowning:

Does somebody know how to solve this puzzle?
Looking forward to any kind of help and advice, thanks in advance,


Hello Marius,

when I tried to compile root on Kubuntu for the first time, I also ran into a compile error. (I don’t remeber if it was the same)

The solution was to install cernlib first and then compile root again. (I don’t remeber the exact name - so search for cern in the package manager)

Hope that helps

Hello Wolf,

thank you for your fast response;

actually, in the end I installed every single package somehow related to cernlib, but unfortunately without success: the compile error remains the same.


After googling around it shows that this error is due to the libXpm.a that is found is compiled with an old version of the compiler/glibc. Can you please try to install libXpm from source or make sure it is the right version that is found by ROOT’s ./configure. Typically is found in /usr/X11R6/lib and not in /lib.

Cheers, Fons.



Dear Fons,
thank you for your fast response; I made it with your advice, set the libxpm path manually when configuring root, and FINALLY it compiled. It works and I’m really thankful and appreciate your help!!!

Thanks once again,