Building Blender 2.5 from source on Ubuntu 9.04

August 22, 2009 | categories: software | View Comments

I recently tried building an early release of Blender 2.5 from source on Ubuntu Linux 9.04 (the so-called 'Jaunty Jackalope'). So that the world might benefit from my tribulations, I thought I'd record the details here.

The 2.5 build process is standardized against Python 3.1, which isn't in the Ubuntu repositories yet, so you have to build that from source. Download the 3.1.1 tarball from python.org and build it like this:

wget http://python.org/ftp/python/3.1.1/Python-3.1.1.tgz
tar xzvf Python-3.1.1.tgz
cd Python-3.1.1
./configure
make
sudo make install

You also need a big pile of libraries and build tools, so install those using apt-get like this:

sudo apt-get install subversion openexr libopenexr-dev build-essential libjpeg-dev libpng12-dev libopenal-dev libalut-dev libsdl-dev libfreetype6-dev libtiff4-dev python-dev gettext libxi-dev yasm libsamplerate0-dev

Then, you're ready to check out the latest source and build Blender. (I'm sure you don't actually need most of the lib directory in the second command, but I don't know which parts are superfluous.)

   svn checkout https://svn.blender.org/svnroot/bf-blender/branches/blender2.5/blender/ /home/brandon/blender2.5
   svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/ /home/brandon/blender2.5/lib
   

A few configuration changes are necessary to make the build work with the stock Ubuntu setup. In blender2.5/config/linux2-config.py, change

   BF_PYTHON = '/usr'
   
to
   BF_PYTHON = '/usr/local'
   

and in the same file, disable FFMPEG support

   WITH_BF_FFMPEG = True  # -DWITH_FFMPEG
   
to
   WITH_BF_FFMPEG = False  # -DWITH_FFMPEG
   

Create a user config file in your blender2.5 directory like this:

   echo "BF_OPENAL_LIB = 'openal alut'" >> user-config.py
   

Then, the final build step can be executed like this:

   python ./scons/scons.py
   

The build process will create two folders in the same folder as your blender2.5 folder: build and install. The executable is located at install/linux2/blender. If your menus are missing when you run Blender, perhaps it is because you have rushed ahead and executed build/linux2/bin/blender, which is not what you want.

Victory is yours!

Screenshot of Blender 2.5

Read and Post Comments

Buildroot on the Gumstix Verdex XL6P

July 26, 2009 | categories: software, gumstix, linux | View Comments

Hello internet,

Should you attempt to compile the Buildroot toolchain so you can build a new filesystem image for your Gumstix Verdex board, you will find that as of mid-2009, files.gumstix.com no longer hosts several of the files that you will need. However, you can find them elsewhere on the web.

A handy shortcut is to replace the files.gumstix.com URL in gumstix-buildroot/toolchain/getter_script.sh with a different URL where most of the files appear: www.daimi.au.dk/~spider/gumstix/gumstix-buildroot/dl/. Thanks are due to the wise and honorable Martin Mogensen at the University of Aarhus for hosting the files. You'll also need this file in your gumstix-buildroot/dl folder: xmlsoft.org/sources/old/libxml2-sources-2.6.29.tar.gz

Lastly, you'll want to add to the file gumstix-buildroot/build_arm_nofpu/linux-2.6.21gum/scripts/mod/sumversion.c the line:

#include <limits.h>

or you'll get the error "error: ‘PATH_MAX’ undeclared (first use in this function)."

Fixed version of gumstix-buildroot/toolchain/getter_script.sh:

#!/bin/bash
wget -nd --passive-ftp $@ || (
echo Retrying from gumstix alternate site...
index=$#-1
# Copy all params into an array
for (( i=0; $?==0; i++ ));do a[$i]=$1; shift; done
# Chop all but filename from last param and prepend out URL
a[$index]=${a[index]/*\//http:\/\/www.daimi.au.dk/~spider/gumstix/gumstix-buildroot/dl/}
# Now wget that from out server
wget -nd ${a[@]}
)

Just a few other notes, since I finally got the Ethernet port working with Gumstix SVN r1642:

/etc/network/interfaces

auto lo
iface lo inet loopback

iface usb0 inet dhcp

auto eth0
iface eth0 inet dhcp

/etc/modules, with correct Ethernet driver selected (smc91x, not smc911x)

# MMC support -- comment the next two lines to enable using CF
mmc_block
pxamci

# Compact Flash support -- Must load smc91x or smc911x first!!
smc91x
#smc911x
pcmcia

# Load USB host driver
ohci-hcd

Output of lsmod

Module                  Size  Used by
ipv6                  248416  10
af_packet              16872  2
proc_gpio               9412  0
gumstix_bluetooth       1408  0
ohci_hcd               19620  0
usbcore               113340  2 ohci_hcd
pxa2xx_cs               3336  1
pxa2xx_core            10368  1 pxa2xx_cs
pcmcia                 25064  0
pcmcia_core            30576  2 pxa2xx_core,pcmcia
firmware_class          7520  1 pcmcia
smc91x                 16104  0
mii                     4736  1 smc91x
gumstix_smc91x          2816  1 smc91x
pxamci                  6240  0
mmc_block               6568  0
mmc_core               22100  2 pxamci,mmc_block
unix                   22292  18
Read and Post Comments