pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/49250: security/tcp_wrappers 7.6.4 DragonFly needs -DUSE_STRERROR added to Makefile



>Number:         49250
>Category:       pkg
>Synopsis:       security/tcp_wrappers 7.6.4 DragonFly needs -DUSE_STRERROR added to Makefile
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Oct 01 22:50:00 +0000 2014
>Originator:     David Shao
>Release:        DragonFly 3.9-DEVELOPMENT x86_64
>Organization:
>Environment:
DragonFly  3.9-DEVELOPMENT DragonFly v3.9.0.622.g7e5b9-DEVELOPMENT #1: Tue Sep 30 13:09:36 PDT 2014     xxxxx@:/usr/obj/usr/src/sys/X86_64_GENERIC  x86_64

>Description:
On DragonFly 3.9-DEVELOPMENT x86_64, using master through

commit 5362713f54ef09f127ed6c981add2fc4671503b4
Date:   Tue Sep 30 09:17:14 2014 +0000

    net: some LINTing after if_lagg import

security/tcp_wrappers 7.6.4 fails to build with error:

libtool: compile:  cc -g -DFACILITY=LOG_MAIL -DHOSTS_ACCESS -DPARANOID -DNETGROUP -DGETPEERNAME_BUG -DBROKEN_FGETS -DLIBC_CALLS_STRTOK -DDAEMON_UMASK=022 -DREAL_DAEMON_DIR=\"/usr/sbin\" -DSEVERITY=LOG_INFO -DRFC931_TIMEOUT=10 -DHOSTS_DENY=\"/etc/hosts.deny\" -DHOSTS_ALLOW=\"/etc/hosts.allow\" -Dvsyslog=myvsyslog -DALWAYS_HOSTNAME -DHAVE_IPV6 -DUSE_GETHOSTBYNAME2 -c percent_m.c  -fPIC -DPIC -o .libs/percent_m.o
percent_m.c:18:14: error: conflicting types for 'sys_errlist'
In file included from percent_m.c:11:0:
/usr/include/stdio.h:366:26: note: previous declaration of 'sys_errlist' was here
percent_m.c:19:12: error: conflicting type qualifiers for 'sys_nerr'
In file included from percent_m.c:11:0:
/usr/include/stdio.h:365:18: note: previous declaration of 'sys_nerr' was here

The reason is that percent.m has an ifndef guard:

#ifndef USE_STRERROR
#ifndef SYS_ERRLIST_DEFINED
extern char *sys_errlist[];
extern int sys_nerr;
#endif
#endif

and that USE_STRERROR is not defined.

DragonFly /usr/include/stdio.h (and apparently FreeBSD 10 stable's as well) for whatever reason chooses to declare:

extern const int sys_nerr;
extern const char *const sys_errlist[];

The one line fix to the Makefile below allows the build to complete.  

I believe the problem only manifested itself today because tcp_wrappers was added to databases/openldap's Makefile.common; therefore openldap-client failed to now build on DragonFly.
>How-To-Repeat:

>Fix:
--- Makefile.orig	2014-10-01 07:07:50.863821000 -0700
+++ Makefile	2014-10-01 15:27:05.114605000 -0700
@@ -36,7 +36,7 @@
 
 .if !empty(PKG_OPTIONS:Minet6)
 .  if !empty(OPSYS:M*BSD) || ${OPSYS} == "DragonFly"
-MAKE_ENV+=	IPV6="-DHAVE_IPV6 -DUSE_GETHOSTBYNAME2"
+MAKE_ENV+=	IPV6="-DHAVE_IPV6 -DUSE_GETHOSTBYNAME2 -DUSE_STRERROR"
 .  elif ${OPSYS} != "Linux" && ${OPSYS} != "Interix"
 MAKE_ENV+=	IPV6=-DHAVE_IPV6
 .  endif



Home | Main Index | Thread Index | Old Index