[chuck-users] 1.3.0.0 (chimera) unleashed!
Robert Poor
rdpoor at gmail.com
Sat Aug 25 15:29:45 EDT 2012
FWIW, I skirt the whole issue of "what version of <program name here>
am I running" with a simple sandboxing technique. I relied heavily on
this when I was using ChucK for live performances and absolutely
needed to know that all the libraries and executables were
self-consistant.
First, create a sandbox directory, e.g.
$ mkdir ~/chimera
$ mkdir ~/chimera/usr
$ cd ~/chimera
Create ~/chimera/SETUP containing something like this:
$ cat > SETUP
#!/bin/sh
export SANDBOX='/Users/me/chimera'
# set the path
export PATH=${SANDBOX}/usr/bin:/usr/local/mysql/bin:${PATH}
# set the prompt so we know we're in the sandbox
export PS1='chimera[\w]$ '
# ... and away we go
exec /bin/bash
^D
$ chmod +x SETUP
Now, whenever you install a library or an executable, put it in
$SANDBOX/usr/lib or $SANDBOX/usr/bin. Assuming you have source file
distribution (say, in ~/newapp), you can usually do this:
$ ~/chimera/SETUP
chimera[~]$ cd ~/newapp
chimera[~/newapp]$ ./config prefix=$SANDBOX/usr
chimera[~/newapp]$ ./make ; make install
If it's a well-written config / maker pair, this will put all your
executables in your sandboxed directory. Of course, you can create
other sandboxes for other major versions. I kept one for each of the
previous versions of ChucK.
- Rob
More information about the chuck-users
mailing list