Xpm Headers

Hi,

On installing ROOT I get:

scfarm-1 root $ ls X11
ls: X11: No such file or directory
scfarm-1 root $ mkdir X11
scfarm-1 root $ ls X11
scfarm-1 root $ ls X11/
scfarm-1 root $ rmdir X11
scfarm-1 root $ ls X11
ls: X11: No such file or directory
scfarm-1 root $ ./configure
Checking for source directory … /u/jlederman.sc/jonscratch/root/root
Configuring for linuxx8664gcc
Checking for GNU Make version >= 3.80 … ok
Checking for C compiler … gcc
Checking for C++ compiler … g++
Checking for linker (LD) … g++
Checking for F77 compiler … gfortran
Checking for libX11 … /usr/lib64
Checking for X11/Xlib.h … /usr/include
Checking for X11/xpm.h … no
configure: xpm headers MUST be installed
See root.cern.ch/drupal/content/build-prerequisites

Can you explain where I can get these libraries and where they must be installed. For example, I did download and install libXpm-3.5.9.tar.gz. Then I used ./configure --with-xpm-libdir= and I still get the same error. Can you explain precisely what files I need and where they need to be as well as any flags I need to set for configure.

Thank you.

-Jon

Please check this page of prerequisites and where to find them for your system:

root.cern.ch/drupal/content/build-prerequisites

Cheers, Fons.

Hi Fons,

Thanks for your response. I am aware of the webpage you provided. The problem I’m having is that I do have the xpm.h file on my machine. However, I can’t get the configure script for ROOT to note the location of this file. Can you give me insructions on what flags I need to set for configure to instruct the script to look for the headers in a non-conventional directory?

Thanks.
-Jon

In the configure script the xpm.h is checked for in these locations:

    check_header "X11/xpm.h" "" \
        ${finkdir:+$finkdir/include} \
        /usr/include /usr/X11R6/include /usr/include/X11 /usr/openwin/include \
        /usr/local/include /usr/local/include/X11 /usr/local/X11R6/include \
        /usr/X11/include /usr/include/X11R5

Currently we have never seen it outside these places. What kind of setup do you have?

For the time being to get further, just add your xpm.h location in this check_header search path.

Cheers, Fons.

Hi,

I got past the xpm.h error. Now it can’t find libXpm.

In particular, I’m getting this:

scfarm-1 root $ ./configure
Checking for source directory … /home/scratch.sc/jlederman/dev/root
Configuring for linuxx8664gcc
Checking for GNU Make version >= 3.80 … ok
Checking for C compiler … gcc
Checking for C++ compiler … g++
Checking for linker (LD) … g++
Checking for F77 compiler … gfortran
Checking for libX11 … /usr/lib64
Checking for X11/Xlib.h … /usr/include
Checking for X11/xpm.h … /home/scratch.sc/jlederman/dev/libraries/libXpm/include
Checking for X11/Xft/Xft.h … /usr/include
Checking for X11/extensions/shape.h … /usr/include
Checking for libXpm … no
configure: libXpm MUST be installed
See root.cern.ch/drupal/content/build-prerequisites

However, I had modified the configure file to have the line:

check_library “libXpm” “$enable_shared” “$xpmlibdir”
$XPM $XPM/lib /usr/local/lib /usr/lib /usr/lib/X11
/usr/local/lib/X11 /usr/X11R6/lib /usr/local/X11R6/lib
/usr/X11/lib
/home/scratch.sc/jederman/dev/include/libXpm/lib
xpmlib=$found_lib
xpmlibdir=$found_dir

And, in /home/scratch.sc/jlederman/dev/includeXpm/lib sits the following:

libXpm.a libXpm.la libXpm.so libXpm.so.4 libXpm.so.4.11.0 pkgconfig

Why is it still failing now?

-Jon

Hi,

is this:

home/scratch.sc/jederman/dev/include/libXpm/lib

a typo and should it be:

home/scratch.sc/jederman/dev/include/Xpm/lib

?

Any chance that you can just install using the package manager of you platform the correct libxpm-dev package?

Cheers, Fons.

Hi,

Unfortunately I can’t install it via the package manager. I am running it in a workplace and in order to install the files in the appropriate directories I to do that as root. I don’t have root privileges. Do you have any thoughts where I can download the appropriate files and put them in a local directory and then point the ROOT configure script to the appropriate place?

Thanks in advance.

-Jon

Without modifying the ./configure you can also do:

export XPM=/home/scratch.sc/jederman/dev/include/libXpm

and the libXpm.so should be found. If not look in config.log to see what went wrong.

Cheers, Fons.

Hi,

I have had the same problem and found that my X11 headers are in /opt/X11/include. I am using Mac OS x 10.9.1 and i also use XQuartz. I added this to the configure file and it now works, hope this helps.

Tom

Hey there!

I had the same issue, that xpm.h was not found. I’m using Zorin OS with a Linux 18.02 Kernel. The only file I could find, was xpmp.h

To solve the issue I had to install the package [libxpm-dev] (Debian -- Details of package libxpm-dev in buster)

With this it started compiling.
I hope this could help to solve this issue