lighttpd should be configured with --disable-ipv6 when USE=-ipv6. This makes lighttpd to fail compile on Gentoo/uClibc. Reproducible: Always Steps to Reproduce: 1. Create a fresh uclibc chroot, non-hardened (http://www.bulah.com/embeddedgentoo.html) 2. emerge lighttpd 3. Actual Results: i386-gentoo-linux-uclibc-gcc -DHAVE_CONFIG_H -DLIBRARY_DIR=\"/usr/lib/lighttpd\" -I. -I. -I.. -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -march=i386 -Os -pipe -fomit-frame-pointer -Wall -W -Wshadow -pedantic -MT mod_ssi_expr.lo -MD -MP -MF .deps/mod_ssi_expr.Tpo -c mod_ssi_expr.c -fPIC -DPIC -o .libs/mod_ssi_expr.o network.o(.text+0x28b): In function `network_server_init': : undefined reference to `in6addr_any' network.o(.text+0x293): In function `network_server_init': : undefined reference to `in6addr_any' network.o(.text+0x29b): In function `network_server_init': : undefined reference to `in6addr_any' network.o(.text+0x2a3): In function `network_server_init': : undefined reference to `in6addr_any' collect2: ld returned 1 exit status distcc[3020] ERROR: compile (null) on localhost failed make[2]: *** [lighttpd] Error 1 make[2]: *** Waiting for unfinished jobs.... mod_ssi_exprparser.c: In function `ssiexprparserTokenName': mod_ssi_exprparser.c:286: warning: comparison between signed and unsigned mod_ssi_exprparser.c: In function `yy_find_shift_action': mod_ssi_exprparser.c:425: warning: comparison between signed and unsigned mod_ssi_exprparser.c: In function `yy_find_reduce_action': mod_ssi_exprparser.c:468: warning: comparison between signed and unsigned mod_ssi_exprparser.c: In function `yy_reduce': mod_ssi_exprparser.c:560: warning: comparison between signed and unsigned mod_ssi_exprparser.c: In function `yy_syntax_error': mod_ssi_exprparser.c:774: warning: unused parameter `yymajor' mod_ssi_exprparser.c:776: warning: unused parameter `yyminor' make[2]: Leaving directory `/var/tmp/portage/lighttpd-1.3.13-r3/work/lighttpd-1.3.13/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/lighttpd-1.3.13-r3/work/lighttpd-1.3.13' make: *** [all] Error 2 Expected Results: successful compile It looks like this affects 1.3.15 and 1.3.16 too. This is easily fixed by: --- /usr/portage/www-servers/lighttpd/lighttpd-1.3.13-r3.ebuild 2005-08-02 13:35:59 +0000 +++ www-servers/lighttpd/lighttpd-1.3.13-r3.ebuild 2005-08-12 06:34:29 +0000 @@ -13,7 +13,7 @@ LICENSE="BSD" SLOT="0" KEYWORDS="~amd64 ~ppc x86" -IUSE="mysql ssl php xattr ldap" +IUSE="mysql ssl php xattr ldap ipv6" RDEPEND="virtual/libc app-arch/bzip2 @@ -49,6 +49,7 @@ src_compile() { local my_conf="--libdir=/usr/$(get_libdir)/${PN}" + $(use ipv6) || my_conf="${myconf} --disable-ipv6" einfo "Regenerating automake/autoconf files" autoreconf -f -i || die "autoreconf failed"
Fixed in both 1.3.15 and 1.3.16. fyi, the $() around "use ipv6" needs to go. I'd be suprised if it even worked. Also, the correct way to do this would be to add it to the econf list: econf ... $(use_enable ipv6) || die