24.09.2010 13:27, Mamoru Tasaka пишет:
Pavel Alexeev (aka Pahan-Hubbitus) wrote, at 09/24/2010 06:11 PM
+9:00:
> I have packaged xneur, which on review [1] and its build fine on Fedora 12 and 13.
On Fedora 14 it is failed [2] with error:
>
> /usr/include/libnotify/notification.h:28:21: fatal error: gtk/gtk.h: No such file or
directory
>
> I try figure out what happened and go step by step add includes in CFLAGS like:
> make %{?_smp_mflags} CFLAGS="%{optflags} -I%{_includedir}/gtk-2.0"
> after many attempts and googling I finally arrived to:
> make %{?_smp_mflags} CFLAGS="%{optflags} %( pkg-config --cflags --libs gtk+-2.0
)"
>
> which work like a charm.
>
> But I can't understand why I should provide it manually
> and why it does not required in previous releases?
>
> I slightly dig more and found it happened on linking with libnotify library. And
finaly result:
> On Fedora 13:
> $ pkg-config --cflags "libnotify >= 0.4.0"
> -pthread -I/usr/include/gtk-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/lib/gtk-2.0/include
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12
> On Fedora 14 (
f14-test.scrye.com):
> $ pkg-config --cflags "libnotify >= 0.4.0"
> -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include
>
> Should I fill bug on libnotify or it is the expected behavior?
>
> [1]
https://bugzilla.redhat.com/show_bug.cgi?id=623604
> [2]
http://koji.fedoraproject.org/koji/getfile?taskID=2482272&name=build.log
<
http://koji.fedoraproject.org/koji/getfile?taskID=2482272&name=build....
>
This change on libnotify is intentional.
http://git.gnome.org/browse/libnotify/commit/?id=0eb56b2fcf16d5381011e0ba...
https://bugzilla.gnome.org/show_bug.cgi?id=622550 How I should deal with it?
Is it normal add such parameters in make or in configure (%configure
LIBNOTIFY_CFLAGS="%( pkg-config --cflags "libnotify >= 0.4.0" gtk+-2.0
)" LIBNOTIFY_LIBS="%( pkg-config --libs "libnotify >= 0.4.0"
gtk+-2.0 )")?
And what is also very strange and interesting. When build failed with
"fatal error: gtk/gtk.h: No such file or directory" if I go in builddir
and manually invoke last command:
gcc -DHAVE_CONFIG_H -I. -I../.. -I../../lib/config -I../../lib/misc
-I../../lib/lib -Wall -Wextra -Werror -g0 -std=gnu99 -fPIC -pthread
-I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include
-pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic -c sound.c -fPIC -DPIC -o
.libs/libxnnotify_la-sound.o
compilation fine done without any problem. How it find all includes? And
why it is not happened in rpmbuild process?
Regards,
Mamoru