Committing new code to LDAS CVS ---------------------------------- 1) Set CVSROOT and login to CVS if necessary: setenv CVSROOT /ligo/tmp3/sw/cvs or (for remote CVS repository) setenv CVSROOT :pserver:username@ldas-sw.ligo.caltech.edu:/ldcg_server/common/repository cvs login 2) cvs co -l ldas cvs co -l ldas/lib cvs co -l ldas/api cvs co ldas/api/datacondAPI cvs co ldas/lib/general // not necessary, see notes below cvs co das/api/genericAPI // not necessary, see notes below Note1: Without getting ldas/lib/general directory the 'configure' in ldas/api/datacondAPI unable to find 'ospace' headers: ./build-ldas --prefix=/ldcg --enable-metadata-api=no Error on configuration stage in file SunOS/build_logs/config ------------------------------------------------------------------------------------------ checking for ospace/config2.h... no configure: error: Could not find ObjectSpace headers. configure: error: ../../../api/datacondAPI/configure failed for datacondAPI configure: error: ../../api/configure failed for api ------------------------------------------------------------------------------------------ Instead of getting ldas/lib/general where 'configure' script is able to find ospace/config2.h it is possible to tweak ldas/api/datacondAPI/configure.in by changing line 30 from: AC_LDAS_CHECK_LIB_OSPACE to: AC_LDAS_CHECK_LIB_OSPACE(no) Note2: Without ldas/api/genericAPI compilation stops with error due to absence of ldas/api/genericAPI/so/src/swiglogging.h ----------------------------------------------------------------------------------------- make[4]: Entering directory `/ligo/tmp3/sw/ldas/SunOS-sun4u/api/datacondAPI/so/src' /ldcg/bin/swig -tcl8 -c++ -I../../../../../api/datacondAPI/so/src -o datacondAPI_wrap.cc datacondAPI.swig Making wrappers for Tcl 8.x make[4]: *** No rule to make target `../../../../include/genericAPI/swigexception.hh', needed by `datacondAPI_wrap.lo'. Stop. make[4]: Leaving directory `/ligo/tmp3/sw/ldas/SunOS-sun4u/api/datacondAPI/so/src c++ -DPACKAGE=\"datacondAPI\" -DVERSION=\"1.0.0\" -DHAVE_LIBSOCKET=1 -DHAVE_LIBPTHREAD=1 -I. -I../../../../../api/datacondAPI/so/src -Wall -O2 -I/ldcg/include -Wall -g -O2 -O2 -D_REENTRANT -I/ldcg/include -Wp,-MD,.deps/CallChain.pp -c -fPIC -DPIC ../../../../../api/datacondAPI/so/src/CallChain.cc -o .libs/CallChain.lo ../../../../../api/datacondAPI/so/src/CallChain.cc:8: genericAPI/swiglogging.h: No such file or directory make[4]: *** [CallChain.lo] Error 1 make[4]: Leaving directory `/ligo/tmp3/sw/tmp3/ldas/SunOS-sun4u/api/datacondAPI/so/src' ------------------------------------------------------------------------------------------ Alternative way to checking-out ldas/api/genericAP is to place swiglogging.h to /ldcg/include/genericAPI/: cp ../api/genericAPI/so/src/swiglogging.h /ldcg/include/genericAPI/ Note3: Without libgenericAPI.so 'make check' unable to run tests If LDAS allready was compiled and installed (in /ldcg, for example) then it is necessary to add /ldcg/lib, /ldcg/lib/genericAPI to the list stored in environment variable LD_LIBRARY_PATH. setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/ldcg/lib/genericAPI 3) cd ldas ./build-ldas --prefix=/ldcg --enable-metadata-api=no 4) cd ldas/SunOS-Sun4u/api/datacondAPI make check "LIBS=-lpthread -lsocket -lposix4" Note : Several tests fail in pre18 version, test 'token_ingest' hangs forever. Note2: Same tests fail if checkout done for code with tag "ldas-0_0_17". 5) Adding new code Copy new *.cc and *.hh files (for example, TypeConversion.cc and TypeConversion.hh ) to the subdirectory ldas/api/datacondAPI/so/src Edit file ldas/api/datacondAPI/so/src/Makefile.am. Add new source and header file names to lists of files assigned to the variables CALL_CHAIN_SRCS and CALL_CHAIN_HDRS respectively. Run command 'make' from directory ldas/SunOS-sun4u/api/datacondAPI . 6) Adding test program Copy test source files (tTypeConversion.cc, for example) to the subdirectory ldas/api/datacondAPI/so/test Edit file ldas/api/datacondAPI/so/test/Makefile.am. Add new source files to the list of files assigned to the varibale TESTS. Add lines: tTypeConversion_SOURCES = \ tTypeConversion.cc to the appropriate section of file ldas/api/datacondAPI/so/test/Makefile.am If there are other files required for tests then copy those files to the directory ldas/api/datacondAPI/so/test and add names to the list assigned to variable EXTRA_DIST (in the same file Makefile.am). Run command 'make check "LIBS=-lpthread -lsocket -lposix4" ' from directory ldas/SunOS-sun4u/api/datacondAPI or '-lposix4' must be added to the end of line 301 in file ldas/SunOS-sun4u/api/datacondAPI/so/test/Makefile after make stops due to error. LIBS = -lpthread -lsocket -lposix4 Run command 'make check' from directory ldas/SunOS-sun4u/api/datacondAPI If 'make check' successful, then: 7) Add new files to CVS and commit changes: cd ldas/api/datacondAPI/so/src cvs add TypeConversion.cc TypeConversion.hh cvs commit -m'Some message here' TypeConversion.hh TypeConversion.cc Makefile.am cd ../test/ cvs add tTypeConversion.cc cvs commit -m'Some message here' tTypeConversion.cc Makefile.am ------------------------------------- May 29, 2001 A.Sazonov (sazonov@phys.ufl.edu)