Bug 140279 - Fails to build
Summary: Fails to build
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Portability-Compilation (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-19 06:37 UTC by Mark Purcell
Modified: 2017-08-19 21:06 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Purcell 2007-01-19 06:37:39 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources
Compiler:          gcc                              4.1.1-15 
OS:                Linux

It would appear that the ipod export plugin fails to build with the recently released libgpod 0.4.2.

/home/mark/src/debian/kde-extras/build-area/kipi-plugins-0.1.3~rc1/./kipi-plugins/ipodexport/ipodexportdialog.cpp: In member function 'void IpodExport::UploadDialog::startTransfer()':
/home/mark/src/debian/kde-extras/build-area/kipi-plugins-0.1.3~rc1/./kipi-plugins/ipodexport/ipodexportdialog.cpp:328: error: invalid conversion from 'GError**' to 'gint'
/usr/include/gpod-1.0/gpod/itdb.h:1020: error: too few arguments to function 'Itdb_Artwork* itdb_photodb_add_photo(Itdb_PhotoDB*, const gchar*, gint, gint, GError**)'
/home/mark/src/debian/kde-extras/build-area/kipi-plugins-0.1.3~rc1/./kipi-plugins/ipodexport/ipodexportdialog.cpp:328: error: at this point in file
/usr/include/gpod-1.0/gpod/itdb.h:1030: error: too few arguments to function 'void itdb_photodb_photoalbum_add_photo(Itdb_PhotoDB*, Itdb_PhotoAlbum*, Itdb_Artwork*, gint)'
/home/mark/src/debian/kde-extras/build-area/kipi-plugins-0.1.3~rc1/./kipi-plugins/ipodexport/ipodexportdialog.cpp:339: error: at this point in file
make[4]: *** [ipodexportdialog.lo] Error 1


Mark
Comment 1 Angelo Naselli 2007-01-19 09:16:46 UTC
I will disable that plugin at all in fina,
thanks for the report.

Angelo
Comment 2 Colin Guthrie 2007-01-20 14:04:07 UTC
Dammit. I got my CCBUG completely wrong in that last commit: Here goes with a copy+paste from the bug I accidentally polluted :)

SVN commit 625569 by cguthrie:

Fix to compile with latest libgpod 0.4.2
Warning: I do not have an ipod to test this, so you may still want to disable this for final release Angelo.
The only changes were to add 0 values for position and rotation in two functions calls, so I shouldn't expect too much fall out.
CCBUG: 67873


 M  +2 -2      ipodexportdialog.cpp  


--- trunk/extragear/libs/kipi-plugins/ipodexport/ipodexportdialog.cpp #625568:625569
@@ -325,7 +325,7 @@
 #define item static_cast<ImageListItem*>(item)
         debug() << "Uploading "      << item->pathSrc()
                 << " to ipod album " << album->name << endl;
-        Itdb_Artwork *art = itdb_photodb_add_photo( m_itdb, QFile::encodeName( item->pathSrc() ), &err );
+        Itdb_Artwork *art = itdb_photodb_add_photo( m_itdb, QFile::encodeName( item->pathSrc() ), 0, 0, &err );
         if( !art )
         {
             if( err )
@@ -336,7 +336,7 @@
             }
         }
         else
-            itdb_photodb_photoalbum_add_photo( m_itdb, album, art );
+            itdb_photodb_photoalbum_add_photo( m_itdb, album, art, 0 );
 
         delete item;
 #undef  item

Comment 3 Colin Guthrie 2007-01-20 14:05:31 UTC
Adding in Seb to the CC so he can double check that this should be OK. :)
Comment 4 Mark Purcell 2007-01-20 14:42:34 UTC
I still get a fail to build:

/bin/sh ../../libtool --tag=CXX --mode=link g++  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -g -Wall -O2 -Wformat-security -Wmissing-format-attribute -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    -o kipiplugin_ipodexport.la -rpath /usr/lib/kde3 -module -avoid-version -module -no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefined   -lgpod -lglib-2.0   -L/usr/share/qt3/lib -L/usr/lib    plugin_ipodexport.lo ipodexportdialog.lo ipodheader.lo ipodlistitem.lo imagelist.lo ipodexportdialog.moc.lo plugin_ipodexport.moc.lo imagelist.moc.lo ipodheader.moc.lo  -lkipi   -lkio -lkdeui -lkdecore -lqt-mt
g++ -shared -nostdlib /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.1.2/crtbeginS.o  .libs/plugin_ipodexport.o .libs/ipodexportdialog.o .libs/ipodheader.o .libs/ipodlistitem.o .libs/imagelist.o .libs/ipodexportdialog.moc.o .libs/plugin_ipodexport.moc.o .libs/imagelist.moc.o .libs/ipodheader.moc.o  /usr/lib/libgpod.so /usr/lib/libglib-2.0.so -L/usr/share/qt3/lib -L/usr/lib /usr/lib/libkipi.so /usr/lib/libkio.so /usr/lib/libkdeui.so /usr/lib/libkdecore.so /usr/lib/libqt-mt.so -L/usr/lib/gcc/i486-linux-gnu/4.1.2 -L/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib -L/lib/../lib -L/usr/lib/../lib -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/i486-linux-gnu/4.1.2/crtendS.o /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crtn.o  -Wl,--no-undefined -Wl,--allow-shlib-undefined -Wl,-soname -Wl,kipiplugin_ipodexport.so -o .libs/kipiplugin_ipodexport.so
.libs/plugin_ipodexport.o: In function `Plugin_iPodExport':
/home/mark/src/debian/kde-extras/build-area/kipi-plugins-0.1.3~rc1/./kipi-plugins/ipodexport/plugin_ipodexport.cpp:44: undefined reference to `g_type_init'
/home/mark/src/debian/kde-extras/build-area/kipi-plugins-0.1.3~rc1/./kipi-plugins/ipodexport/plugin_ipodexport.cpp:44: undefined reference to `g_type_init'
collect2: ld returned 1 exit status

I have libglib2.0-dev installed, but it isn't picking it up for some reason?

Mark
Comment 5 Colin Guthrie 2007-01-20 15:10:59 UTC
Works for me. I can only suggest that you do a make distclean or something... Perhaps there is a problem with your glib in some capacity (e.g. compiled with an older gcc?)

/bin/sh ../../libtool --silent --tag=CXX --mode=link g++  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -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    -o kipiplugin_ipodexport.la -rpath /home/colin/build/extragear/prefix/lib64/kde3 -module -avoid-version -module -no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefined -R /home/colin/build/extragear/prefix/lib64 -R /usr/lib64 -R /usr/lib/qt3//lib64 -R /usr/lib64  -lgpod -lglib-2.0   -L/usr/lib/qt3//lib64 -L/usr/lib64    plugin_ipodexport.lo ipodexportdialog.lo ipodheader.lo ipodlistitem.lo imagelist.lo plugin_ipodexport.moc.lo ipodexportdialog.moc.lo imagelist.moc.lo ipodheader.moc.lo  ../../libkipi/libkipi/libkipi.la -lkio -lkdeui -lkdecore -lqt-mt  -lz -lpng -lz -lm -lXext -lX11  -lSM -lICE -lpthread
[colin@jimmy ipodexport]$ /bin/sh ../../libtool --tag=CXX --mode=link g++  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -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    -o kipiplugin_ipodexport.la -rpath /home/colin/build/extragear/prefix/lib64/kde3 -module -avoid-version -module -no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefined -R /home/colin/build/extragear/prefix/lib64 -R /usr/lib64 -R /usr/lib/qt3//lib64 -R /usr/lib64  -lgpod -lglib-2.0   -L/usr/lib/qt3//lib64 -L/usr/lib64    plugin_ipodexport.lo ipodexportdialog.lo ipodheader.lo ipodlistitem.lo imagelist.lo plugin_ipodexport.moc.lo ipodexportdialog.moc.lo imagelist.moc.lo ipodheader.moc.lo  ../../libkipi/libkipi/libkipi.la -lkio -lkdeui -lkdecore -lqt-mt  -lz -lpng -lz -lm -lXext -lX11  -lSM -lICE -lpthread
g++ -shared -nostdlib  -Wl,--no-undefined -Wl,--allow-shlib-undefined  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -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 /usr/lib/gcc/x86_64-mandriva-linux-gnu/4.1.2/../../../../lib64/crti.o /usr/lib/gcc/x86_64-mandriva-linux-gnu/4.1.2/crtbeginS.o  .libs/plugin_ipodexport.o .libs/ipodexportdialog.o .libs/ipodheader.o .libs/ipodlistitem.o .libs/imagelist.o .libs/plugin_ipodexport.moc.o .libs/ipodexportdialog.moc.o .libs/imagelist.moc.o .libs/ipodheader.moc.o  -Wl,--rpath -Wl,/home/colin/build/extragear/prefix/lib64 -Wl,--rpath -Wl,/usr/lib/qt3/lib64 -Wl,--rpath -Wl,/usr/lib64 -Wl,--rpath -Wl,/usr/lib/qt3//lib64 -L/usr/lib/qt3/lib64 -L/lib64 -L/usr/lib64 /usr/lib64/libgpod.so /usr/lib64/libgdk_pixbuf-2.0.so /usr/lib64/libgobject-2.0.so /usr/lib64/libgmodule-2.0.so /usr/lib64/libglib-2.0.so -L/usr/lib/qt3//lib64 ../../libkipi/libkipi/.libs/libkipi.so /usr/lib64/libkio.so /usr/lib64/libkdesu.so /usr/lib64/libkwalletclient.so /usr/lib64/libfam.so /lib64/libacl.so -lattr /usr/lib64/libkdeui.so /usr/lib64/libkdecore.so /usr/lib64/libDCOP.so -lresolv -lutil /usr/lib64/libart_lgpl_2.so /usr/lib64/libkdefx.so /usr/lib64/liblcms.so /usr/lib64/libXfixes.so /usr/lib64/libxml2.so /usr/lib/qt3/lib64/libqt-mt.so /usr/lib64/libmng.so /usr/lib64/libjpeg.so /usr/lib64/libXrender.so /usr/lib64/libXrandr.so /usr/lib64/libXcursor.so /usr/lib64/libXinerama.so /usr/lib64/libXft.so /usr/lib64/libfreetype.so /usr/lib64/libfontconfig.so -lpng -lz /usr/lib64/libXext.so /usr/lib64/libX11.so /usr/lib64/libXau.so /usr/lib64/libXdmcp.so -ldl /usr/lib64/libSM.so /usr/lib64/libICE.so -lpthread -L/usr/lib/gcc/x86_64-mandriva-linux-gnu/4.1.2 -L/usr/lib/gcc/x86_64-mandriva-linux-gnu/4.1.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-mandriva-linux-gnu/4.1.2/crtendS.o /usr/lib/gcc/x86_64-mandriva-linux-gnu/4.1.2/../../../../lib64/crtn.o -Wl,-soname -Wl,kipiplugin_ipodexport.so -o .libs/kipiplugin_ipodexport.so
creating kipiplugin_ipodexport.la
(cd .libs && rm -f kipiplugin_ipodexport.la && ln -s ../kipiplugin_ipodexport.la kipiplugin_ipodexport.la)
Comment 6 Colin Guthrie 2007-01-20 15:12:16 UTC
Whoops, pasted a bit too much in the above... Just the bit from [colin@jimmy ipodexport]$ is comparable to your post :)
Comment 7 Angelo Naselli 2007-01-20 21:33:53 UTC
-> Warning: I do not have an ipod to test this, so you may still want to disable this for final release Angelo.
In any case I will, we haven't had any feed backs for that but it didn't compile ;)
I'll enable it again as soon as we release the final. 
I hope Seb will be back again soon.
Comment 8 Seb Ruiz 2007-01-21 07:54:45 UTC
I'll be home in 2 days, so i can sort it out soon :)

Cheers,
Seb

On 20 Jan 2007 20:33:53 -0000, Angelo Naselli <anaselli@linux.it> wrote:
> In any case I will, we haven't had any feed backs for that but it didn't compile ;)
> I'll enable it again as soon as we release the final.
> I hope Seb will be back again soon.

Comment 9 Achim Bohnet 2007-01-22 13:35:40 UTC
Hi Mark,

that we see the linking failure (and not the others) is due to the
relibtoolization for the debian pkgs.

ipodexport is calling g_type_init() explicitely without linking
against libgobject-2.0.

As the g_type_init() is used directly by the plugin the lib should
IMHO not be added to the list of libs libgpod needs but listed on
it's own.

I'll commit the fix for rc1 to debian pkg-kde-extras repo.

@Kipi-devels: clean enough to submit to KDE svn too?

Index: kipi-plugins/ipodexport/Makefile.am
===================================================================
--- kipi-plugins/ipodexport/Makefile.am (revision 626179)
+++ kipi-plugins/ipodexport/Makefile.am (working copy)
@@ -15,7 +15,7 @@
                                    ipodlistitem.cpp \
                                    imagelist.cpp

-kipiplugin_ipodexport_la_LIBADD  = $(LIBKIPI_LIBS) $(LIB_KIO) $(LIB_KDEUI) $(LIB_KDECORE) $(LIB_QT)
+kipiplugin_ipodexport_la_LIBADD  = -lgobject-2.0 $(LIBKIPI_LIBS) $(LIB_KIO) $(LIB_KDEUI) $(LIB_KDECORE) $(LIB_QT)

 kipiplugin_ipodexport_la_LDFLAGS = -module $(KDE_PLUGIN) $(LIBGPOD_LIBS) $(all_libraries)
Comment 10 Angelo Naselli 2007-01-22 14:22:19 UTC
Alle 13:35, luned
Comment 11 Achim Bohnet 2007-01-22 14:36:20 UTC
On Monday, 22. January 2007 14:22, Angelo Naselli wrote:
> Alle 13:35, lunedì 22 gennaio 2007, Achim Bohnet ha scritto:
> >  -lgobject-2.0
> Does that mean we should add another dependency into README?
> As packager i should add a special build requirement for that
> into the spec file (rpm issue) e.g. libglib2.0_0-devel


You are right. Adding such a build dependency is the right
thing.  Currently this is pulled in via libgpod build-deps.

> but we should add it some where to make it known.
> Anyway I'd prefer not to add such a plugin in final. Well
> at least if someone doesn't argue why we should...


I can't test the ipodexport plugins.  So I've no idea if it
works or not. (and that's true for most *export plugins too ;)

The missed library itself should not be an exclusion criteria.
Most plugins linker lines where incomplete before I played
with relibtoolization and adapt them.

KDE makes it easier because almost everything is in
kdelibs(-devel).  Gnome on the other hand had dozend
of independent pkgs. So keeping track of what get's
implicitely pulled in via other pkgs not as easy to
miss as listing only directly used libs in Makefile.

Achim
> 

Comment 12 Angelo Naselli 2007-04-28 00:13:42 UTC
ipod export has been released...