Hi Kris et al, (this is rather long - sorry) On Tue, 01 May 2001 10:14:18 -0500 hagel@comp.tamu.edu wrote concerning ": Re: BRAT changes - mult code and build system": > Christian, > Why is it more sensible to use any rootcint that might be in your path > instead of using the one in $ROOTSYS/bin which is associated with the root > that you wish to use? If you have a rootcint in your path that is not the same as the one that is in $ROOTSYS/<what ever>, then you have a serious setup problem. Also, You might be tempted to install ROOT binaries in, say /usr/local/bin /usr/local/root/bin/<arch> /usr/local/root/<root-version>/bin/<arch> and libraries in corresponding /usr/local/lib /usr/local/root/lib/<arch> /usr/local/root/<root-version>/lib/<arch> in which case, the ROOTSYS makes no sense (and shouldn't be set at all). > If you are not directing to the specific one you wish to use, I can > imagine some unintended behavior for people like me who might do > something "dirty", but still want it to work. That's why I generally use a small program called "path" which can remove/add/... your path easily, so that you can quickly remove references to "dirty installs". I have a script that contains setenv LD_LIBRARY_PATH `path -var LD_LIBRARY_PATH -r ${ROOTSYS}/lib` setenv PATH `path -r $ROOTSYS/bin` These two lines will remove $ROOTSYS/bin from my PATH and $ROOTSYS/lib from my LD_LIBRARY_PATH, and then I do: setenv ROOTSYS ${root_base}${root_ver} setenv LD_LIBRARY_PATH `path -var LD_LIBRARY_PATH -b ${ROOTSYS}/lib` setenv PATH `path -b ${ROOTSYS}/bin` which will add ${root_base}${root_ver}/bin to my PATH and ${root_base}${root_ver}/lib to my LD_LIBRARY_PATH. ${root_base} is where I install my "dirty" ROOTs and ${root_ver} is the version (e.g., 3.01.00, new, dev, pro). All this sprang out of trying to create a set of scripts that'll ease the installation of the various tools used in BRAHMS, from ROOT to GBRAHMS, autotools(?) to BRAT. What I do, is to have a directory structure like adm: administration scripts to update software etc. These are of form update_<package>, and most of them accept the options -v <version> -s <symbol>, which will fetch a the package sources and install everything in sw/<package>/<version>, and possibly make a symlink to sw/<package>/<symbol>. So for example saying ./update_root -v 3.00.06 -s new will get the ROOT sources for version 3.00/06 in src/root/3.00, configure it build it, and install it in sw/root/3.00 and make a symlink sw/root/new pointing to sw/root/3.00. src/<package>/<version>: Source code for each of the software packages sw/bin/<arch>: Binaries for the "common" packages, like Autotools, tar (needed for Solaris - sigh), login programs ("path" and "readconf"), etc. sw/include: Headers for "common" packages sw/info: GNU Info pages for "common" packages sw/lib/<arch>: Libraries for "common" packages sw/man: Unix man(1) pages for "common" packages sw/sbin So far some scripts used by login feature. sw/share Data files used by "common" packages sw/<package>/<version> Installation directories for each non-common (versioned) packages. Packages are: brat: No explanation needed brjsf: Programs to submit jobs to CRF gbrahms: No explanation needed mysql: Client installation. root: No explanation needed Each of these package directories has a number of version directories, for example for ROOT: root/2.25 root/3.00 root/pro => root/2.25 root/new => root/3.00 In each version directory, there's the subdirectories bin/<arch> lib/<arch> and possibly include share The idea then, is for people to have a file ~/.brahmsrc in thier home directory, with lines like use-root-new use-brat-old use-gbrahms-pro and in there shell login file (~/.login or ~/.profile) source the appropiate file sw/sbin/brahms.sh (SH family - ~/.profile) sw/sbin/brahms.csh (CSH family - ~/.login) It works fairly well on Linux, and it should work on Solaris if I could get ROOT and GBRAHMS to compile! I've made a installation stuff in rcas:/brahms/data08. Take a look at it if you like. There's a README file in rcas:/brahms/data08/adm/README that gives more info. Yours, Christian ----------------------------------------------------------- Holm Christensen Phone: (+45) 35 35 96 91 Sankt Hansgade 23, 1. th. Office: (+45) 353 25 305 DK-2200 Copenhagen N Web: www.nbi.dk/~cholm Denmark Email: cholm@nbi.dk
This archive was generated by hypermail 2b29 : Thu May 03 2001 - 06:25:38 EDT