Subject: pkg/35480: security/libpreludedb fails to compile (NetBSD 3.0)
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <kre@munnari.OZ.AU>
List: pkgsrc-bugs
Date: 01/25/2007 08:30:00
>Number:         35480
>Category:       pkg
>Synopsis:       security/libpreludedb fails to compile (NetBSD 3.0)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jan 25 08:30:00 +0000 2007
>Originator:     Robert Elz
>Release:        NetBSD 3.99.15   (pkgsrc current within past 12 huors)
>Organization:
	Prince of Songkla University
>Environment:
System: NetBSD jade.coe.psu.ac.th 3.99.15 NetBSD 3.99.15 (GENERIC-1.696-20060125) #8: Wed Jan 25 04:59:39 ICT 2006 kre@jade.coe.psu.ac.th:/usr/obj/current/kernels/JADE_ASUS i386
Architecture: i386
Machine: i386
>Description:
	security/libpreludedb requires an include file which doesn't
	seem to exist (or be generated, or whatever is appropriate).
	The missing include file (looks to) cause lots of other
	compilation errors.

>How-To-Repeat:
	Compile security/libpreludedb - perhaps compiling in a NetBSD 3.0
	system is relevant (I'm using pkg_comp with libkver and the 3.0
	release sets and sources installed in the sandbox)

	Expect to see ...

mkdir .libs
 cc -DHAVE_CONFIG_H -I. -I../../.. -I../../../src/include -I../../../libmissing -I/pkg_comp/obj/pkgsrc/security/libpreludedb/default/.buildlink/include -I/pkg_comp/obj/pkgsrc/security/libpreludedb/default/.buildlink/include/mysql -I/pkg_comp/obj/pkgsrc/security/libpreludedb/default/.buildlink/include/python2.4 -O2 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wbad-function-cast -Wcast-qual -Wcast-align -Wnested-externs -Wunused -MT pgsql.lo -MD -MP -MF .deps/pgsql.Tpo -c pgsql.c  -fPIC -DPIC -o .libs/pgsql.o
pgsql.c:39:22: libpq-fe.h: No such file or directory
pgsql.c:54: error: parse error before "PGresult"
pgsql.c:54: warning: no semicolon at end of struct or union
pgsql.c:56: error: parse error before '}' token
pgsql.c:60: error: parse error before "PGconn"
pgsql.c:61: warning: function declaration isn't a prototype
pgsql.c: In function `handle_error':
pgsql.c:67: warning: implicit declaration of function `PQstatus'
pgsql.c:67: error: `conn' undeclared (first use in this function)
pgsql.c:67: error: (Each undeclared identifier is reported only once
pgsql.c:67: error: for each function it appears in.)

[many more errors deleted here] 

pgsql.c:308: warning: implicit declaration of function `PQgetlength'
pgsql.c:308: error: dereferencing pointer to incomplete type
pgsql.c:308: error: dereferencing pointer to incomplete type

[wrapper.sh] note: The real command line, after the pkgsrc wrapper, was:
/pkg_comp/obj/pkgsrc/security/libpreludedb/default/.gcc/bin/gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../../src/include -I../../../libmissing -I/pkg_comp/obj/pkgsrc/security/libpreludedb/default/.buildlink/include -I/pkg_comp/obj/pkgsrc/security/libpreludedb/default/.buildlink/include/mysql -I/pkg_comp/obj/pkgsrc/security/libpreludedb/default/.buildlink/include/python2.4 -O2 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wbad-function-cast -Wcast-qual -Wcast-align -Wnested-externs -Wunused -MT pgsql.lo -MD -MP -MF .deps/pgsql.Tpo -c pgsql.c -fPIC -DPIC -o .libs/pgsql.o -L/pkg_comp/obj/pkgsrc/security/libpreludedb/default/.buildlink/lib 

[wrapper.sh] note: The real command line, after the pkgsrc wrapper, was:
/usr/pkg/bin/libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../../.. -I../../../src/include -I../../../libmissing -I/pkg_comp/obj/pkgsrc/security/libpreludedb/default/.buildlink/include -I/pkg_comp/obj/pkgsrc/security/libpreludedb/default/.buildlink/include/mysql -I/pkg_comp/obj/pkgsrc/security/libpreludedb/default/.buildlink/include/python2.4 -O2 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wbad-function-cast -Wcast-qual -Wcast-align -Wnested-externs -Wunused -MT pgsql.lo -MD -MP -MF .deps/pgsql.Tpo -c -o pgsql.lo pgsql.c 
*** Error code 1


	[And yes, pkgsrc really does generate the "The real command line"
	stuff twice - differently as shown above - that was not a pasto]

>Fix:
	Find from where the misisng libpq-fe.h is supposed to come,
	(perhaps from some other package I don't have installed, and
	which isn't listed as a build dependcy ??), and then verify
	that its presence causes the other errors to go away...