Subject: pkg/26566: building x11/gnome-core fails (with pkgviews) (includes potential fix)
To: None <gnats-bugs@gnats.NetBSD.org>
From: Rhialto <rhialto@azenomei.knuffel.net>
List: pkgsrc-bugs
Date: 08/06/2004 03:25:58
>Number:         26566
>Category:       pkg
>Synopsis:       building x11/gnome-core fails; can't find gdk-pixbuf/gnome-canvas-pixbuf.h
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Aug 06 01:27:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Rhialto
>Release:        NetBSD 2.0_BETA
>Organization:
>Environment:
System: NetBSD loelappie.falu.nl 2.0_BETA NetBSD 2.0_BETA (LOELAPPIE) #7: Wed Jul 28 15:11:54 CEST 2004 root@loelappie.falu.nl:/usr/src/sys/arch/i386/compile/LOELAPPIE i386
Architecture: i386
Machine: i386
>Description:
	I am using pkgviews.  While building gnome-core (for gmc, which
	I need because Nautilus does not work; see pr pkg/26128), it
	fails while compiling gnome-about.c:

gmake[2]: Entering directory `/home/tmp/x11/gnome-core/work.i386/gnome-core-1.4.
2/gnome-about'
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/pkg/include -I../intl -I../intl
-I/usr/pkg/packages/gnome-libs-1.4.2nb3/include/gnome-1.0
-DNEED_GNOMESUPPORT_H
-I/usr/pkg/packages/gnome-libs-1.4.2nb3/lib/gnome-libs/include
-I/usr/pkg/packages/glib-1.2.10nb6/include/glib/glib-1.2
-I/usr/pkg/packages/glib-1.2.10nb6/lib/glib/include
-I/usr/pkg/packages/ORBit-0.5.15nb6/include/orbit-1.0
-I/usr/pkg/packages/gtk+-1.2.10nb7/include/gtk-1.2 -I/usr/X11R6/include
-I/usr/pkg/include/libcapplet1
-I/usr/pkg/packages/gnome-libs-1.4.2nb3/include/gnome-1.0
-DNEED_GNOMESUPPORT_H
-I/usr/pkg/packages/gnome-libs-1.4.2nb3/lib/gnome-libs/include
-I/usr/pkg/packages/glib-1.2.10nb6/include/glib/glib-1.2
-I/usr/pkg/packages/glib-1.2.10nb6/lib/glib/include
-I/usr/pkg/packages/ORBit-0.5.15nb6/include/orbit-1.0
-I/usr/pkg/packages/gtk+-1.2.10nb7/include/gtk-1.2 -I/usr/X11R6/include
-I/usr/pkg/packages/gdk-pixbuf-0.22.0nb2/include/gdk-pixbuf-1.0
-I/usr/pkg/packages/gtk+-1.2.10nb7/include/gtk-1.2
-I/usr/pkg/packages/glib-1.2.10nb6/include/glib/glib-1.2
-I/usr/pkg/packages/glib-1.2.10nb6/lib/glib/include -I/usr/X11R6/include
-DGNOMELOCALEDIR=\""/usr/pkg/share/locale\""
-I/usr/pkg/packages/libxslt-1.1.6/include
-I/usr/pkg/packages/libxml2-2.6.9/include -I/usr/pkg/include
-I/usr/pkg/packages/freetype2-2.1.8/include/freetype2
-I/usr/pkg/packages/gdk-pixbuf-gnome-0.22.0nb2/include
-I/usr/pkg/packages/libwww-5.4.0nb2/include -I/usr/include
-I/usr/pkg/packages/gdk-pixbuf-0.22.0nb2/include/gdk-pixbuf-1.0
-I/usr/pkg/packages/gdk-pixbuf-0.22.0nb2/include
-I/usr/pkg/packages/db3-3.11.2nb2/include/db3
-I/usr/pkg/packages/popt-1.7nb4/include
-I/usr/pkg/packages/gnome-libs-1.4.2nb3/include
-I/usr/pkg/packages/esound-0.2.34/include
-I/usr/pkg/packages/libaudiofile-0.2.6/include
-I/usr/pkg/packages/imlib-1.9.14nb6/include
-I/usr/pkg/packages/libungif-4.1.0.1/include
-I/usr/pkg/packages/netpbm-10.18.13/include
-I/usr/pkg/packages/png-1.2.5nb5/include
-I/usr/pkg/packages/tiff-3.6.1nb2/include
-I/usr/pkg/packages/jpeg-6bnb1/include -I/usr/X11R6/include
-I/usr/pkg/packages/ORBit-0.5.15nb6/include
-I/usr/pkg/packages/gtk+-1.2.10nb7/include
-I/usr/pkg/packages/glib-1.2.10nb6/include
-I/usr/pkg/packages/libghttp-1.0.9/include
-I/usr/pkg/packages/gtk+-1.2.10nb7/include/gtk-1.2
-I/usr/pkg/packages/glib-1.2.10nb6/include/glib/glib-1.2
-I/usr/pkg/packages/glib-1.2.10nb6/lib/glib/include -I/usr/X11R6/include
-O2 -I/usr/pkg/packages/libxslt-1.1.6/include
-I/usr/pkg/packages/libxml2-2.6.9/include -I/usr/pkg/include
-I/usr/pkg/packages/freetype2-2.1.8/include/freetype2
-I/usr/pkg/packages/gdk-pixbuf-gnome-0.22.0nb2/include
-I/usr/pkg/packages/libwww-5.4.0nb2/include -I/usr/include
-I/usr/pkg/packages/gdk-pixbuf-0.22.0nb2/include/gdk-pixbuf-1.0
-I/usr/pkg/packages/gdk-pixbuf-0.22.0nb2/include
-I/usr/pkg/packages/db3-3.11.2nb2/include/db3
-I/usr/pkg/packages/popt-1.7nb4/include
-I/usr/pkg/packages/gnome-libs-1.4.2nb3/include
-I/usr/pkg/packages/esound-0.2.34/include
-I/usr/pkg/packages/libaudiofile-0.2.6/include
-I/usr/pkg/packages/imlib-1.9.14nb6/include
-I/usr/pkg/packages/libungif-4.1.0.1/include
-I/usr/pkg/packages/netpbm-10.18.13/include
-I/usr/pkg/packages/png-1.2.5nb5/include
-I/usr/pkg/packages/tiff-3.6.1nb2/include
-I/usr/pkg/packages/jpeg-6bnb1/include -I/usr/X11R6/include
-I/usr/pkg/packages/ORBit-0.5.15nb6/include
-I/usr/pkg/packages/gtk+-1.2.10nb7/include
-I/usr/pkg/packages/glib-1.2.10nb6/include
-I/usr/pkg/packages/libghttp-1.0.9/include -Wall -Wunused  -c
gnome-about.c
gnome-about.c:14:44: gdk-pixbuf/gnome-canvas-pixbuf.h: No such file or directory
gnome-about.c: In function `main':
gnome-about.c:500: warning: implicit declaration of function `gnome_canvas_pixbuf_get_type'
gmake[2]: *** [gnome-about.o] Error 1
gmake[2]: Leaving directory `/home/tmp/x11/gnome-core/work.i386/gnome-core-1.4.2/gnome-about'

so <gdk-pixbuf/gnome-canvas-pixbuf.h> is not found.

Note that the requested file is located at
/usr/pkg/packages/gdk-pixbuf-gnome-0.22.0nb2/include/gdk-pixbuf-1.0/gdk-pixbuf/gnome-canvas-pixbuf.h
but the command includes
-I/usr/pkg/packages/gdk-pixbuf-gnome-0.22.0nb2/include which misses the
final directory gdk-pixbuf-1.0.

On the other hand, there is
-I/usr/pkg/packages/gdk-pixbuf-0.22.0nb2/include/gdk-pixbuf-1.0 which
gets the final pathname component right, but not a previous one.

I suppose this is because the packages gdk-pixbuf and gdk-pixbuf-gnome
are intermingled in a strange way (they always were) where the latter
adds a file among the files installed by the former.

$ gnome-config gnomecanvaspixbuf --cflags
$ gnome-config gdk_pixbuf --cflags

give the correct directories in the -I flags.

Header files are installed like this:

$ l /usr/pkg/packages/gdk-pixbuf-0.22.0nb2/include/gdk-pixbuf-1.0/gdk-pixbuf/
total 23
-r--r--r--  1 root  wheel   332 Jun 28 15:12 gdk-pixbuf-features.h
-r--r--r--  1 root  wheel  2956 Jun 28 15:12 gdk-pixbuf-loader.h
-r--r--r--  1 root  wheel  2421 Jun 28 15:12 gdk-pixbuf-xlib.h
-r--r--r--  1 root  wheel  4883 Jun 28 15:12 gdk-pixbuf-xlibrgb.h
-r--r--r--  1 root  wheel  8564 Jun 28 15:12 gdk-pixbuf.h
$ l /usr/pkg/packages/gdk-pixbuf-gnome-0.22.0nb2/include/gdk-pixbuf-1.0/gdk-pixbuf/
total 4
-r--r--r--  1 root  wheel  1983 Jul  4 18:01 gnome-canvas-pixbuf.h

It seems that gnome-about/Makefile contains a proper definition for
CANVAS_PIXBUF_CFLAGS, but it is not used anywhere. There is a CFLAGS
that contains the insufficient -I options.

Notice: There may be more packages that use gdk-pixbuf-gnome and assume
the header file is in the same location as that of gdk-pixbuf. These
should be fixed too.

>How-To-Repeat:
	using pkgviews:
	cd pkgsrc/x11/gnome-core && make

>Fix:
	Adding, via a patch and an upstream bug report,
	$(CANVAS_PIXBUF_CFLAGS) to the value of INCLUDES, both in
	Makefile.am and Makefile.in, should fix the problem.

	This seems the right fix, since LDADD already contains
	$(CANVAS_PIXBUF_LIBS).


-Olaf.
-- 
___ Olaf 'Rhialto' Seibert
\X/ rhialto/at/xs4all.nl        -- Cetero censeo "authored" delendum esse.
>Release-Note:
>Audit-Trail:
>Unformatted: