Subject: pkg/36799: net/ORBit2 fails to build without ipv6 infrastructure
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Yakovetsky Vladimir <yx@x.ua>
List: pkgsrc-bugs
Date: 08/17/2007 11:05:00
>Number:         36799
>Category:       pkg
>Synopsis:       net/ORBit2: fails to build without ipv6 infrastructure
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Aug 17 11:05:00 +0000 2007
>Originator:     Yakovetsky Vladimir
>Release:        NetBSD 4.99.29
>Environment:
System: NetBSD lrou.x.ua 4.99.29 NetBSD 4.99.29 (lrou_odd-1.840) #0: Wed Aug 15 18:46:47 EEST 2007 yx@lrou.x.ua:/sys/arch/i386/compile/lrou_odd i386
Architecture: i386
Machine: i386
>Description:
	net/ORBit2 fails to build without ipv6 infrastructure.

>How-To-Repeat:
% grep -i inet6 /etc/mk.conf
MKINET6=                no
PKG_DEFAULT_OPTIONS+=   -inet6

% nm -o --defined-only /usr/lib/*.so* | grep in6addr || echo 'not found'
not found

% cd /usr/pkgsrc/net/ORBit2
% make -V USE_INET6
NO

% make
..
cc -O2 -march=pentium4 -finline-functions -fomit-frame-pointer -ffast-math -I/usr/obj/net/ORBit2/work/.buildlink/include -Werror-implicit-function-declaration -Wl,-R/usr/pkg/lib -o test-linc test-linc.o -pthread  -L/usr/obj/net/ORBit2/work/.buildlink/lib ../src/.libs/liblinc.a /usr/obj/net/ORBit2/work/.buildlink/lib/libgobject-2.0.so /usr/obj/net/ORBit2/work/.buildlink/lib/libgthread-2.0.so /usr/obj/net/ORBit2/work/.buildlink/lib/libglib-2.0.so -lintl -Wl,--rpath -Wl,/usr/obj/net/ORBit2/work/.buildlink/lib -Wl,--rpath -Wl,/usr/obj/net/ORBit2/work/.buildlink/lib
../src/.libs/liblinc.a(linc-protocols.o): In function `link_protocol_get_sockinfo_ipv6':
linc-protocols.c:(.text+0x9e1): undefined reference to `in6addr_any'
gmake[3]: *** [test-linc] Error 1
gmake[3]: Leaving directory `/usr/obj/net/ORBit2/work/ORBit2-2.14.8/linc2/test'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/usr/obj/net/ORBit2/work/ORBit2-2.14.8/linc2'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/obj/net/ORBit2/work/ORBit2-2.14.8'
gmake: *** [all] Error 2
*** Error code 2

Stop.
make: stopped in /usr/pkgsrc/net/ORBit2
*** Error code 1


>Fix:

--- net/ORBit2/Makefile.~1~
+++ net/ORBit2/Makefile
@@ -32,6 +32,11 @@
 
 CPPFLAGS.Darwin+=	-DBIND_8_COMPAT
 
+.include "../../mk/bsd.fast.prefs.mk"
+.if !empty(USE_INET6:M[nN][oO])
+CPPFLAGS+=		-DWITHOUT_IPV6
+.endif
+
 PRINT_PLIST_AWK+=	/^@dirrm share\/idl$$/ \
 				{ print "@unexec $${RMDIR} %D/" $$2 \
 				  " 2>/dev/null || $${TRUE}"; next; }


:r /usr/pkgsrc/net/ORBit2/patches/patch-ac
--- linc2/src/linc-protocols.c.~1~
+++ linc2/src/linc-protocols.c
@@ -29,6 +29,10 @@
 
 #undef LOCAL_DEBUG
 
+#ifdef WITHOUT_IPV6
+#undef AF_INET6
+#endif
+
 static char *link_tmpdir = NULL;
 static LinkNetIdType use_local_host = LINK_NET_ID_IS_FQDN;