When emerging dhcpcd-6.4.2 configure tries to use /usr/bin/x86_64-pc-linux-gnu-clang from llvm-9999 and fails because getifaddrs isn't supported Doing a quickpkg llvm and uninstalling works around the problem - I reinstalled with emerge -G llvm Reproducible: Always
Created attachment 380768 [details] build.log
Please attach /var/tmp/portage/net-misc/dhcpcd-6.4.2/work/dhcpcd-6.4.2/config.log (if it exists) and paste emerge --info =net-misc/dhcpcd-6.4.2 as a comment.
1) Please post your `emerge --info' output in a comment. 2) Please attach config.log to this bug report.
I just stumbled across the same problem. The build.log says: Configuring dhcpcd for ... linux Using compiler .. /usr/bin/x86_64-pc-linux-gnu-clang clang version 3.5.0 (tags/RELEASE_350/final) and then it fails: Testing for getifaddrs ... no libc support for getifaddrs is required - aborting
Created attachment 385152 [details] build.log
A config.log doesn't exist anywhere in /tmp/portage. Here's "emerge --info dhcpcd": Portage 2.2.13 (python 3.4.1-final-0, default/linux/amd64/13.0/desktop/kde, gcc-4.8.3, glibc-2.19-r1, 3.14.19-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-3.14.19-gentoo-x86_64-Intel-R-_Core-TM-_i5-2500K_CPU_@_3.30GHz-with-gentoo-2.2 KiB Mem: 16386332 total, 12944768 free KiB Swap: 25166912 total, 25166912 free Timestamp of tree: Fri, 19 Sep 2014 17:45:02 +0000 ld GNU ld (GNU Binutils) 2.24 app-shells/bash: 4.2_p47 dev-lang/python: 2.7.8, 3.3.5-r1, 3.4.1 dev-util/cmake: 3.0.2 dev-util/pkgconfig: 0.28-r2 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.13.1 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.69 sys-devel/automake: 1.11.6, 1.14.1 sys-devel/binutils: 2.24-r3 sys-devel/gcc: 4.8.3 sys-devel/gcc-config: 1.8 sys-devel/libtool: 2.4.2-r1 sys-devel/make: 4.0-r1 sys-kernel/linux-headers: 3.14 (virtual/os-headers) sys-libs/glibc: 2.19-r1 Repositories: gentoo interactive-fiction steam-overlay qt Local ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-pipe -mtune=native -march=native -O2 -fomit-frame-pointer -floop-interchange -floop-strip-mine -floop-block" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-pipe -mtune=native -march=native -O2 -fomit-frame-pointer -floop-interchange -floop-strip-mine -floop-block" DISTDIR="/mnt/Data/portage/distfiles" EMERGE_DEFAULT_OPTS="--quiet-build=n" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync metadata-transfer news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://ftp.ntua.gr/pub/linux/gentoo http://mirror.ovh.net/gentoo-distfiles http://distfiles.gentoo.org" LANG="en_US.UTF-8" LDFLAGS="-Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common" MAKEOPTS="-j4" PKGDIR="/mnt/Data/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/var/lib/layman/interactive-fiction /var/lib/layman/steam /var/lib/layman/qt /usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi aes-ni alsa amd64 audiofile avx bash-completion branding bzip2 cairo cdr cli consolekit cracklib crypt cxx dbus declarative dri dts dvd dvdr emboss encode exif fam fbcondecor flac gdbm gif glamor gpm gtk iconv ipv6 jpeg kde kipi lcdfilter lcms libnotify libsamplerate lm_sensors mad mmx mmxext mng modules mp3 mp4 mpeg multilib ncurses nptl nvidia offensive ogg opengl openmp pango pcre pdf pgo phonon plasma png policykit ppds pulseaudio qt4 readline session spell sse sse2 sse3 sse4 sse4_1 ssl ssse3 startup-notification svg tcpd tiff truetype udev udisks unicode upower usb vdpau vorbis wxwidgets x264 xcb xcomposite xml xv xvid xvmc zlib" ABI_X86="32 64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DRACUT_MODULES="plymouth" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="emu efi-32 efi-64 pc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_US" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3 python3_4" RUBY_TARGETS="ruby19 ruby20" SANE_BACKENDS="nothing" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" USE_PYTHON="3.4 3.3 2.7" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS ================================================================= Package Settings ================================================================= net-misc/dhcpcd-6.4.4 was built with the following: USE="ipv6 udev" ABI_X86="64"
*** Bug 523306 has been marked as a duplicate of this bug. ***
It's a custom configure script, so it doesn't spit config.log. But well, everyone can write a good build system, can't they? :) As for one of the issues, I already pinged WilliamH and suggested to export CC. For the other, we'd need to look what's wrong with the check.
Note that configuring the vanilla package outside of portage, but using the same configure arguments are portage, works just fine: $ ./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 --rundir=/run --enable-ipv6 --with-hook=ntp.conf --with-hook=yp.conf configure args: --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 --rundir=/run --enable-ipv6 --with-hook=ntp.conf --with-hook=yp.conf Deriving operating system from ... x86_64-pc-linux-gnu Configuring dhcpcd for ... linux Using compiler .. /usr/bin/x86_64-pc-linux-gnu-clang clang version 3.5.0 (tags/RELEASE_350/final) dhcpcd-definitions.conf will be embedded in dhcpcd itself Testing for nl80211 ... yes Testing for getifaddrs ... yes Testing for clock_gettime ... yes Testing for inet_ntoa ... yes Testing for arc4random ... no Testing for arc4random_uniform ... no Testing for closefrom ... no Testing for getline ... yes Testing for strlcpy ... no Testing for dprintf ... yes Testing for TAILQ_FOREACH_SAFE ... no Testing for TAILQ_CONCAT ...yes Testing for posix_spawn ... yes Testing for pollts ... no Testing for ppoll ... yes Testing for LOG_PERROR ... yes Testing for be64enc ... no Testing for MD5Init ... no Testing for sha2.h ... no Testing for SHA256_Init ... no Testing for SHA256Init ... no Checking for libudev ... yes Checking udev_monitor_filter_add_match_subsystem_devtype ... yes Checking udev_device_get_is_initialized ... yes Testing for dlopen ... yes (-ldl) Checking for ntpd ... /usr/sbin/ntpd (50-ntp.conf) Checking for ypbind ... 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 = /run MANDIR = /usr/share/man HOOKSCRIPTS = 50-ntp.conf 50-yp.conf
(In reply to Michał Górny from comment #8) > It's a custom configure script, so it doesn't spit config.log. But well, > everyone can write a good build system, can't they? :) Unsure if sarcastic? I dislike the weight that autoconf or cmake brings and the fact I had to "re-learn" autoconf each time it upgraded. As someone already noted it works fine outside of portage, but anyone can write a good packaging system yes? I'll note dhcpcd works fine in pkgsrc when swapping compilers around but I suspect that is not the real issue. > As for one of the issues, I already pinged WilliamH and suggested to export > CC. For the other, we'd need to look what's wrong with the check. http://roy.marples.name/projects/dhcpcd/ci/abf5f67e07b1dfab51fe2547d91e7494083ed4d9?sbs=0 That may help as I've moved the "does CC work" test further down the chain as one of the CPPFLAGS or CFLAGS could be stopping it from working. I'll work on adding a config.log or something to the configure as well.
(In reply to Roy Marples from comment #10) > I'll work on adding a config.log or something to the configure as well. http://roy.marples.name/projects/dhcpcd/ci/8531d2d7941b6e6d36acf15bebf27221d544a7d2?sbs=0 Done. If the OP emerges dhcpcd-9999 then hopefully config.log will shed some light on the matter.
I emerged 9999 and it worked fine. Then I tried to downgrade to 6.4.5 again, and that now worked fine too; gcc is used for the build and all tests pass with no issues. I cannot explain what is happening.
(In reply to Nikos Chantziaras from comment #12) > I emerged 9999 and it worked fine. Then I tried to downgrade to 6.4.5 again, > and that now worked fine too; gcc is used for the build and all tests pass > with no issues. > > I cannot explain what is happening. 20 Sep 2014; William Hubbs <williamh@gentoo.org> dhcpcd-6.4.3.ebuild, dhcpcd-6.4.5.ebuild, dhcpcd-9999.ebuild: Pass the value of CC as an argument to configure instead of using tc-export.
Well, I guess it's fixed then. Though it might be important for people who do actually want to use clang to find out why the test is failing. If I compile the test manually with clang, it works correctly: #include <sys/types.h> #include <ifaddrs.h> int main(void) { struct ifaddrs *ifap; return getifaddrs(&ifap); } running it by hand will pass the test: $ clang getifaddrs.c $ if ./a.out; then echo "yes"; fi yes it only fails when emerging.
dhcpcd-6.4.7 is now in the tree, so this issue should now be fixed.