Hi Vincent, Vincent Régnard <regnard@ganil.fr> wrote concerning [ROOT] Installation directory [Mon, 28 Apr 2003 20:27:11 +0200] ---------------------------------------------------------------------- > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi, > I have been compiling and installing root v3.05.04 on a debian > I "configure linuxdeb --prefix=/usr/local/root/root_v3.05.04" > The compilation did succeed, I ran the "make install" > a directory tree is created under the appropriate directory with lib, share, > bin and include, but the dynamic libraries and headers fall into a rather > unusual directory: > headers are stored under $ROOTSYS/include/root/ > libraries are stored under $ROOTSYS/lib/root/ > binary directory is ok ! Please read `README/INSTALL', the section entitled `Choosing the installation method', sub-item 2. The reason that the libraries live in `/usr/local/lib/root' and not `/usr/local/lib' is that there are some unfortunate file names of the ROOT libraries, like `libMatrix', libCore, etc. - imagine how many applications would like to call their LA library just that. So to work around that, the libraries are installed in a subdirectory of `/usr/local/lib'. ROOT contain some 500+ headers - you don't want them in `/usr/local/include' (not to mention `/usr/include') so we do the standard thing, which is to put them all into a subdirectory. It would be nice if all client code and the ROOT headers themselves used the form #include <root/[header]> so that you basically didn't need to specify `-I/usr/include/root' on the compiler command line. However, the `root-config' script remedies some of that. > The fact that a root subdirectory is created does look correct to me even if > it not a real problem. I guess you mean, `does _not_ look correct', or ...? > I modified my /etc/profile and everything works fine but I checked on > previous releases and usually headers where installed in $ROOTSYS/include > and libraries $ROOTSYS/lib as we are used to under *nix system. The point is, that when you use _any_ of the options that sets installation directories, you should _not_ set ROOTSYS. As explained in the installation instructions, ROOT will not look at that variable if compiled as the second option describes. This has been in ROOT since 3.00 I think. It's not at all a new feature. > I realised the problem when running the test/programs. Invoking make > in the test directory revealed impossible to find the .so libs. > root-config --libs and root-config --cflags revealed the correct > path for the libs and headers but the Makefile in the test > directory seems to use LD_LIBRARY_FLAG and I had to modified it in > /etc/profile to get it work. This is exactly why one should _never_ _ever_ expect the ROOTSYS environment variable is set when building client applications and libraries, but _always_ use the `root-config' script to get the paths and so on (I know of at least one major client frameworks that assumes that ROOTSYS is set, which is just plain wrong). If you have administrative privileges on a GNU/Linux system, you should consider editing `/etc/ld.so.conf' to contain the path to the ROOT libraries, and then run `ldconfig' (that's what the Debian and Red Hat packages do). You can also compile the ROOT binaries with a specific runtime load path by passing the option `--enable-rpath' to `configure. Both these issues are explained in the `README/INSTALL' file. > Maybe I missed something, ... You did - please read `README/INSTALL' (a polite RTFM :-) > ... otherwise I hope this remark will help debian users if it is a > debian installation related problem. It's not. For the Debian GNU/Linux (Woody, on i386) user out there. You can now use apt-get to get some `.deb' packages of ROOT. Add the line deb: http://cholm.home.cern.ch/cholm stable local to your `/etc/apt/sources.list' and run apt-get update apt-get install root-bin Note, that the `.deb's are build on my home system, may not be all up to date, and can have funny dependencies (I mix Woody and Sid :-). Hopefully the situation will change soon, and I'll have a pure stable machine that can do regular builds. More as that happens. It would be cool if the ROOT guys would build RPMs and DEBs as part of their release process (hint hint :-) Also, there's a couple of packages you may need to do this, and I haven't really set it up nicely just yet, but I'm working on it. > I saw the possibility to make some deb packages, ... Just do `make debian' :-) > ... is there already a debian mirror where we can find precompiled > uptodate deb packages ??? Up-to-date no, but see above. > Are there already some maintainers for such deb packages ? Yes and no. I plan to become a Debian developer, but it is not at all certain that ROOT will be able to enter Debian. It certainly won't be able to enter the `main' or `contrib' archives, as the licences is not compliant with the Debian Free Software Guidelines, and other issues may well keep it out of the `non-free' archive too. Anyway, the licence actually prohibits you from redistributing `.deb' with out prior permission from the ROOT team. Building them, and installing them is OK, but redistributing them is not, as that constitutes `modified' work. Hope that helps. Oh, and it seems like Debian GNU/Linux is on the rise in the ROOT community: very cool. Now we just need some more Debian GNU/Hurd users too :-) 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 | |
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:11 MET