vlc 0.8.6x on ppc 603e as of December, 11th 207

Plot:
I am running a machine with a powerpc processor MPC8241 derived from the ppc 603e and managed to get vlc 0.8.6c running as a daemon on it. This way, I am able to stream my mp3s off my little machine to a multimedia box provided by my ISP as part of the service. This box has RCA output.

Challenges:
It took me months to discover the right set of libraries and patches to include in my installation and the options to compile them. So here we go for a little how-to.

How-to:
I quickly decided to go the hard way, that is by hand compilation rather than the debian apt way (oh, yes I am running debian) given the specifics of my processor and the minimal config I desired. First thing to do is download the libraries and vlc 0.8.6c (maybe it also works with the freshly released 0.8.6d):
Then extract, configure and build them.
I configured them with –disable-altivec, because the mpc8241 does not support the altivec instructions set.
Patch vlc:
This part is the nastiest part, not that it is particularly difficult but it took me ages to find this was THE hack I needed. Let me explain: there was a bug related to altivec support in vlc (link), patched in the 0.9.x branch (trunk) of the vlc development tree. But this patch never made its way to the 0.8.6-bugfix branch, this same branch that currently gives birth to the stable 0.8.6x versions of vlc.
Running a 0.8.6c version of vlc off the box kept me stuck with an “Illegal Instruction” as soon as I tried to play a file.
I had to analyse finely the vlc development tree to discover that the initial patch, courtesy of the gentoo people, had never been included in the vlc bugfix branch. So I applied the gentoo patch to my 0.8.6c source, bootstraped, configured and compiled.
Configure:
I used the following options to compile vlc:

./configure --prefix=/usr/local --disable-altivec --enable-ogg --enable-flac --enable-vorbis --enable-theora --enable-dvb --enable-freetype --enable-dvdread --disable-caca --enable-mad --enable-a52 --disable-wxwidgets --enable-libmpeg2 --disable-speex --disable-skins2 --enable-ffmpeg --disable-debug --with-ffmpeg-tree=../ffmpeg --with-a52-tree=../a52dec-0.7.4

Download:
I am hosting a bash script that summarizes the procedure. You should not execute it blindly, but tweak it to your needs.
zip archive thumbnail

This entry was posted in home server, kurobox, software. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">