Subject: Re: pkg/11706: "qpopper" fails to build if "gdbm" is installed
To: Matthias Scheler <>
From: Andrew Brown <>
List: netbsd-bugs
Date: 12/12/2000 13:46:05
this is yet another example of how the pkg system uses (or, more
properly, provides to the configure script) /usr/pkg/lib to find
libraries, but does not use /usr/pkg/include to find include files.  i
had a problem similar to this with mutt in august (mutt found a
library it wanted in /usr/pkg/lib, no corresponding include file, and
failed to build), but was dismissed with a "mutt should not be doing should upgrade your pkgsrc".

On Tue, Dec 12, 2000 at 05:34:59PM +0100, Matthias Scheler wrote:
>>Number:         11706
>>Category:       pkg
>>Synopsis:       "qpopper" fails to build if "gdbm" is installed
>>Confidential:   no
>>Severity:       serious
>>Priority:       medium
>>Responsible:    pkg-manager
>>State:          open
>>Class:          sw-bug
>>Submitter-Id:   net
>>Arrival-Date:   Tue Dec 12 08:37:00 PST 2000
>>Release:        pkgsrc-current 2000/12/12
>Matthias Scheler                               
>System: NetBSD 1.5 NetBSD 1.5 (COLWYN) #1: Mon Nov 20 10:39:19 CET 2000 i386
>If the "gdbm" package is installed the "qpopper" package tries to utilize
>it a build time. This causes a build failure because it doesn't search
>for "gdbm.h" in "${LOCALBASE}/include":
>=> Checksum OK for qpopper3.1.2.tar.gz.
>=> Checksum OK for qpopper3.1.2-ipv6-20001210.diff.gz.
>===> Extracting for qpopper-3.1.2
>===> Patching for qpopper-3.1.2
>===> Applying distribution patches for qpopper-3.1.2
>===> Ignoring empty patch directory
>===> Configuring for qpopper-3.1.2
>creating cache ./config.cache
>checking whether make sets ${MAKE}... yes
>checking for gcc... cc
>checking whether the C compiler (cc -DINET6  -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/pkg/lib) works... yes
>checking whether the C compiler (cc -DINET6  -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/pkg/lib) is a cross-compiler... no
>checking whether we are using GNU C... yes
>checking whether cc accepts -g... yes
>checking for POSIXized ISC... no
>checking for bison... yacc
>checking for flex... flex
>checking for yywrap in -lfl... yes
>checking for ar... ar
>checking for ranlib... ranlib
>checking for gperf... no
>checking for cperf... no
>warning:: not found
>checking for gcc version no
>checking if ar chokes on -r... no
>Will NOT compile in debugging code
>APOP is enabled.
>checking for getaddrinfo... yes
>checking whether you have ss_family in struct sockaddr_storage... yes
>System name: NetBSD; System version: 1.5
>Logging to facility: LOG_LOCAL0
>Set AR_FLAG = " -r "; RANLIB_CMD = ""
>checking size of unsigned long int... 4
>checking for sendmail program... found at /usr/sbin/sendmail
>checking for mail spool directory... found at /var/mail
>checking for dirent.h that defines DIR... yes
>checking for opendir in -ldir... no
>checking how to run the C preprocessor... cc -E
>checking for ANSI C header files... yes
>checking for sys/wait.h that is POSIX.1 compatible... yes
>checking for sys_siglist declaration in signal.h or unistd.h... yes
>checking for prot.h... no
>checking for fcntl.h... yes
>checking for limits.h... yes
>checking for strings.h... yes
>checking for sys/param.h... yes
>checking for sys/file.h... yes
>checking for sys/security.h... no
>checking for sys/syslog.h... yes
>checking for sys/types.h... yes
>checking for sys/fcntl.h... yes
>checking for sys/select.h... yes
>checking for sys/stat.h... yes
>checking for sys/unistd.h... yes
>checking for sys/netinet/in.h... no
>checking for sys/time.h... yes
>checking for syslog.h... yes
>checking for net/errno.h... no
>checking for unistd.h... yes
>checking for netinet/in.h... yes
>checking for maillock.h... no
>checking for ndbm.h... yes
>checking for gdbm.h... no
>checking for dbm.h... no
>checking for select.h... no
>checking for shadow.h... no
>checking for security/pam_appl.h... no
>checking for t_accept in -lnsl... no
>checking for socket in -lsocket... no
>checking for res_init in -lresolv... yes
>checking for maillock in -lmail... no
>checking for krb_recvauth in -lkrb... no
>checking for clock_gettime in -lposix4... no
>checking for set_auth_parameters in -lsecurity... no
>checking for crypt in -lcrypt... yes
>checking which database manager to use... checking gdbm... checking for gdbm_open in -lgdbm... yes
>found gdbm
>checking for working const... yes
>checking for uid_t in sys/types.h... yes
>checking for mode_t... yes
>checking for off_t... yes
>checking for size_t... yes
>checking for sys_siglist declaration in signal.h or unistd.h... (cached) yes
>checking whether time.h and sys/time.h may both be included... yes
>checking whether struct tm is in sys/time.h or time.h... time.h
>checking for 8-bit clean memcmp... yes
>checking return type of signal handlers... void
>checking whether utime accepts a null argument... yes
>checking for vprintf... yes
>checking for wait3 that fills in rusage... yes
>checking for gethostname... yes
>checking for gettimeofday... yes
>checking for getusershell... yes
>checking for mkdir... yes
>checking for socket... yes
>checking for strdup... yes
>checking for strerror... yes
>checking for strstr... yes
>checking for bcopy... yes
>checking for index... yes
>checking for flock... yes
>checking for set_auth_parameters... no
>checking for pw_encrypt... no
>checking for hstrerror... yes
>checking for snprintf... yes
>checking for vsnprintf... yes
>checking for srandom... yes
>checking for srand... yes
>checking for usleep... yes
>checking for setproctitle... yes
>updating cache ./config.cache
>creating ./config.status
>creating Makefile
>creating common/Makefile
>creating popper/Makefile
>creating mmangle/Makefile
>creating config.h
>===> Building for qpopper-3.1.2
>cd ./popper  && make all
>cc -c -I.. -I.. -I.  -I../mmangle -I../common  -DINET6 -DHAVE_CONFIG_H  -DNETBSD -DUNIX pop_dele.c -o pop_dele.o
>cc -c -I.. -I.. -I.  -I../mmangle -I../common  -DINET6 -DHAVE_CONFIG_H  -DNETBSD -DUNIX pop_dropcopy.c -o pop_dropcopy.o
>cc -c -I.. -I.. -I.  -I../mmangle -I../common  -DINET6 -DHAVE_CONFIG_H  -DNETBSD -DUNIX pop_get_command.c -o pop_get_command.o
>cc -c -I.. -I.. -I.  -I../mmangle -I../common  -DINET6 -DHAVE_CONFIG_H  -DNETBSD -DUNIX pop_get_subcommand.c -o pop_get_subcommand.o
>cc -c -I.. -I.. -I.  -I../mmangle -I../common  -DINET6 -DHAVE_CONFIG_H  -DNETBSD -DUNIX pop_init.c -o pop_init.o
>cc -c -I.. -I.. -I.  -I../mmangle -I../common  -DINET6 -DHAVE_CONFIG_H  -DNETBSD -DUNIX pop_last.c -o pop_last.o
>cc -c -I.. -I.. -I.  -I../mmangle -I../common  -DINET6 -DHAVE_CONFIG_H  -DNETBSD -DUNIX pop_list.c -o pop_list.o
>cc -c -I.. -I.. -I.  -I../mmangle -I../common  -DINET6 -DHAVE_CONFIG_H  -DNETBSD -DUNIX pop_log.c -o pop_log.o
>cc -c -I.. -I.. -I.  -I../mmangle -I../common  -DINET6 -DHAVE_CONFIG_H  -DNETBSD -DUNIX pop_lower.c -o pop_lower.o
>cc -c -I.. -I.. -I.  -I../mmangle -I../common  -DINET6 -DHAVE_CONFIG_H  -DNETBSD -DUNIX pop_msg.c -o pop_msg.o
>cc -c -I.. -I.. -I.  -I../mmangle -I../common  -DINET6 -DHAVE_CONFIG_H  -DNETBSD -DUNIX pop_parse.c -o pop_parse.o
>cc -c -I.. -I.. -I.  -I../mmangle -I../common  -DINET6 -DHAVE_CONFIG_H  -DNETBSD -DUNIX pop_pass.c -o pop_pass.o
>cc -c -I.. -I.. -I.  -I../mmangle -I../common  -DINET6 -DHAVE_CONFIG_H  -DNETBSD -DUNIX pop_quit.c -o pop_quit.o
>cc -c -I.. -I.. -I.  -I../mmangle -I../common  -DINET6 -DHAVE_CONFIG_H  -DNETBSD -DUNIX pop_rset.c -o pop_rset.o
>cc -c -I.. -I.. -I.  -I../mmangle -I../common  -DINET6 -DHAVE_CONFIG_H  -DNETBSD -DUNIX pop_send.c -o pop_send.o
>cc -c -I.. -I.. -I.  -I../mmangle -I../common  -DINET6 -DHAVE_CONFIG_H  -DNETBSD -DUNIX pop_stat.c -o pop_stat.o
>cc -c -I.. -I.. -I.  -I../mmangle -I../common  -DINET6 -DHAVE_CONFIG_H  -DNETBSD -DUNIX pop_updt.c -o pop_updt.o
>cc -c -I.. -I.. -I.  -I../mmangle -I../common  -DINET6 -DHAVE_CONFIG_H  -DNETBSD -DUNIX pop_user.c -o pop_user.o
>pop_user.c:75: gdbm.h: No such file or directory
>*** Error code 1
>*** Error code 1
>*** Error code 1
>*** Error code 1
>*** Error code 1
>cd pkgsrc/databases/gdbm
>make install
>cd ../../mail/qpopper
>make install
>Either add a dependence on the "gdbm" package and fix the include path or
>fix the database library detection to NetBSD's db functions.

|-----< "CODE WARRIOR" >-----|             * "ah!  i see you have the internet (Andrew Brown)                that goes *ping*!"       * "information is power -- share the wealth."