[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