Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Dec 2008 12:57:20 -0800
From:      Gary Kline <kline@thought.org>
To:        Mel <fbsd.questions@rachie.is-a-geek.net>
Cc:        mich@freebsd.org, freebsd-questions@freebsd.org, "Alain G. Fabry" <alainfabry@belgacom.net>
Subject:   Re: amarok install failure
Message-ID:  <20081228205720.GA18496@thought.org>
In-Reply-To: <200812280900.35582.fbsd.questions@rachie.is-a-geek.net>
References:  <20081228093556.GA99170@desmo.3rdrock.kicks-ass.net> <200812280900.35582.fbsd.questions@rachie.is-a-geek.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Dec 28, 2008 at 09:00:35AM -0900, Mel wrote:
> 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<MediaItem>*)':
> > /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<MtpMediaItem*>(items->first()); 
> it; it = dynamic_cast<MtpMediaItem*>(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 );


	Mel,

	amaroK is one of my favorites.  Any idea if/how soon your
	patch will be in ports?  ---It's been awhile since my last
	portupgrade and I'd hate to break this one, especially!

	gary


> 
> _______________________________________________
> freebsd-questions@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org"

-- 
 Gary Kline  kline@thought.org  http://www.thought.org  Public Service Unix
        http://jottings.thought.org   http://transfinite.thought.org
    The 2.17a release of Jottings: http://jottings.thought.org/index.php




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081228205720.GA18496>