Instructions for building GDS tree, ver. gds_2_0_0 on solarisgcc ================================================================ (by R. Rahkola, rrahkola@darkwing.uoregon.edu) 0.0) Make sure you have a recent set of compiler tools. You need at least gcc 2.95.2, gnu make 3.78.1 0.a) Obtain the Root package from http://root.cern.ch/ and build it. (version 3.02/7 or higher) 0.b) Setup the following environment variables: ROOTSYS - Point the ROOTSYS environment variable to an existing version of Root which was compiled using the same gcc compiler you will use for GDS. GDSBUILD - If you want to use the frame-reading capabilities of gds (most likely), you need to set this to 'framecpp'. If you want to compile with the debug option on, you need to set it to 'debug', or 'framecpp,debug' for both. Otherwise, you don't need to set this. LIGOTOOLS - For now you should point this to an existing version of LIGOTools which includes packages Fr and dataflow. NOTE: Modifications for systems which don't have LIGOTools installed will follow after the normal install instructions. LD_LIBRARY_PATH - Add './lib:$ROOTSYS/lib:$LIGOTOOLS/lib' to the front of the existing LD_LIBRARY_PATH if it defined. PATH - Add '$ROOTSYS/bin' to the front of the existing PATH. DMTNAMESERVER - Point this to a valid DMT name server if you intend using the DMTViewer (optional). 0.c) Download the GDS package: Using CVS (currently the only method): - set the CVSROOT environment variable to: :pserver:readonly@ldas-sw.ligo.caltech.edu:/ldcg_server/common/repository_gds - change to the directory you want the gds source tree located - type 'cvs login'; ask jzweizig for the readonly password. - type 'cvs checkout -r gds_2_0_0 gds' 0.d) Check if you have the 'curl' program: - if so, don't worry about it. - if not, AND you want frame-reading capabilities, you will need to download framecpp ver. 0.0.22 from the URL: http://www.ldas-sw.ligo.caltech.edu/packages/framecpp-0.0.22.tar.gz - if not, BUT you don't need frame-reading capabilities (e.g. Event Tool users), don't worry about it. 1) Configure your GDS package: - type './configure --help' for configure options - type './configure []' NOTE: the --prefix option does not necessarily mark your install directory. This is useful in case you use a version control system like stow. Example: './configure solarisgcc' for Solaris and gcc. - you can look at the current configuration with 'make config' 2) If this is your first time installing the gds tree, build the External packages: - enter the External directory: 'cd External' - type 'make &' - You can watch the compile process scroll up your screen. If you see that it's compiling framecpp, you should be aware that output is no longer coming to the screen, and the last message you may read is: make[1]: Entering directory `/External/framecpp-0.0.22' make[1]: *** No rule to make target `clean'. Stop. make[1]: Leaving directory `/External/framecpp-0.0.22' make: [include/general] Error 2 (ignored) This is fine. You can watch framecpp's build by using 'tail -f' on framecpp-0.0.22//build_logs/make. 3) Start the build process: - go back up to the top of the gds directory tree: 'cd ..' - type 'make >& make_ &'. You'll be able to log the make process. - To watch the compilation, 'tail -f make_'. 4) Finish the installation: - type 'make install prefix=' Alternate Instructions for non-LIGOTools users: =============================================== Before Step 3: You will not be able to use the following packages: DMT/DMTifc DMT/TrigEnv Monitors/DSSbldr Monitors/NdasWriter Monitors/TrigDsply Therefore, you must change the following files: * in DMT/Makefile, on line 45, remove the references to DMTifc and TrigEnv * in Monitors/Makefile, on lines 45 & 48, remove references to DSSbldr, NdasWriter, and TrigDsply Continue with Step 3 above. Alternate Instructions for compiling with Linux =============================================== (warning: So far I haven't been able to complete the gds tree compilation under Linux. That doesn't mean it can't be done, as I was only able to put in a day of work on it. Below is the progress I made so far.) Before Step 2: Your compiler may not recognize the datatype 'caddr_t', in which case you'll get the following error: xfilemap.c: In function `filemap': xmlwf/unixfilemap.c:61: warning: implicit declaration of function `close' xmlwf/unixfilemap.c:71: `caddr_t' undeclared (first use in this function) xmlwf/unixfilemap.c:71: (Each undeclared identifier is reported only once xmlwf/unixfilemap.c:71: for each function it appears in.) xmlwf/unixfilemap.c:71: parse error before `0' xmlwf/unixfilemap.c:79: parse error before `p' xmlwf/unixfilemap.c:52: warning: `p' might be used uninitialized in this function make[1]: *** [xmlwf/unixfilemap.o] Error 1 make[1]: Leaving directory `/home/rrahkola/src/gds/External/expat' make: *** [include/xmlparse.h] Error 2 If so, you'll need to change the expat/Makefile to use the other filemap source file.