Subject: pkg/32503: netpbm does not build under debian linux
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <philippe.sam-long@laposte.net>
List: pkgsrc-bugs
Date: 01/11/2006 23:20:00
>Number:         32503
>Category:       pkg
>Synopsis:       netpbm does not build under debian linux
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Jan 11 23:20:00 +0000 2006
>Originator:     philippe sam-long
>Release:        pkgsrc-current on debian-testing linux
>Organization:
>Environment:
Linux yugoth 2.6.12-1-386 #1 Tue Sep 27 12:41:08 JST 2005 i686 GNU/Linux
>Description:
make[3]: Entering directory `/usr/pkgsrc/graphics/netpbm/work/netpbm-10.30/converter/other/jpeg2000'
gcc -c -I/usr/pkgsrc/graphics/netpbm/work/netpbm-10.30/converter/other/jpeg2000 -I.  -I-I/usr/pkg/include -DNDEBUG \
	    -I/usr/pkg/include -O2 -I/usr/pkg/include   -o pamtojpeg2k.o pamtojpeg2k.c
In file included from /usr/pkgsrc/graphics/netpbm/work/.buildlink/include/jasper/jas_types.h:111,
                 from /usr/pkgsrc/graphics/netpbm/work/.buildlink/include/jasper/jasper.h:66,
                 from pamtojpeg2k.c:20:
/usr/lib/gcc-lib/i386-linux/2.95.4/include/stdbool.h:9: conflicting types for `false'
pm_config.h:98: previous declaration of `false'
/usr/lib/gcc-lib/i386-linux/2.95.4/include/stdbool.h:11: conflicting types for `true'
pm_config.h:98: previous declaration of `true'
/usr/lib/gcc-lib/i386-linux/2.95.4/include/stdbool.h:11: conflicting types for `bool'
pm_config.h:95: previous declaration of `bool'
make[3]: *** [pamtojpeg2k.o] Error 1
make[3]: Leaving directory `/usr/pkgsrc/graphics/netpbm/work/netpbm-10.30/converter/other/jpeg2000'
make[2]: *** [jpeg2000/all] Error 2
make[2]: Leaving directory `/usr/pkgsrc/graphics/netpbm/work/netpbm-10.30/converter/other'
make[1]: *** [other/all] Error 2
make[1]: Leaving directory `/usr/pkgsrc/graphics/netpbm/work/netpbm-10.30/converter'
make: *** [converter/all] Error 2
*** Error code 2

Stop.

when trying to build graphics/netpbm
>How-To-Repeat:
cd /usr/pkgsrc/graphics/netpbm/ && bmake update
>Fix:
A very dirty trick to circumvent the problem is to avoid conflicts between netpbm's various boolean declarations, and the standard boolean included in jasper.

That means editing /usr/pkg/include/jasper/jas_types.h, removing the reference to <stdbool.h> and use jasper's own bool definitions.

Of course this is not viable, but unfortunately I could not find anything better so far, because booleans are redeclared many times and in a lot of different ways in netpbm.