From version 6 onwards dhcpcd supports compilation for ipfv or ipv6 only, as indicated on its website (http://roy.marples.name/projects/dhcpcd/wiki/DhcpcdHistory) here: "February 2013 sees dhcpcd split into a main controller and 100% seperate stacks for DHCPv4, DHCPv6, IPv6RS and IPv6NS. It is now possible to compile dhcpcd just for INET or INET6." the ebuild should respect the system-wide ipv6 USE flag and compile dhcpcd accordingly. Reproducible: Always
This is added in 6.0.5. Thanks for the report.
Does not compile for me now: >> Emerging (1 of 1) net-misc/dhcpcd-6.0.5 * dhcpcd-6.0.5.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking dhcpcd-6.0.5.tar.bz2 to /var/tmp/portage/net-misc/dhcpcd-6.0.5/work >>> Source unpacked in /var/tmp/portage/net-misc/dhcpcd-6.0.5/work >>> Preparing source in /var/tmp/portage/net-misc/dhcpcd-6.0.5/work/dhcpcd-6.0.5 ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/net-misc/dhcpcd-6.0.5/work/dhcpcd-6.0.5 ... ./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/lib64 --prefix= --libexecdir=/lib/dhcpcd --dbdir=/var/lib/dhcpcd --localstatedir=/var --disable-ipv6 --with-hook=ntp.conf --with-hook=yp.conf Configuring dhcpcd for ... linux Looking for compiler ... x86_64-pc-linux-gnu-gcc x86_64-pc-linux-gnu-gcc (Gentoo 4.7.3 p1.0, pie-0.5.5) 4.7.3 Testing for getifaddrs ... yes Testing for arc4random ... no Testing for closefrom ... no Testing for getline ... yes Testing for strlcpy ... no Testing for TAILQ_FOREACH_SAFE ... no Testing for posix_spawn ... yes Testing for pollts ... no Testing for ppoll ... yes Checking for OpenRC ... yes Checking for ntpd ... /usr/sbin/ntpd (50-ntp.conf) Checking for ypind ... not found Finding hook ntp.conf ... 50-ntp.conf Finding hook yp.conf ... 50-yp.conf SYSCONFDIR = /etc SBINDIR = /sbin LIBDIR = /lib64 LIBEXECDIR = /lib/dhcpcd DBDIR = /var/lib/dhcpcd RUNDIR = /var/run MANDIR = /usr/share/man HOOKSCRIPTS = 50-ntp.conf 50-yp.conf >>> Source configured. >>> Compiling source in /var/tmp/portage/net-misc/dhcpcd-6.0.5/work/dhcpcd-6.0.5 ... make -j9 x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -ggdb -std=c99 -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -DINET -c common.c -o common.o x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -ggdb -std=c99 -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -DINET -c control.c -o control.o x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -ggdb -std=c99 -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -DINET -c dhcpcd.c -o dhcpcd.o x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -ggdb -std=c99 -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -DINET -c duid.c -o duid.o x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -ggdb -std=c99 -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -DINET -c eloop.c -o eloop.o x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -ggdb -std=c99 -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -DINET -c if-options.c -o if-options.o x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -ggdb -std=c99 -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -DINET -c if-pref.c -o if-pref.o x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -ggdb -std=c99 -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -DINET -c net.c -o net.o x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -ggdb -std=c99 -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -DINET -c script.c -o script.o dhcpcd.c: In function ‘configure_interface1’: dhcpcd.c:317:65: error: macro "check_ipv6" passed 2 arguments, but takes just 1 dhcpcd.c:317:15: error: ‘check_ipv6’ undeclared (first use in this function) dhcpcd.c:317:15: note: each undeclared identifier is reported only once for each function it appears in dhcpcd.c:319:56: error: macro "check_ipv6" passed 2 arguments, but takes just 1 make: *** [dhcpcd.o] Error 1 make: *** Waiting for unfinished jobs.... * ERROR: net-misc/dhcpcd-6.0.5::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=net-misc/dhcpcd-6.0.5::gentoo'`, * the complete build log and the output of `emerge -pqv '=net-misc/dhcpcd-6.0.5::gentoo'`. * The complete build log is located at '/var/tmp/portage/net-misc/dhcpcd-6.0.5/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-misc/dhcpcd-6.0.5/temp/environment'. * Working directory: '/var/tmp/portage/net-misc/dhcpcd-6.0.5/work/dhcpcd-6.0.5' * S: '/var/tmp/portage/net-misc/dhcpcd-6.0.5/work/dhcpcd-6.0.5'
Same problem here.
Please, for future, open a new bug if the implemented functionality is broken, because: 1. These bugs are different (one requests something and the other is about something not working). 2. It's easier for newcommers to the bug to understand what it is about from the Description comment.
*** Bug 481330 has been marked as a duplicate of this bug. ***
Hi, the bug title is wrong: The error will happen with net-misc/dhcpcd[-ipv6], because this will set "--disable-ipv6" which will disable INET6. Without INET6, another check_ipv6 method will be used (see http://roy.marples.name/projects/dhcpcd/browser/platform.h) which is not compatible with the changes introduced in http://roy.marples.name/projects/dhcpcd/changeset/c08f849a600494c7f5806d225b8b2cb6dc718841/dhcpcd.c So again, net-misc/dhcpcd[ipv6] will work, net-misc/dhcpcd[-ipv6] is the problem!
This bug was fixed in comment #1. You want to follow the bug that was incorrectly marked as a duplicate of this one. Thanks, William