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