Installing Deliverance on Ubuntu Hardy Heron LTS at Slicehost
Deliverance is a lightweight proxy that applies a theme to content according to a set of rules. It provides a quick and simple way to re-brand content from any mainstream content provider or technology.
Deliverance is currently being touted in the Plone community as a simpler solution to Theming. Currently theming in Plone is a non-trivial effort that requires developer talent in addition to creative design.
See Also: Nate Aune's Slides from Plone Symposium East 2009
Getting There from Here
To install Deliverance on Hardy Heron Ubuntu Linux, I began by following the Quickstart directions at http://deliverance.openplans.org/quickstart.html.
The following are notes based on the steps in the Quickstart.
Before you begin
Note that I needed to install libxml-dev, libxml2-dev, and libxslt-dev in my system before starting down this road.
apt-get install libxml-dev libxml2-dev libxslt-devStarting with virtualenv
This process begins by setting up a virtual environment which is important for isolating some of the build steps from other parts of your system and giving you an easyout later by just blowing away the build directory.
Installing the Software
This is where I first encountered build errors which appear related to libxml or libxslt and the differences between 32bit and 64 bit hosts.
SAMPLE ERROR
gcc -g -O2 -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -o xmllint xmllint.o ./.libs/libxml2.a -ldl -lz -lm /usr/bin/ld: i386 architecture of input file `xmllint.o' is incompatible with i386:x86-64 output ...
This was the error that led my to discover that I needed to install Python developer tools and Cython.
Take a Big Step Back
I've run through this setp process a couple times now and I've concluded that Kees Hink'S blog post Installing deliverance provided the best guide to this process. He provides directions based on installing from a subversion checkout.Martin Aspeli's Manual Steps directions complement Hink's and OpenPlans'.
Here I reproduce Kees Hink's process with some modifications of my own.
# root level permission, sudo or something like it maybe required here # Get development libraries (i'm on Ubuntu) apt-get install libxml-dev libxslt-dev apt-get install python-dev # Decide where to install Deliverance. I chose "/opt/deliverance-prod" # as the path to my production installation mkdir /opt/deliverance-prod cd /opt/deliverance-prod # Get virtualenv.py from http://svn.colorstudy.com/virtualenv/trunk/virtualenv.py wget http://svn.colorstudy.com/virtualenv/trunk/virtualenv.py # Create virtualenv. "deliverance_svn" will be the sub-directory of the deliverance installation python virtualenv.py --no-site-packages deliverance_svn cd deliverance_svn # activate the virtual environment . bin/activate cd bin # Install Cython ./easy_install Cython==0.11 # Install latest version of setuptools to prevent error "global name 'log' is not defined" easy_install -U setuptools cd .. # Checkout deliverance from svn svn co http://codespeak.net/svn/z3/deliverance/trunk/ deliverance cd deliverance # Install deliverance ../bin/python setup.py install # Install paster in virtualenv ../bin/easy_install PasteScript cd .. # Create deliverance instance, replace "your-name-here" with the name for this configuration ./bin/paster create -t deliverance your-name-here # Answer the questions... # Start the proxy ./bin/deliverance-proxy your-name-here/etc/deliverance.xml
Cython
For me the real key was getting the Python and Cython developer tools running. After that the process went a lot smoother
apt-get install python-dev
./easy_install Cython==0.11
Other references
http://www.openplans.org/projects/deliverance/getting-started
Martin Aspeli's Manual Setup Steps
Kees Hink'S blog post Installing deliverance
how to build lxml from source http://codespeak.net/lxml/build.html
installing subversion