- needed for sim-recon, hdds, ccdb, and jana
- two tags: version and url, mutually exclusive, drive access method
- if no version and no url, checkout latest
- new tag: dirtag, added to end of both tarball and check-out directory names
- dir name for checkout = package-name [+ dirtag]
- dir name for tarball = tar-determined name [+ dirtag]
- if prereq package from tar file, there is a version number encoded in directory name, dirname is in home variable, get the version number from there
- if prereq package from checkout, home directory is sufficient to get url of repository location, that info can be written as url tag
trying it on ltmarki, halld/sim-recon-2012-09-26
g++ -I. -I.. -I../include -I/home/marki/halld/sim-recon-2012-09-26/include -I/home/marki/halld/sim-recon-2012-09-26/include -D_FILE_OFFSET_BITS=64 -I/usr/local/gluex/jana/prod/include -I/usr/local/gluex/xerces-c/prod/include -D_ROOT_ -DROOT_MAJOR=5 -DROOT_MINOR=34 -pthread -m32 -I/usr/local/gluex/root/prod/include -I/usr/local/gluex/root/prod/include -O2 -Wall -c -o DEventSourceHDDM.o DEventSourceHDDM.cc
^Cmake: *** wait: No child processes. Stop.
make: *** Waiting for unfinished jobs….
make: *** wait: No child processes. Stop.
make: *** [library] Error 2
make: *** [HDDM] Interrupt
make: *** [libraries] Interrupt
same deal on multiple makes
only repeats for LOCAL_HALLD_HOME
Changed the makefile in sim-recon/src/external/xstream/src to preserve timestamps when doing the install. This prevents unnecessary re-compilation in libraries/HDDM. This was only happening with the top-level make since only then did a make install get repeated in the external directory.
make -C HDDM install which: no hddm-c in (/home/marki/halld_my/bin/Linux_Fedora13-i686-gcc4.4.4:/scratch/gluex_test_complete/sim-recon/prod/bin/Linux_Fedora13-i686-gcc4.4.4:/scratch/gluex_test_complete/cernlib/2006/bin:/scratch/gluex_test_complete/root/prod/bin:.:/home/marki/bin:/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin) make: Entering directory `/home/scratch/gluex_test_complete/sim-recon/sim-recon/src/libraries/HDDM' error: hddm-c not in path make: *** [env_check] Error 1 make: Leaving directory `/home/scratch/gluex_test_complete/sim-recon/sim-recon/src/libraries/HDDM' make: *** [HDDM] Error 2 make: Leaving directory `/home/scratch/gluex_test_complete/sim-recon/sim-recon/src/libraries' make: *** [libraries] Error 2 make: Leaving directory `/home/scratch/gluex_test_complete/sim-recon/sim-recon/src' make: *** [make_halld] Error 2 make: Leaving directory `/home/scratch/gluex_test_complete/sim-recon' make: *** [sim-recon_make] Error 2
> shenv halld_home HALLD_HOME=/scratch/gluex_test_complete/sim-recon/prod
- Green field build does not have a prod link yet. So hddm-c is not in path. So build of HDDM library fails.
- Green field build needs to have a HALLD_HOME defined that refers to itself.
- The fact that it worked before was fortuitous; always depended on a pre-existing build. And that is not strictly correct. Pre-existing version could be inconsistent with the current build.
- Chicken and egg problem.
- When building with LOCAL_HALLD_HOME, add local bin directory to the path in the top-level makefile. This fixes the issue.