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: