2

I' using Ubuntu 14.0. I want to install root. So I followed the instructions:

https://root.cern.ch/building-root

I'm stuck in the fourth step. I downloaded and unpacked ROOT in the directory

home/john/root

I decided that I want to install it in the directory

home/john/Root

so I created the folder and entered it. Now I want to execute cmake:

cmake home/john/Root

But I got the following error:

CMake Error at CMakeLists.txt:9 (find_package):
By not providing "FindROOT.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "ROOT", but
CMake did not find one.

Could not find a package configuration file provided by "ROOT" with any of
the following names:

ROOTConfig.cmake
root-config.cmake

Add the installation prefix of "ROOT" to CMAKE_PREFIX_PATH or set
"ROOT_DIR" to a directory containing one of the above files.  If "ROOT"
provides a separate development package or SDK, be sure it has been
installed.


-- Configuring incomplete, errors occurred!
See also "/home/john/Root/CMakeFiles/CMakeOutput.log".

It basically tells me what to do. So I added the following line at the end of the CMakeLists file:

SET(CMAKE_INSTALL_PREFIX /home/john/Root/)

However, it didn't help at all.

I tried googling the error, but everyone else says I should set the CMAKE_INSTALL_PREFIX to the path to the source. I already did it and it doesn't work. Why?

Anthon
  • 78,313
  • 42
  • 165
  • 222
user2738748
  • 121
  • 1
  • 4
  • Did you write `cmake home\john\Root` or `cmake /home/john/Root` ? because if you forget the root (the first `/`) in the beginning or if you exchange slashes and back-slashes I forecast discontent... :-) BTW I needn't the last version and I installed with apt-get and `root-system`. – Hastur Dec 17 '15 at 14:21
  • I wrote cmake /home/john/Root – user2738748 Dec 17 '15 at 14:22
  • Did you try to set the bash variable `ROOT_DIR=/home/john/Root/`? Did you have in that directory `root-config.cmake` and `ROOTConfig.cmake`? – Hastur Dec 17 '15 at 14:38
  • Don't forget that *nix is case-sensitive: `/home/john/root` is not the same as `/home/john/Root` – steeldriver Dec 17 '15 at 15:03
  • I've downloaded `root_v6.06.00.source.tar.gz`, open in a subdir, used `./configure --all` and now it's compiling with `make -j4`... still compiling :-) I will tell you. +400MB and still compiling... – Hastur Dec 17 '15 at 15:06
  • WIth something more than 20 minutes and 1GB of space with `./configure` worked. – Hastur Dec 17 '15 at 15:31

1 Answers1

2

Following the instruction [1] I did in a subdirectory ~/home/Root; then I downloaded the source file browsing the page [2] and selecting the file root_v6.06.00.source.tar.gz.

wget https://root.cern.ch/download/root_<version>.source.tar.gz
tar -zxf root_<version>.source.tar.gz

Then I entered in the version directory (In my case ~/Root/root-6.06.00).
Then I forget about cmake and I use the configure file prensent in the directory:

./configure       # It founds something and misses other
./configure --all # Just to enable something more
make -j4          # I used 4 cores to compile in parallel
# Take a good nap...  (> 22 minutes)
# Obtained some white and pink warnings (see below) then finally

   ============================================================
   ===                ROOT BUILD SUCCESSFUL.                ===
   === Run 'source bin/thisroot.[c]sh' before starting ROOT ===
   ============================================================

Then, since I have a bash shell I write

source bin/thisroot.sh  # Set some variable
bin/root                # Execute ROOT

and obtained

   ------------------------------------------------------------
  | Welcome to ROOT 6.06/00                http://root.cern.ch |
  |                               (c) 1995-2014, The ROOT Team |
  | Built for linuxx8664gcc                                    |
  | From tag v6-06-00, 9 December 2015                         |
  | Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
   ------------------------------------------------------------

 root [0] 

Notes:

  • Among the warning messages
    /usr/include/qt4/QtCore/qmetatype.h:256:5:
    warning: 'register' storage class specifier is deprecated [-Wdeprecated-register]

  • You can in a second time do ./configure | grep no and install the library you miss then redo all again :-).

  • Tar file size 103 MB, Open 305MB , compiled+source 1.3GB

Hastur
  • 2,325
  • 16
  • 32
  • Once in ROOT `.demo` and voila'... it works but I had a lot of library just installed, probably is needed a lot of gym more to make it works... or maybe 6 is the perfect number. – Hastur Dec 17 '15 at 15:40