Svn repository question

Hi,
I’m trying to install root to a new linux box with Fedora 17. I’m restricted from using yum to install this (since we don’t have the ability to designate the installation), but also wanted to get the latest and greatest of the source code. So I went ahead and svn co root.cern.ch/svn/root/trunk and built it and installed it to the appropriate directory. But when I had tried to verify this installation, there seems to be a lot of things wrong, that I’m at a lost of figuring out what’s wrong. Much of the errors seem to be reffering to functions not existing. For instance when trying to just spawn TBrowser, I get this error:
ROOT 5.99/01 (trunk@48161, Dec 21 2012, 00:32:25 on linuxx8664gcc)
cling C/C++ Interpreter: type .? for help.
root [0] TBrowser T
Error in TQObject::CheckConnectArgs: signal TGHtmlBrowser::Clicked(char*) does not exist
(class TBrowser) @0x7ffda37a5028
root [1]

And when I attempt to load a tree structure and tried to execute the StartViewer(), I get this crash:
root [0] .L libMyEvent.so
root [1] TFile f(“tree.root”)
(class TFile) @0x7fdfe82921f8
root [2] tr->StartViewer()
Warning in TClass::TClass: no dictionary for class TCling is available
Error in TCling::InspectMembers: Cannot find Decl for class TTree
Warning in TClass::TClass: no dictionary for class TMessageHandler is available
Error in TCling::InspectMembers: Cannot find Decl for class TAttLine
Error in TCling::InspectMembers: Cannot find Decl for class TAttFill
Error in TCling::InspectMembers: Cannot find Decl for class TAttMarker
Warning in TClass::TClass: no dictionary for class TStreamerArtificial is available
Warning in TClass::TClass: no dictionary for class TArrayD is available
Warning in TClass::TClass: no dictionary for class TArrayI is available
Warning in TClass::TClass: no dictionary for class TVirtualIndex is available
Stack dump:
0. input_line_850:2:2: current parser token ‘tr’

  1. input_line_850:1:25: parsing function body ‘__cling_Un1Qu314’
  2. input_line_850:1:25: in compound statement (’{}’)

*** Break *** segmentation violation

Nothing has changed in the code and this same code seems to run fine on a machine where root was installed via yum’ed installed. Is this not possible to build the whole root library with just downloading from the repository, building it and installing it? I thought that when I checked out the trunk, that this repository contained all the functionality (and all libs) that root offered. Is that not the case? Or is there some special option I need to set when I run configure, other than the --prefix?

I can attach the code that generated the root file I tried to load above, but I hardly think this code is the problem (since it seems to be able to generate and load this file on a machine that had root yum’ed installed). There’s something wrong with my root build such that I’m missing some necessary libraries. My hope is to be able to encapsulate ROOT software to a directory other than /usr/ (e.g. my local directory).

Hi,

the “trunk” version is always the latest, but since it is work in progress (i.e. it isn’t yet released) it is not always the greatest yet (otherwise why wouldn’t it be released). You should instead use some release instead, e.g. the latest which is 5.34.03. If you insist on svn use

$  svn co http://root.cern.ch/svn/root/tags/v5-34-03

but this should pretty much give you the same as downloading the tarball from the ROOT homepage (ftp://root.cern.ch/root/root_v5.34.03.source.tar.gz).

The v5-34-03 release contains quite many known problems which have already been fixed in the v5-34-00-patches branch, so it’s better to take the head of the v5-34-00-patches branch: [...]$ svn co http://root.cern.ch/svn/root/branches/v5-34-00-patches root
For some “general notes” how to build it, see, for example:
[url]Release 5.32.03 on Ubuntu 12.04
[url]Problems installing root with --prefix=$HOME/.local
[url]ROOTSYS and linux distribution installation
http://root.cern.ch/drupal/content/installing-root-source

Hi,
So does the v5-34-00-patches contain the full root source code? There is no previous installation of root at all on this machine (none in /usr, etc), so I need the full root code which will install the necessary libraries. If this is the case, I’ll go ahead and grab the v5-34-00-patches branch you suggested and give it a try. Thanks!

Hi Wile E. Coyote,
so I was looking at one of the [url=https://root-forum.cern.ch/t/problems-installing-root-with-prefix-home-local/14683/4 you referenced[/url], where it suggests the following option when excuting configure:

./configure --prefix=/usr/local --etcdir=/usr/local/etc/root --enable-explicitlink --enable-rpath --enable-soversion --all

This --enable-explicitlink option … does that force a statically linked root libraries? Wasn’t sure…

Try:
./configure --help | grep explicitlink
(BTW. “–enable-explicitlink --enable-soversion” are quite convenient, but “–enable-rpath” is usually not really needed.)
I think you should also have a look at another two links:
[url]ROOTSYS and linux distribution installation
[url]Release 5.32.03 on Ubuntu 12.04

BTW. Before you try to build your new ROOT, don’t forget to remove all references to any ROOT installations (that you have now) from any “.profile”, “.login”, “.bash*”, “.csh*”, “.tcsh*”, etc. files and then re-login (i.e. “logout” and “login” again so that all ROOT related entries in all environment variables are really gone).