Subject: pkg/30219: Incomplete buildlink3 file for postgresql74-lib (and probably 80 also)
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <brook@biology.nmsu.edu>
List: pkgsrc-bugs
Date: 05/12/2005 23:28:00
>Number:         30219
>Category:       pkg
>Synopsis:       Incomplete buildlink3 file for postgresql74-lib (and probably 80 also)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu May 12 23:28:00 +0000 2005
>Originator:     brook@biology.nmsu.edu
>Release:        NetBSD 1.6.1
>Organization:
Brook G. Milligan                      Internet:  brook@nmsu.edu
Department of Biology
New Mexico State University            Telephone:  (505) 646-7980
Las Cruces, New Mexico  88003  U.S.A.  FAX:        (505) 646-5665
>Environment:
	
	
System: NetBSD viola.nmsu.edu 1.6.1 NetBSD 1.6.1 (VIOLA) #0: Thu Dec 2 22:13:05 MST 2004 root@viola.nmsu.edu:/usr/src-1.6.1/sys/arch/i386/compile/VIOLA i386
Architecture: i386
Machine: i386
>Description:
Building packages (e.g., databases/libpqxx) that depend on the
postgresql libraries requires that the buildlink3.mk file lists all
the appropriate header files.  It seems that postgresql73-lib installs
all the header files within a single directory
($prefix/include/postgresql).  However, both postgresql74-lib and
postgresql80-client (which contains the libraries) install some files
directly in $prefix/include in addition to the larger complement in
$prefix/include/postgresql.  The ones in $prefix/include are not
referenced by the buildlink3.mk file.  As a result, when, for example
the libpqxx configure script looks for them, they are not found.
>How-To-Repeat:
	<code/input/activities to reproduce the problem (multiple
lines)>
Try to install databases/libpqxx while also forcing use of v7.4 or
v8.0 of postgresql (in contradiction to the requirement in the
Makefile to work around the problem).
>Fix:
	
Apply the following patch to the
databases/postgresql74-lib/buildlink3.mk file.  Almost certainly the
equivalent patch is required for postgresql80-client to include all
the files in $prefix/include that are not in
$prefix/include/postgresql.

--- buildlink3.mk.orig	2004-07-15 08:11:12.000000000 -0600
+++ buildlink3.mk	2005-05-12 15:24:34.000000000 -0600
@@ -14,6 +14,21 @@
 BUILDLINK_DEPENDS.postgresql-lib+=	postgresql-lib>=7.4.3
 BUILDLINK_PKGSRCDIR.postgresql-lib?=	../../databases/postgresql74-lib
 BUILDLINK_INCDIRS.postgresql-lib?=	include/postgresql
+BUILDLINK_FILES.postgresql-lib+=	include/ecpg_informix.h
+BUILDLINK_FILES.postgresql-lib+=	include/ecpgerrno.h
+BUILDLINK_FILES.postgresql-lib+=	include/ecpglib.h
+BUILDLINK_FILES.postgresql-lib+=	include/ecpgtype.h
+BUILDLINK_FILES.postgresql-lib+=	include/libpq-fe.h
+BUILDLINK_FILES.postgresql-lib+=	include/libpq/libpq-fs.h
+BUILDLINK_FILES.postgresql-lib+=	include/pg_config.h
+BUILDLINK_FILES.postgresql-lib+=	include/pg_config_manual.h
+BUILDLINK_FILES.postgresql-lib+=	include/pg_config_os.h
+BUILDLINK_FILES.postgresql-lib+=	include/pgtypes_date.h
+BUILDLINK_FILES.postgresql-lib+=	include/pgtypes_error.h
+BUILDLINK_FILES.postgresql-lib+=	include/pgtypes_interval.h
+BUILDLINK_FILES.postgresql-lib+=	include/pgtypes_numeric.h
+BUILDLINK_FILES.postgresql-lib+=	include/pgtypes_timestamp.h
+BUILDLINK_FILES.postgresql-lib+=	include/postgres_ext.h
 .endif	# POSTGRESQL_LIB_BUILDLINK3_MK
 
 .include "../../security/openssl/buildlink3.mk"

>Unformatted: