As far as I know I followed thoroughly the guide: I downloaded “ROOT 6.02.04 complete source tree for all systems”, then on the terminal:
$ gunzip root_v6.02.04.source.tar.gz
$ tar -xvf root_v6.02.04.source.tar
I made sure that all the needed packages were properly installed:
$ sudo apt-get install git dpkg-dev make g++ gcc binutils libx11-dev libxpm-dev \
libxft-dev libxext-dev
(actually i was overzealous and I even installed all the optional ones)
Then I proceeded with the compilation of Root libreries:
$ cd cd root-6.02.04
$ ./configure linuxx8664gcc --prefix=/usr/local --enable-soversion
$ make
So far so good: no error or problems whatsoever. My troubles come with the proper installation, i.e.:
After typing my password I get this output:
Installing binaries in /usr/local/bin
Installing libraries in /usr/local/lib/root
Installing headers in /usr/local/include/root
Installing /home/loghe0n/Scaricati/root-6.02.04/main/src/rmain.cxx in /usr/local/include/root
Installing icons in /usr/local/share/root/icons
Installing fonts in /usr/local/share/root/fonts
Installing misc docs in /usr/local/share/doc/root
Installing tutorials in /usr/local/share/doc/root/tutorials
Installing tests in /usr/local/share/doc/root/test
Installing macros in /usr/local/share/root/macros
Installing man(1) pages in /usr/local/share/man/man1
Installing config files in /usr/local/etc/root
Installing Autoconf macro in /usr/local/share/aclocal
Installing Emacs Lisp library in /usr/local/share/emacs/site-lisp
Installing GDML conversion scripts in /usr/local/lib/root
/usr/local/bin/root.exe: error while loading shared libraries: libCore.so.6.02: cannot open shared object file: No such file or directory
Of course I tried leaving out the -soversion flag, but it didn’t work out … I fear my mistake is something rather stupid, but still I really don’t know what that is.
I also tried searching for that libCore.so.6.02 library and it is found right away!
Thus I really don’t understand that “no such file or directory” error, I’ve really got no clue on what this is all about, any help in this matter would really really be appreciated!
I tip it’s a bug in ROOT’s installation procedure (I tip the “LD_LIBRARY_PATH” is not properly set before calling “root” when it tries to process the “hsimple.C” tutorial in the end, so you probably do not really need to worry about it that much).
Try the [url=https://root-forum.cern.ch/t/missing-canvas/17664/17 ROOTSYS based method[/url] (in case anything goes wrong you’ll have additional “configure.out.txt” and “make.out.txt” files to look into): [code]cd root-6.02.04
first get rid of “old” installed files
sudo make uninstall
and make the source code “clean”
make maintainer-clean
then build everything from scratch
note: the “ROOTSYS=/Where/You/Want/To/Install/root” subdirectory must
be different from the “/Where/You/Unpacked/The/Source/Code/Of/root”
subdirectory (i.e. in which you will build ROOT)
export ROOTSYS=/usr/local/root-6.02.04
./configure --enable-soversion --all > configure.out.txt 2>&1
make > make.out.txt 2>&1
sudo ROOTSYS=${ROOTSYS} make install >> make.out.txt 2>&1[/code]
Moreover I don’t understand whether you are suggesting that the installation actually worked out.
Lastly I’ve read that interesting post of yours you linked, and I must say that I do understand your point, but I’m not using root for anything but my personal enjoyment, so I don’t see me having version compatibility issues any time soon. Were I ever to use Root in a research/working environment I’ll remember it, I promise! Thus for curiosity’s sake I’d rather install the libraries at fixed location.
Well, I cannot guarantee it but, I think your ROOT installation is quite o.k. (even though you got this error).
However, remember that, if you install it with the “/usr/local” prefix then, you will need to “uninstall” it before you try to configure and build another (e.g. a newer) ROOT version, otherwise you may end up with a broken build (this would not be needed if you installed ROOT in a “version specific” subdirectory, of course).
BTW. If you use “–prefix”, remember to “unset ROOTSYS” in advance (before calling “configure” and “make”).
In your current (x)terminal, try to execute: . /usr/local/bin/thisroot.sh or try to: export LD_LIBRARY_PATH="/usr/local/lib/root:${LD_LIBRARY_PATH}" and then try to run “./mine-histo” again.
P.S. Well, you might also try to build your ROOT from scratch again using “–enable-soversion --rpath --all” configure flags (then you should not have any problems related to the “LD_LIBRARY_PATH” and everything that’s possible should be built).
In fact, the file /cern/root-6.02.05-build/lib/libRint.so does not exist (any more…). If I redo make, the file is there, and it seems to me it gets deleted during the make install procedure. I had a quick look at the core/rint/cmake_install.cmake file, but I am not expert enough on Cmake to fully understand what it is doing. However, if I commented the lines 42 - 44
FILE(RPATH_CHECK
FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libRint.so"
RPATH ""),
the /cern/root-6.02.05-build/lib/libRint.so was not deleted during the make install procedure (but then another .so-file was missing, and I would have to comment out all the relevant lines in all the cmake-files, not really knowing what I was doing and whether I break something by commenting the lines).
I don’t know if it is a bug in the ROOT install mechanism or if I am doing something wrong, but in any case I find it strange that after the make install, apparently libRint.so disappears.