pingswept.org
now with web 1.0 again

August 22, 2009

Building Blender 2.5 from source on Ubuntu 9.04

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

July 26, 2009

Buildroot on the Gumstix Verdex XL6P

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

July 26, 2009

Becoming a renewable energy engineer, part 2 (with videos)

I was invited to speak at Olin College a few months back as part of a seminar series about sustainability and engineering. The talk was indirectly inspired by my previous post on the topic. (By the way, Olin is great. If I were going to engineering school now, I'd definitely apply to Olin.) The folks at Olin recorded the talk, and after some manipulations with mpgtx, it's now up on Youtube.

The video is posted in 6 parts below. If I had to summarize in a few lines what I said, I'd say:

Direct links: Becoming a renewable energy engineer [1 of 6] Becoming a renewable energy engineer [2 of 6] Becoming a renewable energy engineer [3 of 6] Becoming a renewable energy engineer [4 of 6] Becoming a renewable energy engineer [5 of 6] Becoming a renewable energy engineer [6 of 6]

The videos themselves:

Thanks to Matt Ritter, Elsa, and the rest of the Olin folks who helped with the video taping and mucking around with the video files.

July 10, 2009

Humans 1, Skunks 0

We have survived our First Battle of Bull Run here at 57 Chandler. The anti-skunk battlements that we installed recently held up to an assault by a determined adversary. As can be seen in the picture below, a sapper has attempted to burrow through the wire mesh; the effort met with failure.

Humans 1, Skunks 0

older postsnewer posts