Fedora 12 and amazonmp3

Just discovered that the rather nifty amazonmp3 utility supplied by Amazon to do its MP3 downloads still only supports up to Fedora 11 (among other Linux distros), and won't run on my Fedora 12.  Fortunately, it's fixable.

It's primarily due to being dynamically linked to an older version of boost.  Unfortunately, there's no legacy boost RPM that will fix it, so we have to hack around the problem with some judicously named symbolic links that make the new libraries look like the old ones.

Thankfully, the newer boost libraries are compatible enough that this works.

First, make sure you get the latest version of the Amazon RPM.

Then, after installing that (rpm -Uvh --nodeps amazonmp3.rpm), as root: (you may not need to do the yum command if you have those packages already installed)

  1. yum install boost-*.i686 libglademm24.i686
  2. ln -s /usr/lib/libcrypto.so.10 /usr/lib/libcrypto.so.8
  3. ln -s /usr/lib/libssl.so.10 /usr/lib/libssl.so.6
  4. ln -s /usr/lib/libboost_filesystem.so.5 /usr/lib/libboost_filesystem.so.4
  5. ln -s /usr/lib/libboost_regex.so.5 /usr/lib/libboost_regex.so.4
  6. ln -s /usr/lib/libboost_date_time.so.5 /usr/lib/libboost_date_time.so.4
  7. ln -s /usr/lib/libboost_signals.so.5 /usr/lib/libboost_signals.so.4
  8. ln -s /usr/lib/libboost_iostreams.so.5 /usr/lib/libboost_iostreams.so.4
  9. ln -s /usr/lib/libboost_thread-mt.so.5 /usr/lib/libboost_thread-mt.so.4
  10. ln -s /usr/lib/libboost_system.so.5 /usr/lib/libboost_system.so.4

Well, works for me.

(found here)

UPDATE 22/05/2010: Amazon are now supplying a version (Build Date: Wed 27 Jan 2010 01:05:04 GMT; don't know why it took so long to appear on the UK site) of amazonmp3 for Fedora 12. Unfortunately, it's still being rolled with exactly the same version number as the older one (1.0.9-1 Build Date: Thu 10 Dec 2009 23:22:44 GMT), so it won't install if you have the original. You'll need to rpm -e amazonmp3 to remove the old one first.

If you applied the symlink patch above, you can remove it now:

rm /usr/lib/libcrypto.so.8
rm /usr/lib/libssl.so.6
rm /usr/lib/libboost_filesystem.so.4
rm /usr/lib/libboost_regex.so.4
rm /usr/lib/libboost_date_time.so.4
rm /usr/lib/libboost_signals.so.4
rm /usr/lib/libboost_iostreams.so.4
rm /usr/lib/libboost_thread-mt.so.4
rm /usr/lib/libboost_system.so.4

Leave a comment