Re: [ROOT] Local install vs install into /usr/local

From: Christian Holm Christensen (cholm@hehi03.nbi.dk)
Date: Mon Mar 10 2003 - 17:00:49 MET


Hi Patrick,

Patrick Murray <pjmurray@ucdavis.edu> wrote concerning
  [ROOT] Local install vs install into /usr/local [Fri, 7 Mar 2003 15:16:30 -0800 (PST)] 
----------------------------------------------------------------------
> Hello, If I install into /usr/local. How do I set ROOTSYS? In the
> installation guide it says that I do not need to. But when adding new
> class with rootcint I have problems:
> 	.
> 	.
> 	g++ -g -c -O -Wall -fPIC `root-config --cflags`
> 	-I/home/pmurray/ORCA/TestBeams/CSCTestBed/include/ main.cxx
> 	main.cxx: In function `int main (int, char **)':
> 	main.cxx:26: warning: unused variable `EDMainFrame *display'
> 	main.cxx: At top level:
> 	/home/pmurray/ORCA/TestBeams/CSCTestBed/include/EDMainFrame.h:70: warning:
> 	`const char *filetypes[6]'
> 	defined but not used
> 	Generating dictionary ...

Please, let `make' print out the `rootcint' command line, so that one
can tell if somethings wrong there too. 

> 	Error: rootcint: environment variable ROOTSYS not defined
> 	gmake: *** [displayDict.h] Error 1
> 	[pmurray@ccc04 src]$

Have you checked that the LD_LIBRARY_PATH environment variable doesn't
contain your `local' installation in `/home/pmurray/root'.   In that
case, ld.so [1] may load the libraries in `/home/pmurray/root/lib'
rather than the ones in `/usr/local/lib/root'.  Do a couple of checks 

  prompt>  which rootcint       
  /usr/local/bin/rootcint   

If not, then check your `PATH' environment variable ,and make sure
`/usr/local/bin' is before `/home/pmurray/bin'

    
  prompt> ldd `which rootcint`
	libCint.so.3.03 => /usr/local/lib/root/libCint.so.3.03 (0x40013000)
	...

If not, check your `LD_LIBRARY_PATH' environment variable, and make
sure that either `/usr/local/lib/root' is before `/home/pmurray/lib'
or that the latter isn't in there at all. 

Check that ROOT was compiled with runtime load-paths set

  prompt> root-config --has-rpath
  yes
	
Check your `/etc/ld.so.conf' and see if `/usr/local/lib/root' is in
there. 					    

Some information on the `configure' options you used (along with the
OS, and similar) would be really helpful. 

In general, if you use _any_ of the options that cause `prefix' to be
set, then you should _not_ define the `ROOTSYS' environment variable.
The options are `--prefix', `--libdir', `--includedir', `--datadir',
and so on. 

> so the def of ROOTSYS is clear in the local case but for the system case
> ROOTSYS can not be /usr/local???

It's not used at all if you have enabled `prefix' one way or the
other.  My guess is, that you're loading libraries that belong to
another ROOT installation.  Do the checks above, and read the
README/INSTALL one more time.  

Yours,

 ___  |  Christian Holm Christensen 
  |_| |	 -------------------------------------------------------------
    | |	 Address: Sankt Hansgade 23, 1. th.  Phone:  (+45) 35 35 96 91
     _|	          DK-2200 Copenhagen N       Cell:   (+45) 24 61 85 91
    _|	          Denmark                    Office: (+45) 353  25 305
 ____|	 Email:   cholm@nbi.dk               Web:    www.nbi.dk/~cholm
 | |

[1] I'm assuming you're using GNU/Linux, though you didn't say that
    anywhere.  For other OSs substitute the appropriate dynamic
    loader. 



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:10 MET