Trouble installing Root 5.24

Hi,

I’m having trouble installing Root 5.24. When I run ‘make’, I get the following output:




g++ -D_ALL_SOURCE -D_REENTRANT -D_GNU_SOURCE -fPIC -rdynamic -Wall -Wno-deprecated -D__linux__ -O2 …/…/obj/XrdFrmAdminMain.o …/…/obj/XrdFrmAdmin.o …/…/obj/XrdFrmAdminAudit.o …/…/obj/XrdFrmAdminFiles.o …/…/obj/XrdFrmAdminFind.o …/…/obj/XrdFrmAdminQuery.o …/…/obj/XrdFrmAdminUnlink.o …/…/obj/XrdXrootdMonitor.o …/…/obj/XrdScheduler.o -lreadline -lcurses -lnsl -lpthread -lrt -ldl -lc -L…/…/lib -lXrdFrm -lXrdCms -lXrdOss -lXrdNet -lXrdOuc -lXrdSys -o …/…/bin/frm_admin
/usr/bin/ld: cannot find -lcurses
collect2: ld returned 1 exit status
make[5]: *** […/…/bin/frm_admin] Error 1
make[4]: *** [Linuxall] Error 2
make[3]: *** [all] Error 2
make[2]: *** [XrdFrm] Error 2
make[1]: *** [all] Error 2
make[1]: Leaving directory `/nfs_exports/apps/gnu-apps/ergatis/software/root-5.24/net/xrootd/src/xrootd’
*** Error condition reported by make (rc = 2): rm -f net/xrootd/src/xrootd/GNUmakefile exit 1
Copying net/xrootd/src/xrootd/lib/libXrdSec.so …
Copying net/xrootd/src/xrootd/lib/libXrdSut.so …
Copying net/xrootd/src/xrootd/lib/libXrdCrypto.so …
Copying net/xrootd/src/xrootd/lib/libXrdCryptossl.so …
Copying net/xrootd/src/xrootd/lib/libXrdSeckrb5.so …
Copying net/xrootd/src/xrootd/lib/libXrdSecpwd.so …
Copying net/xrootd/src/xrootd/lib/libXrdSecsss.so …
Copying net/xrootd/src/xrootd/lib/libXrdSecgsi.so …
Copying net/xrootd/src/xrootd/lib/libXrdSecgsiGMAPLDAP.so …
Copying net/xrootd/src/xrootd/lib/libXrdSecunix.so …
Copying net/xrootd/src/xrootd/lib/libXrdOfs.so …
Copying net/xrootd/src/xrootd/lib/libXrdBwm.so …
Copying net/xrootd/src/xrootd/lib/libXrdRootd.so …
Copying net/xrootd/src/xrootd/bin/xrootd executables …
Copying net/xrootd/src/xrootd/bin/olbd executables …
Copying net/xrootd/src/xrootd/bin/xrdpwdadmin executables …
Copying net/xrootd/src/xrootd/bin/cmsd executables …
Copying net/xrootd/src/xrootd/bin/xrdgsiproxy executables …
bin/rmkdepend -R -fnet/netx/src/TXNetFile.d -Y -w 1000 – -pipe -m64 -Wall -W -Woverloaded-virtual -fPIC -Iinclude -DR__HAVE_CONFIG -pthread -Inet/xrootd/src/xrootd/src -Iproof/proofd/inc -DUSENEWHDRS -D__cplusplus – net/netx/src/TXNetFile.cxx
g++ -O2 -pipe -m64 -Wall -W -Woverloaded-virtual -fPIC -Iinclude -DR__HAVE_CONFIG -pthread -Inet/xrootd/src/xrootd/src -Iproof/proofd/inc -DUSENEWHDRS -o net/netx/src/TXNetFile.o -c net/netx/src/TXNetFile.cxx
bin/rmkdepend -R -fnet/netx/src/TXNetFileStager.d -Y -w 1000 – -pipe -m64 -Wall -W -Woverloaded-virtual -fPIC -Iinclude -DR__HAVE_CONFIG -pthread -Inet/xrootd/src/xrootd/src -Iproof/proofd/inc -DUSENEWHDRS -D__cplusplus – net/netx/src/TXNetFileStager.cxx
g++ -O2 -pipe -m64 -Wall -W -Woverloaded-virtual -fPIC -Iinclude -DR__HAVE_CONFIG -pthread -Inet/xrootd/src/xrootd/src -Iproof/proofd/inc -DUSENEWHDRS -o net/netx/src/TXNetFileStager.o -c net/netx/src/TXNetFileStager.cxx
bin/rmkdepend -R -fnet/netx/src/TXNetSystem.d -Y -w 1000 – -pipe -m64 -Wall -W -Woverloaded-virtual -fPIC -Iinclude -DR__HAVE_CONFIG -pthread -Inet/xrootd/src/xrootd/src -Iproof/proofd/inc -DUSENEWHDRS -D__cplusplus – net/netx/src/TXNetSystem.cxx
g++ -O2 -pipe -m64 -Wall -W -Woverloaded-virtual -fPIC -Iinclude -DR__HAVE_CONFIG -pthread -Inet/xrootd/src/xrootd/src -Iproof/proofd/inc -DUSENEWHDRS -o net/netx/src/TXNetSystem.o -c net/netx/src/TXNetSystem.cxx
Generating dictionary net/netx/src/G__Netx.cxx…
core/utils/src/rootcint_tmp -cint -f net/netx/src/G__Netx.cxx -c -Inet/xrootd/src/xrootd/src -Iproof/proofd/inc net/netx/inc/TXNetFile.h net/netx/inc/TXNetFileStager.h net/netx/inc/TXNetSystem.h net/netx/inc/LinkDef.h
bin/rmkdepend -R -fnet/netx/src/G__Netx.d -Y -w 1000 –
-pipe -m64 -Wall -W -Woverloaded-virtual -fPIC -Iinclude -DR__HAVE_CONFIG -pthread -Inet/xrootd/src/xrootd/src -Iproof/proofd/inc -DUSENEWHDRS -D__cplusplus -Icint/cint/lib/prec_stl
-Icint/cint/stl -Icint/cint/inc – net/netx/src/G__Netx.cxx
g++ -pipe -m64 -Wall -W -Woverloaded-virtual -fPIC -Iinclude -DR__HAVE_CONFIG -pthread -Inet/xrootd/src/xrootd/src -Iproof/proofd/inc -DUSENEWHDRS -I. -Icint/cint/inc -o net/netx/src/G__Netx.o -c net/netx/src/G__Netx.cxx
g++ -shared -Wl,-soname,libNetx.so -m64 -O2 -o lib/libNetx.so net/netx/src/TXNetFile.o net/netx/src/TXNetFileStager.o net/netx/src/TXNetSystem.o net/netx/src/G__Netx.o -Lnet/xrootd/src/xrootd/lib -lXrdOuc -lXrdSys -Llib -lXrdClient
/usr/bin/ld: cannot find -lXrdClient
collect2: ld returned 1 exit status
make: *** [lib/libNetx.so] Error 1
rm core/utils/src/RStl_tmp.cxx core/utils/src/rootcint_tmp.cxx

From the output above, it’s clear that make is not able to find libcurses and libXrdClient. Although I couldn’t find libXrdClient, I found libncurses in /usr/lib. Should I just create a symbolic link called libcurses.so that points to libncurses.so? Also, where can I install libXrdClient from?

I would really appreciate any help regarding this issue. Thanks!

Dear pgngp,

Could you please specify:

 1. on which linux system and version you are building 
 2. the configuration options for ROOT
 3. the output of XROOTD configure:
         > make distclean-xrootd
         > make all-xrootd > xrootd-configure.log
    (post xrootd-configure.log)

?

G. Ganis

Hi Ganis,

Thanks for responding. Following are the responses to your questions:

  1. I’m building on CentOS 5.3
  2. I did not set any environment variables to ROOT. I ran the ‘configure’ script as:
    $ ./configure linuxx8664gcc --prefix=/path/to/install/dir
  3. Please find attached the xrootd-configure-log.txt and xrootd-configure-errorlog.txt.

Thank you for your help!
xrootd-configure-errorlog.txt (271 Bytes)
xrootd-configure-log.txt (181 KB)

Hi,

I think I have found the problem due to a missing check for lib(n)curses in XROOTD.

Could you please try with the attached file?
You should copy it into

      net/xrootd/src/xrootd/configure.classic

(note that you have to remove the ‘.txt’, which I have added to be able to attach it to this post).

Please run ‘make distclean-xrootd’ before retrying.
Let me know,

G. Ganis
configure.classic.txt (73.8 KB)

Thanks for sending the new configure.classic. The ‘make’ worked without any problems.

When I do ‘make install’ after ‘make’, I get “Everything already installed…”. However, when I go to the ‘lib’ and ‘include’ directories under /path/to/prefix, I don’t see any ‘Root’ related libraries or header files. I’m not sure if that’s normal. But it’s not a big deal for me; I can just copy the files from root-5.24.00/lib and root-5.24.00/include to the /path/to/prefix/lib and /path/to/prefix/include, respectively.

Thank you so much for your help!

Hi folks,

I have a problem similar to pgngp.

I am trying to compile root 5.25/04.
Open Suse 11.1

when I run make:


g++ -m32 -D_ALL_SOURCE -D_REENTRANT -D_GNU_SOURCE -fPIC -rdynamic -Wall -Wno-deprecated -D__linux__ -O2 …/…/obj/XrdFrmAdminMain.o …/…/obj/XrdFrmAdmin.o …/…/obj/XrdFrmAdminAudit.o …/…/obj/XrdFrmAdminFiles.o …/…/obj/XrdFrmAdminFind.o …/…/obj/XrdFrmAdminQuery.o …/…/obj/XrdFrmAdminUnlink.o …/…/obj/XrdXrootdMonitor.o …/…/obj/XrdScheduler.o -lreadline -lcurses -lnsl -lpthread -lrt -ldl -lc -L…/…/lib -lXrdFrm -lXrdCms -lXrdOss -lXrdNet -lXrdOuc -lXrdSys -o …/…/bin/frm_admin
/usr/lib/gcc/i586-suse-linux/4.3/…/…/…/…/i586-suse-linux/bin/ld: cannot find -lcurses
collect2: ld returned 1 exit status
make[5]: *** […/…/bin/frm_admin] Error 1
make[4]: *** [Linuxall] Error 2
make[3]: *** [all] Error 2
make[2]: *** [XrdFrm] Error 2
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/kanaan/admin/sftw/root/net/xrootd/src/xrootd’
*** Error condition reported by make (rc = 2):
make: *** [net/xrootd/src/xrootd/LastBuild.d] Error 1
rm core/utils/src/RStl_tmp.cxx core/utils/src/rootcint_tmp.cxx

Looking at the compilation output I see ncurses was used most of the time, but not when going through xrootd. I then downloaded the file you sent to pgngp. I did then:

src/xrootd> mv configure.classic configure.classic.org

sftw/root> make distclean-xrootd

sftw/root> make
Options to Xrootd-configure: i386_linux --ccflavour=gcc --use-xrd-strlcpy --wit
h-ssl-shared=yes --enable-shadowpw --disable-krb4 --enable-echo --no-arch-subdi
rs --disable-mon --with-cxx=g++ --with-ld=g++
/bin/sh: line 101: ./configure.classic: Permission denied
*** Error condition reported by Xrootd-configure (rc = 126): rm -f net/xrootd/s
rc/xrootd/GNUmakefile exit 1
*** Building xrootd … topdir= /home/kanaan/admin/sftw/root
make[1]: Entering directory /home/kanaan/admin/sftw/root/net/xrootd/src/xrootd ' make[1]: *** No targets specified and no makefile found. Stop. make[1]: Leaving directory/home/kanaan/admin/sftw/root/net/xrootd/src/xrootd’
*** Error condition reported by make (rc = 2):
make: *** [net/xrootd/src/xrootd/LastBuild.d] Error 1

Here are ROOT related environment variables (yes I use tcsh):

sftw/root> env | grep ROOT
ROOTSYS=/usr/local/root
JAVA_ROOT=/usr/lib/jvm/java

cheers,

Antonio

You need to run the configure script after running “make distclean-xrootd” and before running “make”. From your console output it seems that it’s not able to find the Makefile: “make[1]: *** No targets specified and no makefile found. Stop.”

Also, make sure that the new configure.classic file has appropriate permissions, because your console output indicates that the file does not have appropriate permissions: “/bin/sh: line 101: ./configure.classic: Permission denied”.

Hope this helps!

it sure helped, thanks. however, I got a new problem, I will search around and if I do not find a solution maybe I should post as a new topic:

==> lib/libRLDAP.so done
*** Building xrootd … topdir= /home/kanaan/admin/sftw/root
make[1]: Entering directory /home/kanaan/admin/sftw/root/net/xrootd/src/xrootd' Making sec component... cd src/XrdSec;\ make all ARCH=i386_linux --no-print-directory Compiling XrdSecClient.cc g++ -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -m32 -D_ALL_SOURCE -D_REENTRANT -D_GNU_SOURCE -fPIC -rdynamic -Wall -Wno-deprecated -D__linux__ -O2 -DXrdDEBUG=0 -DHAVE_FSTATAT -DHAVE_LIBZ @glbincpfx@ -I. -I.. -o ../../obj/XrdSecClient.o XrdSecClient.cc g++: @glbincpfx@: No such file or directory make[5]: *** [../../obj/XrdSecClient.o] Error 1 make[4]: *** [Linuxall] Error 2 make[3]: *** [all] Error 2 make[2]: *** [XrdSec] Error 2 make[1]: *** [all] Error 2 make[1]: Leaving directory/home/kanaan/admin/sftw/root/net/xrootd/src/xrootd’
*** Error condition reported by make (rc = 2):
make: *** [net/xrootd/src/xrootd/LastBuild.d] Error 1
rm core/utils/src/RStl_tmp.cxx core/utils/src/rootcint_tmp.cxx

Antonio