I need the old ROOT 5.14, so I tried to compile it on my machine. With gcc 4 it doesn’t work (I read somewhere that 5.14 has not been ported for gcc4), so I installed gcc 3.4.6 and tried again. I got an errors like these:
g++ -shared -Wl,-soname,libCintex.so -m32 -O -lstdc++ -o lib/libCintex.so cintex/src/CINTClassBuilder.o cintex/src/CINTEnumBuilder.o cintex/src/CINTFunctionBuilder.o cintex/src/CINTFunctional.o cintex/src/CINTScopeBuilder.o cintex/src/CINTTypedefBuilder.o cintex/src/CINTUtils.o cintex/src/CINTVariableBuilder.o cintex/src/Cintex.o cintex/src/ROOTClassEnhancer.o
`.L2976' referenced in section `.rodata' of cintex/src/CINTUtils.o: defined in discarded section `.gnu.linkonce.t._ZN4ROOT6Cintex9ConverterIlE6toCintEP8G__valuePv' of cintex/src/CINTUtils.o
`.L2974' referenced in section `.rodata' of cintex/src/CINTUtils.o: defined in discarded section `.gnu.linkonce.t._ZN4ROOT6Cintex9ConverterIlE6toCintEP8G__valuePv' of cintex/src/CINTUtils.o
and a hundred more like the ones above. Over the net I found that this should be a gcc bug, corrected in version 4, but I know that ROOT 5.14 can be compiled wit gcc 3. So maybe is it a configuration or library problem?
My operating system is ArchLinux, in the case it will be useful heres’ the output of gcc --print-search-dirs:
$ gcc --print-search-dirs
install: /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/
programs: =/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/:/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/:/usr/lib/gcc/i686-pc-linux-gnu/:/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/:/usr/lib/gcc/i686-pc-linux-gnu/:/usr/libexec/gcc/i686-pc-linux-gnu/3.4.6/:/usr/libexec/gcc/i686-pc-linux-gnu/:/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/:/usr/lib/gcc/i686-pc-linux-gnu/:/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../../i686-pc-linux-gnu/bin/i686-pc-linux-gnu/3.4.6/:/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../../i686-pc-linux-gnu/bin/
libraries: =/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/:/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/:/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../../i686-pc-linux-gnu/lib/i686-pc-linux-gnu/3.4.6/:/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../../i686-pc-linux-gnu/lib/:/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../i686-pc-linux-gnu/3.4.6/:/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../:/lib/i686-pc-linux-gnu/3.4.6/:/lib/:/usr/lib/i686-pc-linux-gnu/3.4.6/:/usr/lib/
and here’s the configuration I used to build:
$ ./configure linux --disable-krb5
Configuring for linux
Checking for libX11 ... /usr/lib
Checking for X11/Xlib.h ... /usr/include
Checking for libXpm ... /usr/lib
Checking whether to build included libfreetype6 ... yes
Checking whether to build included libpcre ... yes
Checking whether to build included zlib ... yes
Checking for GL/gl.h ... /usr/include
Checking for libGL, or libMesaGL ... /usr/lib
Checking for libGLU, or libMesaGLU ... /usr/lib
Checking for mysql_config ... /usr/bin/mysql_config
Checking for libmysqlclient version >= 3.23.* ... ok
Checking for occi.h ... no
Checking for libclntsh, or oci ... no
Checking for libocci, or oraocci10 ... no
Checking for libpq-fe.h ... /usr/include
Checking for libpq ... /usr/lib
Checking for sql.h ... no
Checking for libsqlod ... no
Checking for sqlext.h ... /usr/include
Checking for libiodbc, libodbc, or odbc32 ... /usr/lib
Checking for rfio_api.h ... no
Checking for librfio, libshift, shiftmd, or shift ... no
Checking for rfio_api.h ... no
Checking for stager_api.h ... no
Checking for libshift, shiftmd, or shift ... no
Checking for gfal_api.h ... no
Checking for libgfal ... no
Checking for G4Navigator.hh ... no
Checking for libG4navigation ... no
Checking for CLHEP/Vector/Rotation.h ... no
Checking for ApMon.h ... no
Checking for libapmoncpp ... no
Checking for monalisawsclient.h ... no
Checking for libmonalisawsclient ... no
Checking for fftw3.h ... /usr/include
Checking for libfftw3, or libfftw3-3 ... /usr/lib
Checking for libpacklib_noshift, libpacklib, packmd, or packlib ... no
Checking for libkernlib_noshift, libkernlib, kernmd, or kernlib ... no
Checking for libPythia6 ... no
Checking for dcap.h ... no
Checking for libdcap ... no
Checking for chirp_client.h ... no
Checking for libchirp_client ... no
Checking for gapiUI.h ... no
Checking for libgapiUI ... no
Checking for jpeglib.h ... /usr/include
Checking for png.h ... /usr/include
Checking for tiffio.h ... /usr/include
Checking for gif_lib.h ... /usr/include
Checking for libjpeg ... /usr/lib
Checking for libtiff ... /usr/lib
Checking for libungif ... /usr/lib
Checking for libz ... /usr/lib
Checking for libpng ... /usr/lib
Checking whether to build included libAfterImage ... yes
Checking for ldap.h ... /usr/include
Checking for libldap ... /usr/lib
Checking for liblber ... /usr/lib
Checking for python/Python.h, python2.5/Python.h, python2.4/Python.h, python2.3/Python.h, python2.2/Python.h, or Python.h ... no
Checking for libpython, libpython2.5, libpython2.4, libpython2.3, libpython2.2, python25, python24, python23, or Python ... no
Checking for xml2-config ... /usr/bin/xml2-config
Checking for libxml2 version >= 2.4.x ... ok
Checking whether to build xrootd ... yes
Checking for for globusdir ... no
Checking for GLOBUS_LOCATION ... no
Checking for openssl/x509.h ... no
basename: missing operand
Usare `basename --help' per ulteriori informazioni.
Checking for openssl/pem.h ... no
Checking for libssl ... /usr/lib
Checking for libcrypto ... /usr/lib
Checking for openssl/bio.h ... /usr/include
Checking for openssl/blowfish.h ... /usr/include
Checking for openssl/err.h ... /usr/include
Checking for openssl/pem.h ... /usr/include
Checking for openssl/rand.h ... /usr/include
Checking for openssl/rsa.h ... /usr/include
Checking for t_server.h ... no
Checking for libsrp ... no
Checking for libgmp ... /usr/lib
Checking for libmisc ... no
Checking for pwauth.h ... no
Checking for shadow passwords ... yes
Checking for gsl/gsl_version.h ... /usr/include
Checking for GSL version >= 1.8 ... ok
Checking for libgsl, gslML, or gsl ... /usr/lib
Checking whether to build libMathMore ... yes
Checking whether to build libMathCore ... yes
Checking whether to build CINT7 ... no
Checking whether to build libCintex ... yes
Checking whether to build libReflex ... yes
Checking whether to build libRooFit ... no
Checking whether to build libMinuit2 ... no
Checking whether to build libUnuran ... no
Checking whether to build libGdml ... no
Checking whether to build libTable ... no
Checking for Clarens support ... yes
Checking for PEAC support ... yes
Generating cint dictionaries.
Checking whether setresuid declared in /usr/include/unistd.h ... yes
Writing config/Makefile.config ... done
Writing include/RConfigure.h ... done
Writing bin/root-config ... done
Writing etc/system.rootrc ... done
Writing etc/system.rootauthrc ... done
Writing etc/system.rootdaemonrc ... done
Writing etc/root.mimes ... done
Writing etc/daemons/rootd.rc.d ... done
Writing etc/daemons/rootd.xinetd ... done
Writing etc/daemons/proofd.rc.d ... done
Writing etc/daemons/proofd.xinetd ... done
Writing etc/daemons/xrootd.rc.d ... done
Writing etc/daemons/olbd.rc.d ... done
Writing bin/memprobe ... done
Writing build/misc/root-help.el ... done
Writing macros/html.C ... done
Writing bin/thisroot.sh ... done
Writing bin/thisroot.csh ... done
Writing config.status ... done
Enabled support for asimage, astiff, builtin_afterimage, builtin_freetype, builtin_pcre, builtin_zlib, cintex, clarens, exceptions, fftw3, ldap, mathcore, mathmore, mysql, odbc, opengl, pch, peac, pgsql, reflex, shadowpw, shared, ssl, thread, xml, xrootd.
I also modified Makefile.linux to use gfortran as Fortran compiler instead of g77.
Thanks everyone for any help you may give me.