Unified Diff

Building Amarok 1.4 on Leopard

by Bob on 30 June 2008, under Hacks, How To, Linux, OS X, Open Source

I love Amarok and wanted to install it on my MacBook. With Qt4 on the horizon, it will be possible to run Amarok natively in OS X without an X server. But I didn’t want to wait for Amarok2 to become stable, so I looked into compiling Amarok 1.4 and running it under X.

I tried following the On OS X guide with limited success. Apparently, ffmpeg won’t compile on Leopard and that caused the entire libxine compilation to fail. I tried various combinations of configure flags, but none seemed to help. I looked at the source to try and fix it, but unfortunately I’m not terribly familiar with x86 assembly.

The problem code had to do with video rendering, so since Amarok doesn’t use it I just cut it out of the build process. Edit src/combined/ffmpeg/Makefile and find

xineplug_LTLIBRARIES = xineplug_decode_ff.la xineplug_decode_dvaudio.la
and replace with
xineplug_LTLIBRARIES = xineplug_decode_dvaudio.la

After that, edit src/post/Makefile and find

SUBDIRS = planar goom visualizations mosaico deinterlace audio
and replace with
SUBDIRS = goom visualizations mosaico audio
Now libxine will build.

With libxine installed, I had a few more steps to build Amarok. I installed taglib

$ sudo fink install taglib
I also had to specify the location of the OpenGL framework I wanted to use
LDFLAGS="-Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/ \
  A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/ \
  A/Libraries/libGL.dylib"
And finally, this is how I configured Amarok
./configure --prefix=/sw --with-qt-includes=/sw/include/qt \
  --with-qt-libraries=/sw/lib/qt3/lib

I now have Amarok successfully compiled and running on Leopard. This took me quite a bit of time to get right, so I’m hoping someone else will find it useful.


Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!