GNOME Bugzilla – Bug 643078
Header collision between clutter-gtk-1.0 and clutter-gtk-0.10 due to include path order
Last modified: 2011-02-24 10:44:21 UTC
clutter-1.0 installs its headers in: /usr/include/clutter-1.0/clutter clutter-gtk-0.10 installs its headers in: /usr/include/clutter-1.0/clutter-gtk clutter-gtk-1.0 installs its headers in: /usr/include/clutter-gtk-1.0/clutter-gtk If while building, `-I/usr/include/clutter-1.0 -I/usr/include/clutter-gtk-1.0` is passed, gcc will pick up clutter-gtk-0.10's headers, and the build will fail. ------------ empathy-map-view.o: In function `create_marker': /home/nirbheek/empathy-2.91.90/src/empathy-map-view.c:273: undefined reference to `GTK_CLUTTER_TEXTURE' collect2: ld returned 1 exit status make[1]: *** [empathy] Error 1 make: *** [all] Error 2 ------------ I talked to clutter upstream, and the only solution we could come up with was to add clutter-gtk-1.0's path in the build order *first*. This means that the PKG_CHECK_MODULES order is also important. Attached below is a patch to change the order so that clutter-gtk-1.0 is always added first, for complete safety. Thanks!
Created attachment 181705 [details] [review] Change PKG_CHECK_MODULES order to include clutter-gtk-1.0 first.
Created attachment 181707 [details] [review] Change PKG_CHECK_MODULES order to include clutter-gtk-1.0 first. Oops, attached the wrong patch last time...
Merged to master; thanks a lot for the patch! This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.