Libx11 - which to install?

Hello,

I am installing root to a linux (debian) machine. Although libx11 seems to be available under /usr/lib, I can not run “./configure linux”. It complains about the installation of “libx11 devel”. Could anyone online help me through it? Thanks.

Hi,

As the error message says, you have to install [color=#FF0000]x11-devel[/color] (note the [color=#FF0000]devel[/color] keyword) which is the development part of x11 (headers and libraries)

Cheers, Bertrand.

Thank you Bellenot,

     I see that I have to install x11-devel. However, there are many libs with this name. I have already tried a few, no success. I am using Debian, the machine processor is 686. Could you precise which x11 should be installed?

[quote=“bellenot”]Hi,

As the error message says, you have to install [color=#FF0000]x11-devel[/color] (note the [color=#FF0000]devel[/color] keyword) which is the development part of x11 (headers and libraries)

Cheers, Bertrand.[/quote]

Thank you Bellenot,

I see that I have to install x11-devel. However, there are many libs with this name. I have already tried a few, no success. I am using Debian, the machine processor is 686. Could you precise which x11 should be installed?

Hi,

Well, I would say libx11-dev see: packages.debian.org/stable/libdevel/libx11-dev
I don’t see many more…

Cheers, Bertrand.

[quote=“bellenot”]Hi,

Well, I would say libx11-dev see: packages.debian.org/stable/libdevel/libx11-dev
I don’t see many more…

Cheers, Bertrand.[/quote]

Hello,

I did it yesterday (installing libx11-dev). Now, a problem appears during "make". I even resigned to install an older verson of root (5.18), still it doesn't "make". The last lines of the compilation say:

cint/src/v6_newlink.cxx:7418: error: ‘strlen’ is not a member of ‘std’
cint/src/v6_newlink.cxx:7426: error: ‘atoi’ is not a member of ‘std’
cint/src/v6_newlink.cxx: In function ‘void G__specify_link(int)’:
cint/src/v6_newlink.cxx:7757: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:7766: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:7769: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:7776: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:7790: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:7797: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:7813: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:7820: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:7836: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:7839: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:7841: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:7879: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:7883: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:7904: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:7905: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:7938: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8059: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8067: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8087: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8098: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8103: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8109: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8138: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8271: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8286: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8359: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8371: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8405: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8447: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8524: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8539: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8556: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8559: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8564: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8737: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8746: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx:8803: warning: deprecated conversion from string constant to ‘char*’
cint/src/v6_newlink.cxx: In function ‘void G__specify_extra_include()’:
cint/src/v6_newlink.cxx:9399: warning: deprecated conversion from string constant to ‘char*’
make: *** [cint/src/v6_newlink.o] Error 1

Hi, which version of gcc do you have? (just type gcc --ver)

I got gcc version 4.3.2 (Debian 4.3.2-1.1)

Well, looks like your compiler (gcc/g++) has not been properly installed… Could you try to re-install it?
And BTW, the Build Prerequisites page may help (look for Ubuntu)

Cheers, Bertrand.

Hello,

From the list of prerequisites, all were up to date (according to apt-get), except “subversion”. I installed it, but still it does not “make” (I get the same error).

Could you try with a newer version of ROOT (e.g. svn trunk)?

I am precisely now trying (again) to install root version 5.26. So far it is making, I’ll let you know as soon as it finishes

OK, thanks. I think that gcc 4.3 was not yet supported by ROOT v5.18.00…

I just finished “making” root version 5.26. The last lines of the compilation say:

g++ -m32 -O2 -o bin/genmap cint/reflex/src/genmap/genmap.o -Llib -lReflex -ldl
g++ -m32 -O2 -o bin/root rootx/src/rootx.o rootx/src/rootxx.o -L/usr/local/lib -lXpm -lXext -lX11 -lXft
/usr/local/lib/libXpm.a(parse.o): In function xpmParseExtensions': parse.c:(.text+0x13f8): undefined reference to__ctype_b’
/usr/local/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/local/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
make: *** Waiting for unfinished jobs…
rm core/utils/src/RStl_tmp.cxx core/utils/src/rootcint_tmp.cxx

So it still doesn’t make, although the compilation has been more ‘deep’ than it has for version 5.18.

If you have any other suggestion, please…

No idea, but by searching this forum, I found a possible solution in this thread:

I assume you use debian lenny.
The version in the repositories should work. Maybe update your system.
I checked this:
packages.debian.org/lenny/libxpm-dev
it has the correct symbols which are defined in libc.a/so
packages.debian.org/lenny/libc6-dev

what versions do you have installed? execute:
apt-cache show libXpm-dev
apt-cache show libc6-dev
nm --dynamic /lib/libc.so.6 | grep __ctype
nm /usr/lib/libXpm.a | grep __ctype

if updating does not help you’ll probably have to install xpm from source

btw if you really need root 5.18 you can probably port it quite easily by following this guide:
gcc.gnu.org/gcc-4.3/porting_to.html
it should be mostly just including headers