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.
![]()
