How do I build CASA packages for OS X?
SSH to build host.
At this time, OS X 10.5 and 10.6 CASA package builds currently only work as srankin@sneffels.
Other users on sneffels with sudo permission may take ownership of the source tree to run this process if necessary.
See
CAS-2840
Set up
Add the following to the shell environment
OS X 10.5
export BUILD_NUMBER=[subversion revision number]
export BRANCH=[test|stable|release]
export BUILD_ARCH=darwin
export DYLD_FRAMEWORK_PATH=/opt/casa/core2-apple-darwin8/3rd-party/Frameworks
export DYLD_LIBRARY_PATH=/opt/casa/core2-apple-darwin8/3rd-party/lib/gcc42
export PACKAGE_FILE=CASA-intel-$BUILD_NUMBER.dmg
export PACKAGE_TYPE=core2-apple-darwin8
export PACKAGE_WORK_DIRECTORY=/opt/casa/$BRANCH
export PATH=/opt/casa/core2-apple-darwin8/3rd-party/bin/:$PATH
export TEMPLATE_DIRECTORY=/opt/casa/core2-apple-darwin8/template
export POST_BUILD_TEST_DIRECTORY=/Volumes/sneffels4/srankin/projects/testCasaBuilds/
OS X 10.6
export BUILD_NUMBER=[subversion revision number]
export BRANCH=[test|stable|release]
export BUILD_ARCH=darwin64
export DYLD_FALLBACK_LIBRARY_PATH=/opt/casa/darwin10-64b/lib
export DYLD_LIBRARY_PATH=/opt/casa/darwin10-64b/Library/Frameworks
export PACKAGE_FILE=CASA-intel64b-10.6-$BUILD_NUMBER.dmg
export PACKAGE_TYPE=darwin10-64b
export PACKAGE_WORK_DIRECTORY=/opt/casa/$BRANCH
export TEMPLATE_DIRECTORY=/opt/casa/template
export POST_BUILD_TEST_DIRECTORY=/Volumes/sneffels4/srankin/projects/testCasaBuilds/
OS X 10.7
To be filled out after the OS X 10.7 release. Expected in Summer 2011.
Process
After setting up the shell environment, copy and paste the instructions below. These will scripted when debugged.
Get code changes
cd $PACKAGE_WORK_DIRECTORY
svn update
export BUILD_NUMBER=[# reported by svn update]
Edit build number into the shell environment, then source again.
Note: the current package build procedure uses incremental builds.
Re-build each major module
(cd casacore/build && make -j 8 2>&1 | tee make.log && make -j 8 install 2>&1 | tee install.log)
(cd code/build && make -j 8 2>&1 | tee make.log && make -j 8 install 2>&1 | tee install.log)
(cd asap/build && make -j 8 2>&1 | tee make.log && make -j 8 install 2>&1 | tee install.log)
Note: If the install step completed, then the make step also completed without error.
Build the package
cp code/VERSION $BUILD_ARCH
cd $TEMPLATE_DIRECTORY
sudo ./make-casa-appv3.sh $PACKAGE_TYPE $BRANCH
Test the package
cp $TEMPLATE_DIRECTORY/$PACKAGE_FILE $POST_BUILD_TEST_DIRECTORY
launchctl remove org.freedesktop.dbus-session
launchctl remove org.freedesktop.dbus-system
Note: the preceding launchctl commands may report, "launchctl remove error: No such process". This is OK.
The following steps must be carried out on the console of the build computer.
- Double click on the PACKAGE_FILE icon on the desktop.
- After the package opens, read the readme.txt file. Follow all installation instructions.
- After starting CASA, in a new Terminal, you will see CASA update the data repository.
- A new "Log Messages" window will open.
- In the Terminal opened above, you will see a CASA prompt. At the prompt type:
asap_init
You will see: "*** ... ASAP (trunk rev# unknown ) import complete ***". If this test passes, it's worth trying to run some end-to-end tests.
Make regression data available
In a shell terminal:
ln -s /opt/casa/data/regression $POST_BUILD_TEST_DIRECTORY/CASA.app/Contents/data/
Run one or more short end-to-end tests
In a CASA terminal:
execfile '......regressions/vla_uvfits_line_sf.py'
For this test, we expect all subtests to pass, but it will still report a failure.
To run a suite of end-to-end tests, run:
execfile '.......python/regression.py'
Publish the package
Open Questions
- Where is make-casa-appv3.sh kept in change control?
- How do we build a template directory?
- How do we install library dependancies?
--
ScottRankin - 2011-02-22