From owner-freebsd-questions@FreeBSD.ORG Sun Dec 28 18:00:37 2008 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2585F1065670; Sun, 28 Dec 2008 18:00:37 +0000 (UTC) (envelope-from fbsd.questions@rachie.is-a-geek.net) Received: from mail.rachie.is-a-geek.net (rachie.is-a-geek.net [66.230.99.27]) by mx1.freebsd.org (Postfix) with ESMTP id D5DEC8FC19; Sun, 28 Dec 2008 18:00:36 +0000 (UTC) (envelope-from fbsd.questions@rachie.is-a-geek.net) Received: from localhost (mail.rachie.is-a-geek.net [192.168.2.101]) by mail.rachie.is-a-geek.net (Postfix) with ESMTP id 04D27AFBC02; Sun, 28 Dec 2008 09:00:35 -0900 (AKST) From: Mel To: freebsd-questions@freebsd.org Date: Sun, 28 Dec 2008 09:00:35 -0900 User-Agent: KMail/1.9.10 References: <20081228093556.GA99170@desmo.3rdrock.kicks-ass.net> In-Reply-To: <20081228093556.GA99170@desmo.3rdrock.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200812280900.35582.fbsd.questions@rachie.is-a-geek.net> Cc: mich@FreeBSD.org, "Alain G. Fabry" Subject: Re: amarok install failure X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Dec 2008 18:00:37 -0000 On Sunday 28 December 2008 00:35:56 Alain G. Fabry wrote: > During the installation of amarok, I get the following error, what is going > wrong here. > > gmake[5]: Entering directory > `/usr/ports/audio/amarok/work/amarok-1.4.10/amarok/src/mediadevice/mtp' > /bin/sh /usr/local/bin/libtool --silent --tag=CXX --mode=compile c++ > -DHAVE_CONFIG_H -I. -I../../../.. -I../../../../amarok/src > -I../../../../amarok/src -I../../../../amarok/src/amarokcore > -I../../../../amarok/src/amarokcore -I../../../../amarok/src/engine > -I../../../../amarok/src/engine -I../../../../amarok/src/mediadevice > -I/usr/local/include/taglib -I/usr/local/include -I/usr/local/include > -D_THREAD_SAFE -pthread -DQT_THREAD_SUPPORT -I/usr/local/include > -I/usr/local/include -I/usr/local/include -D_GETOPT_H -D_THREAD_SAFE > -Wno-long-long -Wundef -Wall -W -Wpointer-arith -O2 -fno-strict-aliasing > -pipe -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common > -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT > -DQT_NO_TRANSLATION -MT mtpmediadevice.lo -MD -MP -MF > .deps/mtpmediadevice.Tpo -c -o mtpmediadevice.lo mtpmediadevice.cpp > /usr/local/include/libmtp.h: In member function 'virtual MediaItem* > MtpMediaDevice::copyTrackToDevice(const MetaBundle&)': > /usr/local/include/libmtp.h:489: error: too many arguments to function 'int > LIBMTP_Send_Track_From_File(LIBMTP_mtpdevice_t*, const char*, > LIBMTP_track_t*, int (*)(uint64_t, uint64_t, const void*), const void*)' > mtpmediadevice.cpp:302: error: at this point in file > mtpmediadevice.cpp: In member function 'uint32_t > MtpMediaDevice::getDefaultParentId()': mtpmediadevice.cpp:383: warning: > deprecated conversion from string constant to 'char*' > /usr/local/include/libmtp.h: In member function 'LIBMTP_album_t* > MtpMediaDevice::getOrCreateAlbum(QPtrList*)': > /usr/local/include/libmtp.h:533: error: too many arguments to function 'int > LIBMTP_Create_New_Album(LIBMTP_mtpdevice_t*, LIBMTP_album_t*)' > mtpmediadevice.cpp:532: error: at this point in file > /usr/local/include/libmtp.h: In member function 'uint32_t > MtpMediaDevice::createFolder(const char*, uint32_t)': > /usr/local/include/libmtp.h:508: error: too few arguments to function > 'uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t*, char*, uint32_t, > uint32_t)' mtpmediadevice.cpp:611: error: at this point in file > /usr/local/include/libmtp.h: In member function 'void > MtpMediaDevice::playlistFromItem(MtpMediaItem*)': > /usr/local/include/libmtp.h:521: error: too many arguments to function 'int > LIBMTP_Create_New_Playlist(LIBMTP_mtpdevice_t*, LIBMTP_playlist_t*)' > mtpmediadevice.cpp:916: error: at this point in file > gmake[5]: *** [mtpmediadevice.lo] Error 1 > gmake[5]: Leaving directory > `/usr/ports/audio/amarok/work/amarok-1.4.10/amarok/src/mediadevice/mtp' > gmake[4]: *** [all-recursive] Error 1 > gmake[4]: Leaving directory > `/usr/ports/audio/amarok/work/amarok-1.4.10/amarok/src/mediadevice' > gmake[3]: *** [all-recursive] Error 1 > gmake[3]: Leaving directory > `/usr/ports/audio/amarok/work/amarok-1.4.10/amarok/src' gmake[2]: *** > [all-recursive] Error 1 > gmake[2]: Leaving directory > `/usr/ports/audio/amarok/work/amarok-1.4.10/amarok' gmake[1]: *** > [all-recursive] Error 1 > gmake[1]: Leaving directory `/usr/ports/audio/amarok/work/amarok-1.4.10' > gmake: *** [all] Error 2 > *** Error code 2 This is a result of libmtp update. Either don't use libmtp, downgrade it to previous version 0.2.6 or add the patch below my sig as /usr/ports/audio/amarok/files/patch-amarok_src_mediadevice_mtp_mtpmediadevice.cpp -- Mel --- amarok/src/mediadevice/mtp/mtpmediadevice.cpp.orig 2008-08-13 13:21:51.000000000 -0800 +++ amarok/src/mediadevice/mtp/mtpmediadevice.cpp 2008-12-28 08:47:14.000000000 -0900 @@ -296,9 +296,10 @@ m_critical_mutex.lock(); debug() << "Sending track... " << bundle.url().path().utf8() << endl; + trackmeta->parent_id = parent_id; int ret = LIBMTP_Send_Track_From_File( m_device, bundle.url().path().utf8(), trackmeta, - progressCallback, this, parent_id + progressCallback, this ); m_critical_mutex.unlock(); @@ -529,7 +530,8 @@ for( MtpMediaItem *it = dynamic_cast(items->first()); it; it = dynamic_cast(items->next()) ) album_object->tracks[i++] = it->track()->id(); album_object->no_tracks = items->count(); - ret = LIBMTP_Create_New_Album( m_device, album_object, 0 ); + album_object->parent_id = 0; + ret = LIBMTP_Create_New_Album( m_device, album_object); if( ret != 0 ) { debug() << "creating album failed : " << ret << endl; @@ -577,7 +579,7 @@ { if( create ) { - check_folder = createFolder( (*it).utf8() , parent_id ); + check_folder = createFolder( (*it).utf8() , parent_id); if( check_folder == 0 ) { m_critical_mutex.unlock(); @@ -608,7 +610,9 @@ { debug() << "Creating new folder '" << name << "' as a child of "<< parent_id << endl; char *name_copy = qstrdup( name ); - uint32_t new_folder_id = LIBMTP_Create_Folder( m_device, name_copy, parent_id ); + // XXX: storage_id not used anywhere, so pass in 0, but upstream + // should revisit this. + uint32_t new_folder_id = LIBMTP_Create_Folder( m_device, name_copy, parent_id, 0 ); delete(name_copy); debug() << "New folder ID: " << new_folder_id << endl; if( new_folder_id == 0 ) @@ -913,7 +917,8 @@ if( item->playlist()->id() == 0 ) { debug() << "creating new playlist : " << metadata->name << endl; - int ret = LIBMTP_Create_New_Playlist( m_device, metadata, 0 ); + metadata->parent_id = 0; + int ret = LIBMTP_Create_New_Playlist( m_device, metadata); if( ret == 0 ) { item->playlist()->setId( metadata->playlist_id );