The Amarok package is compiled against libgpod 3.2 which is contained in package libgpod0 when it should be compiled against the updated libgpod 4.2 which is contained in package libgpod1. It is a known problem (google for "amarok libgpod crash" lists many results).
A patch needs to be applied to Amarok to compile against the libgpod1 Debian package. A quick patch is included. Tested against a 5g 80GB Ipod. The crash is gone. Glenn Wurster.
diff -Naur amarok-1.4.4/amarok/src/mediadevice/ipod/ipodmediadevice.cpp amarok-1.4.4-mod/amarok/src/mediadevice/ipod/ipodmediadevice.cpp --- amarok/src/mediadevice/ipod/ipodmediadevice.cpp 2006-10-26 16:40:20.000000000 -0400 +++ amarok/src/mediadevice/ipod/ipodmediadevice.cpp 2007-03-26 00:05:05.000000000 -0400 @@ -302,7 +302,7 @@ track->genre = g_strdup( metaBundle.genre()->utf8() ); - track->unk208 = 0x01; // for audio + track->mediatype = 0x01; // for audio if(type=="wav") { track->filetype = g_strdup( "wav" ); @@ -323,7 +323,7 @@ #else track->flag3 |= 0x01; // remember current position in track #endif - track->unk208 = 0x08; // for audiobooks + track->mediatype = 0x08; // for audiobooks } else if(type=="m4v" || type=="mp4v" || type=="mov" || type=="mpg" || type=="mp4") { @@ -331,7 +331,7 @@ #ifdef HAVE_ITDB_SKIP_SHUFFLE_FLAG track->movie_flag = 0x01; // for videos #endif - track->unk208 = 0x02; // for videos + track->mediatype = 0x02; // for videos } else if(type=="aa") { @@ -341,7 +341,7 @@ #else track->flag3 |= 0x01; // remember current position in track #endif - track->unk208 = 0x08; // for audiobooks + track->mediatype = 0x08; // for audiobooks TagLib::Audible::File f( QFile::encodeName( propertiesBundle.url().path() ) ); TagLib::Audible::Tag *t = f.getAudibleTag(); @@ -384,7 +384,7 @@ #ifdef HAVE_ITDB_MARK_UNPLAYED track->mark_unplayed = podcastInfo->listened ? 0x01 : 0x02; #endif - track->unk208 = track->unk208==0x02 ? 0x06 : 0x04; // video or audio podcast + track->mediatype = track->mediatype==0x02 ? 0x06 : 0x04; // video or audio podcast track->flag4 = 0x01; // also show description on iPod QString plaindesc = podcastInfo->description; plaindesc.replace( QRegExp("<[^>]*>"), "" );