Subject: pkg/13025: graphics/kdegraphics2 will not build with devel/pth (and xpkgwedge?)
To: None <gnats-bugs@gnats.netbsd.org>
From: None <woods@weird.com>
List: netbsd-bugs
Date: 05/24/2001 03:55:16
>Number:         13025
>Category:       pkg
>Synopsis:       graphics/kdegraphics2 will not build with devel/pth (and xpkgwedge?)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu May 24 00:54:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Greg A. Woods
>Release:        pkgsrc-2001/05/23
>Organization:
Planix, Inc.; Toronto, Ontario; Canada
>Environment:

System: NetBSD proven 1.5T NetBSD 1.5T (PROVEN) #6: Mon Apr 23 00:31:12 EDT 2001 woods@proven:/work/woods/NetBSD-src/sys/arch/i386/compile/PROVEN i386
Architecture: i386
Machine: i386

>Description:

	more silly problems with un-accounted for checks in package
	configuration.....

	it seems that if GNU Portable Thread Library (devel/pth) is
	installed there are situations where the configure script in
	graphics/kdegraphics2 will search out and find <pthread.h> and
	then fail to correctly build

	the check for <pthread.h> is just one silly line:

		AC_CHECK_HEADERS(pthread.h)

	and it seems nothing sensible is done with this other than to
	define HAVE_PTHREAD_H and to use it to pull in <pthread.h> in
	some totally inappropriate place where it can never work
	modified on NetBSD.

	this check is apparently succeeding because the environment
	variable CPPFLAGS is being set (correctly, IMNSHO) to include
	the parameter "-I/usr/pkg/include"

	note that indeed CPPFLAGS *MUST* be set this way for the
	configure script to correctly work, at least if the same flags
	are not defined as part of the base 'CC' command!  From the
	autoconf manual:

 - Variable: CPPFLAGS
     Header file search directory (`-IDIR') and any other miscellaneous
     options for the C preprocessor and compiler.  If it is not set in
     the environment when `configure' runs, the default value is empty.
     `configure' uses this variable when compiling or preprocessing
     programs to test for C features.

	The only thing I'm unsure of is why it's working this way on my
	machine and not on others, but for now I'm going to put the
	blame on xpkgwedge, not because I have looked to see what
	xpkgwedge might be doing to affect the setting of CONFIGURE_ENV
	but rather because that's the only other major difference I know
	of between my build environment and others where kdegraphics2
	has been known to build correctly....

>How-To-Repeat:

gmake[3]: Entering directory `/work/woods/m-NetBSD-pkgsrc/graphics/kdegraphics2/work.i386/kdegraphics-2.1/libminimagick'
/bin/sh ../libtool --mode=compile cc -DHAVE_CONFIG_H -I. -I. -I.. -I./mini-magick/ -I/usr/pkg/include -I/usr/pkg/qt2/include -I/usr/X11R6/include  -I/usr/pkg/include -I/usr/X11R6/include   -I/usr/pkg/include  -O2 -DNDEBUG -c animate.c
mkdir .libs
cc -DHAVE_CONFIG_H -I. -I. -I.. -I./mini-magick/ -I/usr/pkg/include -I/usr/pkg/qt2/include -I/usr/X11R6/include -I/usr/pkg/include -I/usr/X11R6/include -I/usr/pkg/include -O2 -DNDEBUG -c animate.c  -fPIC -DPIC -o .libs/animate.o
In file included from /usr/pkg/include/pthread.h:103,
                 from mini-magick/magick.h:55,
                 from animate.c:55:
/usr/include/sys/socket.h:192: syntax error before `u_char'
/usr/include/sys/socket.h:220: syntax error before `u_char'
/usr/include/sys/socket.h:222: `u_char' undeclared here (not in a function)
/usr/include/sys/socket.h:224: `u_char' undeclared here (not in a function)
/usr/include/sys/socket.h:224: `u_char' undeclared here (not in a function)
gmake[3]: *** [animate.lo] Error 1
gmake[3]: Leaving directory `/work/woods/m-NetBSD-pkgsrc/graphics/kdegraphics2/work.i386/kdegraphics-2.1/libminimagick'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/work/woods/m-NetBSD-pkgsrc/graphics/kdegraphics2/work.i386/kdegraphics-2.1/libminimagick'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/work/woods/m-NetBSD-pkgsrc/graphics/kdegraphics2/work.i386/kdegraphics-2.1'


>Fix:

	remove the check for <pthread.h> from the configure.in and autoreconf

	also make sure all -I and -D compiler flags are in CPPFLAGS and
	*NOT* in CFLAGS and that these are set properly in CONFIGURE_ENV!!!!
>Release-Note:
>Audit-Trail:
>Unformatted: