Differences between revisions 4 and 5
Revision 4 as of 2007-11-20 08:31:50
Size: 3772
Editor: tucano
Comment:
Revision 5 as of 2007-11-20 08:33:07
Size: 3804
Editor: tucano
Comment:
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
What is CVS anyway? It's a code manager that allows check-in and check-out of programs from the same directory structure. To learn more about it, read: [http://ximbiot.com/cvs/ a CVS Wiki] What is CVS anyway? It's a code manager that allows check-in and check-out of programs from the same directory structure. To learn more about it, read: [http://en.wikipedia.org/wiki/Concurrent_Versions_System a CVS Wiki]

CVS Initialization

All of the software for the JSOC-SDP is maintained in the "cvs" software configuration management system. In order to make new code using the DRMS you will need to establish a cvs work area, load the JSOC software tree into it, configure it for the machine you are using for code development, and build the libraries and programs. Then you will be able to add your own pipeline modules or other tools.

What is CVS anyway? It's a code manager that allows check-in and check-out of programs from the same directory structure. To learn more about it, read: [http://en.wikipedia.org/wiki/Concurrent_Versions_System a CVS Wiki]

The base JSOC system is revised often. The instructions for the most recent release should be consulted to make sure the following is still correct. See e.g. release

Make cvs Work Area

This step only needs to be done once. The normal place to put your JSOC work area is in a directory "cvs" in your home directory. Under that directory you will put the "jsoc" tree. E.g.:

% cd
% mkdir cvs
% mkdir cvs/jsoc

Many users find it convenient to make a link to the jsoc tree. E.g.:

% cd
% ln -s cvs/jsoc .

Load the jsoc software tree

You will only need to do the following the first time you start using the JSOC.

% cd ~/cvs
% cvs checkout jsoc

Note: If CVS asks you for a password or fails to checkout the code, make sure you have created a public and private ssh key under your ~/.ssh directory.

Update Existing Work Area ("Sandbox")

When others have made changes to the cvs managed software that you want to use, or when there has been a major release (you will be notified by email) you should update your set of JSOC code.

The easy way to update the JSOC code is to run the jsoc_update.csh script as follows:

% cd ~/cvs/jsoc
% jsoc_update.csh

Now you are ready to go. You may stop reading here is all you want to do is run JSOC programs.

A new make system is in place after Ver_3-5-PreRelease. If you have a cvs working directory of or before that, you'll need to run 'make clean' before 'cvs update' in order to clean up the .c files generated from .pgc files in src/base/libsum_pg.

Pipeline module source code is built in the src/pipeline directory. Look there for examples.

The jsoc_update.csh script will update all programs on all standard architectures. If it asks for passwords you will need to ask our sys-admin (action@sun) to fix your ~/.ssh files. You may want to change the order in which the builds are done by editting the order in the last few lines of this script in case your default machine type is other than the last one done in the default script.

If you do not want to use the script you can update manually with the following:

% cd ~/cvs/jsoc
% cvs update -APd
% ./configure
% make -j 4
...
%

Note: If the cvs update shows a file with a conflict, i.e. "C filename" then check with the CM or resolve the conflict.

Note: If the make file fails because it doesn't find the postgres 'ecpg' preprocessor,

  • then you'll need to install the postgresql-devel package. E.g. "sudo yum install postgresql-devel"

Note: JSOC compilation assumes the following RPMs are installed:

  • postgresql
  • postgresql-devel
  • postgresql-libs
  • openssl-devel

Altering default 'make' behavior

Running 'make' will perform a 'default make' which generates a subset of the possible binaries. All compiler warnings will be suppressed and the binaries will be optimized for speed and contain no debug information. To read how to tune this behavior [http://jsoc.stanford.edu/alterdefmake.html click here].

JsocWiki: CvsInit (last edited 2021-03-24 04:05:39 by PhilScherrer)