Gesendet: Sonntag, 23. Dezember 2012 um 11:10 Uhr
Von: "Michael Schwendt" <mschwendt(a)gmail.com>
An: packaging@lists.fedoraproject.org
Betreff: Re: [Fedora-packaging] guayadeque pkgconfig question
On Sun, 23 Dec 2012 00:02:17 +0100 (CET), Martin Gansser wrote:
> prefix=/usr
> libdir=/usr/lib64
> WXSQLITE_MINOR_VERSION=2.8
If this value is needed only in one place, isn't a variable overhead and
reduces readability?
Rather I would make your wxsqlite3 spec file substitute the minor version
in the .pc file (e.g. using "sed -i") when creating it.
> Libs: -L${libdir} -lwxcode_gtk2u_wxsqlite3-${WXSQLITE_MINOR_VERSION}
-lgdk_pixbuf-2.0
>
The -L${libdir} is ignored, since default libdir is a standard search path.
> pkg-config --libs wxsqlite3
> gives now the following:
>
> -lwxcode_gtk2u_wxsqlite3-2.8 -lgdk_pixbuf-2.0
Why would linking with wxsqlite3 strictly require linking with gdk-pixbuf2?
wxsqlite3 is linked with that library already, btw. The .pc file would be
incomplete, too, because of its empty Requires line => no dep on gdk-pixbuf-2.0
the file /usr/lib64/pkgconfig/wxsqlite3.pc looks now as following and work for
the compilation. Is this ok now ?, then i will submit a new wxsqlite3.pc file upstream.
prefix=/usr
libdir=/usr/lib64
includedir=/usr/include
Name: wxsqlite3
Description: C++ wrapper around the SQLite 3.x database
URL:
http://wxcode.sourceforge.net/components/wxsqlite3/
Version: 3.0.1
Libs: -L${libdir} -lwxcode_gtk2u_wxsqlite3-2.8
Cflags: -I${includedir}/wx
> finally the link loader had issued the following message:
>
> /bin/ld: CMakeFiles/guayadeque.dir/iPodMedia.o: undefined reference to symbol
'gdk_pixbuf_save_to_buffer'
> /bin/ld: note: 'gdk_pixbuf_save_to_buffer' is defined in DSO
/lib64/libgdk_pixbuf-2.0.so.0 so try adding it to the linker command line
> /lib64/libgdk_pixbuf-2.0.so.0: could not read symbols: Invalid operation
The full output for the gcc/ld invocation would be relevant here to examine
the linker options.
If something in guayadeque fails to link because it needs libgdk_pixbuf2,
it becomes necessary to find out where to fix it, not just add it blindly
to wxsqlite3.
guayadeque's src/iPodMedia.cpp accesses the gdk-pixbuf API, for example.
=> wxsqlite3 is the wrong place where to link the missing lib
I need to investigate further