amarok install failure

Michael Landin Hostbaek mich at prodnet.eu
Sun Dec 28 23:48:03 UTC 2008



On 28 déc. 08, at 21:57, Gary Kline <kline at thought.org> wrote:

> 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!

I will test tomorrow, and commit straight after if it does not break  
anything.

/mich


>
>
>    gary
>
>
>>
>> _______________________________________________
>> freebsd-questions at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
>> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org 
>> "
>
> -- 
> Gary Kline  kline at 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


More information about the freebsd-questions mailing list