after some playing with flags does compile with the minimal flag set. also with minimal berkdb ... Not with berkdb by itself emerge dies as follows if no flags or just berkdb are set. iptunnel.c: In function 'parse_args': iptunnel.c:108: warning: implicit declaration of function '__constant_htons' i686-pc-linux-gnu-gcc -D_GNU_SOURCE -O2 -march=i686 -pipe -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -c -o ip6tunnel.o ip6tunnel.c i686-pc-linux-gnu-gcc -D_GNU_SOURCE -O2 -march=i686 -pipe -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -c -o tunnel.o tunnel.c i686-pc-linux-gnu-gcc -D_GNU_SOURCE -O2 -march=i686 -pipe -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -c -o ipneigh.o ipneigh.c i686-pc-linux-gnu-gcc -D_GNU_SOURCE -O2 -march=i686 -pipe -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -c -o ipntable.o ipntable.c i686-pc-linux-gnu-gcc -D_GNU_SOURCE -O2 -march=i686 -pipe -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -c -o iplink.o iplink.c i686-pc-linux-gnu-gcc -D_GNU_SOURCE -O2 -march=i686 -pipe -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -c -o ipmaddr.o ipmaddr.c i686-pc-linux-gnu-gcc -D_GNU_SOURCE -O2 -march=i686 -pipe -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -c -o ipmonitor.o ipmonitor.c i686-pc-linux-gnu-gcc -D_GNU_SOURCE -O2 -march=i686 -pipe -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -c -o ipmroute.o ipmroute.c i686-pc-linux-gnu-gcc -D_GNU_SOURCE -O2 -march=i686 -pipe -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -c -o ipprefix.o ipprefix.c i686-pc-linux-gnu-gcc -D_GNU_SOURCE -O2 -march=i686 -pipe -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -c -o ipxfrm.o ipxfrm.c i686-pc-linux-gnu-gcc -D_GNU_SOURCE -O2 -march=i686 -pipe -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -c -o xfrm_state.o xfrm_state.c i686-pc-linux-gnu-gcc -D_GNU_SOURCE -O2 -march=i686 -pipe -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -c -o xfrm_policy.o xfrm_policy.c i686-pc-linux-gnu-gcc -D_GNU_SOURCE -O2 -march=i686 -pipe -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -c -o xfrm_monitor.o xfrm_monitor.c i686-pc-linux-gnu-gcc -D_GNU_SOURCE -O2 -march=i686 -pipe -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -c -o iplink_vlan.o iplink_vlan.c i686-pc-linux-gnu-gcc -D_GNU_SOURCE -O2 -march=i686 -pipe -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -c -o link_veth.o link_veth.c i686-pc-linux-gnu-gcc -D_GNU_SOURCE -O2 -march=i686 -pipe -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -c -o rtmon.o rtmon.c i686-pc-linux-gnu-gcc -Wl,-export-dynamic rtmon.o ../lib/libnetlink.a ../lib/libutil.a -lresolv -L../lib -lnetlink -lutil -ldl -o rtmon i686-pc-linux-gnu-gcc -Wl,-export-dynamic ip.o ipaddress.o ipaddrlabel.o iproute.o iprule.o rtm_map.o iptunnel.o ip6tunnel.o tunnel.o ipneigh.o ipntable.o iplink.o ipmaddr.o ipmonitor.o ipmroute.o ipprefix.o ipxfrm.o xfrm_state.o xfrm_policy.o xfrm_monitor.o iplink_vlan.o link_veth.o ../lib/libnetlink.a ../lib/libutil.a -lresolv -L../lib -lnetlink -lutil -ldl -o ip iptunnel.o: In function `parse_args': iptunnel.c:(.text+0x2f6): undefined reference to `__constant_htons' iptunnel.c:(.text+0x434): undefined reference to `__constant_htons' iptunnel.c:(.text+0x4c1): undefined reference to `__constant_htons' iptunnel.c:(.text+0x4da): undefined reference to `__constant_htons' iptunnel.c:(.text+0x51c): undefined reference to `__constant_htons' iptunnel.o:iptunnel.c:(.text+0x535): more undefined references to `__constant_htons' follow collect2: ld returned 1 exit status make[1]: *** [ip] Error 1 The specific snippet of code: * emake CC="$(tc-getCC)" AR="$(tc-getAR)" || die "make" I tried reemerging linux headers as well emerge --info Portage 2.1.4.4 (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-gentoo-r4 i686) ================================================================= System uname: 2.6.25-gentoo-r4 i686 AMD Athlon(tm) XP 2500+ Timestamp of tree: Thu, 12 Jun 2008 19:00:01 +0000 app-shells/bash: 3.2_p33 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.4.4-r13 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=i686 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -march=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="C" LINGUAS="en en_GB en_US en_ZA fr nl" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi alsa ao audacious berkdb cdr cdrom cli cracklib crypt cups dbus dri dvd dvdr ffmpeg firefox flac fortran gdbm gnome gphoto2 gpm hal iconv ipv6 isdnlog java javascript jpeg lm_sensors mad midi mp3 mp4 mp4live mpeg mpeg2 mplayer mudflap ncurses nls nptl nptlonly nsplugin ofx ogg opengl openmp pam pcre perl png ppds pppd python readline reflection samba scanner session slp spl ssl tcpd unicode usb vorbis win32codecs wma wmp x86 xorg xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB en_US en_ZA fr nl" USERLAND="GNU" VIDEO_CARDS="nv fbdev vesa glint ati i810 sis via v4l" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY Reproducible: Always Steps to Reproduce: 1.see above 2. 3.
Same here with: emerge --info Portage 2.1.4.4 (default/linux/amd64/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-tuxonice-r4 x86_64) ================================================================= System uname: 2.6.25-tuxonice-r4 x86_64 Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz Timestamp of tree: Sat, 14 Jun 2008 14:15:02 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p33 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.4.4-r13 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.2.5 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-march=nocona -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo " LANG="de_DE.utf8" LC_ALL="de_DE.utf8" LINGUAS="de" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/layman/energizedwork /usr/portage/local/layman/sajinet /usr/portage/local/layman/desktop-effects /usr/portage/local/layman/gnash-cvs /usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X a52 aac aalib acl acpi additions agg alsa amarok amd64 avahi bacula-split-init bash-completion berkdb binfilter bluetooth bzip2 cairo cddb cdr cli client-only colordiff cracklib crypt cups curl cvs dbus dell disk-partition dmi dri dvd dvdr dvdread dvi encode esd evo exif extensions fam ffmpeg firefox flac fortran ftp gcj gdbm gif glitz glsa gnome gnome-keyring gnome-print gpm grub gstreamer gtk gtk2 hal hddtemp http hvm ical iconv icq id3 ieee1394 imagemagick imap inotify inquisitio ipw3945 irda irmc isdnlog ithreads java java6 jpeg kdepim keyring l7filter lame laptop latex libnotify lirc lm_sensors logitech-mouse mad mailbox maildir maps mbox mdnsresponder-compat midi mmx mp3 mp4 mpeg mplayer mudflap multilib nautilus ncurses nls nptl nptlonly nsplugin ntfs obex ogg opengl openmp pam password pcmcia pcre pda pdf perl pidgin pink pmu png pop portage posix ppds pppd python qt3 qt3support qt4 quicktime rar readline recode reflection reiser4 reiserfs samba session slp smp sms sound spell spl sse sse2 ssl ssse3 stream subversion svg svgz sysfs syslog tcpd tetex theora thunderbird tiff tordns truetype udev unicode usb vim vim-pager vim-syntax vorbis wifi wmf wxwindows x264 xcomposite xine xinerama xorg xosd xv xvid zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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 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" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="nvidia vesa" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 157799 [details, diff] ip_tunnel.h patch It's the 'new' include/ structure that differs from the files in /usr/include; include/linux/ip_tunnel.h doesn't include asm/byteorder.h, which eventually defines __constant_htons. This patch makes the minor change necessary, but may not be all that's eventually needed if iproute2 continues to carry around its own headers.
should be fixed in cvs now http://sources.gentoo.org/sys-apps/iproute2/iproute2-2.6.25.20080417.ebuild?r1=1.1&r2=1.2