Obsolete see: Software Installation From Source
Installation From Source with beanie¶
beanie is a simple set of scripts that performs the steps needed to build LBNE software following "official" instructions where they exist and smoothing over rough spots. The intention is for this build to work on more than just FNAL hosts. Currently the high-level target is larsoft. g4lbne and other high-level projects will be added in the future.
When successful the result will be a area populated under the given sub-directory holding a set of UPS-controlled external packages (including ART) and an SRT-built larsoft.
Make a location¶
mkdir -p /path/to/some/space cd /path/to/some/space
beanie build scripts:¶
svn checkout http://cdcvs.fnal.gov/subversion/lbne-software/build
Go for it¶
./build/scripts/beanie-larsoft development lbnesoft
In another terminal you can watch the detailed log:
tail -f lbnesoft/logs/log.latest
What might go wrong?¶
SVN+SSH access craps out¶
You might get:
sh: -c: line 0: syntax error near unexpected token `(' sh: -c: line 0: `svnserve --tunnel-user (null) -t'
You need to tweak your
.ssh/config stanza to use GSSAPI for fnal.gov access. See:
beanie has been tested on
- RACF Scientific Linux 5.3, 64bit
Platforms not listed above may or may not work. Fixes are welcome.
The development "release" of LBNE software may break at any given time as new commits are made to the upstream repositories. Periodically, true releases are made which are not subject to this problem.
SVN checkouts may fail with errors like the following found in the detailed log:
svn: PROPFIND of '/subversion/larsoftsvn/!svn/vcc/default': 503 Service Unavailable (http://cdcvs.fnal.gov)
Simply rerunning the
beanie command may allow for success.
Modifications for experts¶
By default these instructions and the beanie script will check things out anonymously and which will not allow commits. For developers needing to commit some special action is needed.
To check out the build directory with commit privileges:
git svn clone svn+ssh://firstname.lastname@example.org/cvs/projects/lbne-software/build
If you anticipate needing to make patches then explicitly checkout the
patches/ directory before getting started (or remove it post-start and check it out) like so:
cd lbnesoft/ rm -r patches # if needed, or move aside git svn clone svn+ssh://email@example.com/cvs/projects/lbne-software/releases/larsoft/development/build/patches
lbnesoft/ with desired top-level directory and replace the SVN URL with the one corresponding to the targetted release.
git add/commit commands and to upload them do
git svn rebase # to assure you bring down any other commits git svn dcommit