When compiling iproute2 with USE="berkdb" it does not find db_185.h Error message: db_185.h: No such file or directory Reproducible: Always Steps to Reproduce: 1. USE="berkdb" emerge iproute2 Actual Results: arpd.c:19:20: error: db_185.h: No such file or directory arpd.c:42: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token arpd.c: In function 'do_one_request': arpd.c:304: error: 'DBT' undeclared (first use in this function) arpd.c:304: error: (Each undeclared identifier is reported only once arpd.c:304: error: for each function it appears in.) arpd.c:304: error: expected ';' before 'dbkey' arpd.c:308: error: 'dbase' undeclared (first use in this function) arpd.c:338: error: 'dbkey' undeclared (first use in this function) arpd.c:341: error: 'dbdat' undeclared (first use in this function) arpd.c: In function 'get_arp_pkt': arpd.c:485: error: 'DBT' undeclared (first use in this function) arpd.c:485: error: expected ';' before 'dbkey' arpd.c:517: error: 'dbkey' undeclared (first use in this function) arpd.c:520: error: 'dbase' undeclared (first use in this function) arpd.c:520: error: 'dbdat' undeclared (first use in this function) arpd.c: In function 'main': arpd.c:670: error: 'dbase' undeclared (first use in this function) arpd.c:670: warning: implicit declaration of function 'dbopen' arpd.c:670: error: 'DB_HASH' undeclared (first use in this function) arpd.c:680: error: 'DBT' undeclared (first use in this function) arpd.c:680: error: expected ';' before 'dbkey' arpd.c:682: error: 'dbkey' undeclared (first use in this function) arpd.c:712: error: 'dbdat' undeclared (first use in this function) arpd.c:728: error: expected ';' before 'dbkey' arpd.c:730: error: 'R_NEXT' undeclared (first use in this function) make[1]: *** [arpd] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory `/var/tmp/portage/sys-apps/iproute2-2.6.22.20070710/work/misc' make: *** [all] Error 2 There is two ways to get out of this error: 1.) Do not use berkdb with iproute2 2.) Create a symlink from for this missing file in /usr/include cd /usr/include/ && ln -s db4.5/db_185.h Of course, it would be best if the ebuild would know the correct include path.
Here is my emerge --info Portage 2.1.6.4 (default/linux/x86/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.27-gentoo-r8 i686) ================================================================= System uname: Linux-2.6.27-gentoo-r8-i686-Intel-R-_Pentium-R-_4_CPU_3.00GHz-with-glibc2.0 Timestamp of tree: Wed, 11 Feb 2009 11:45:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p39 dev-lang/python: 2.5.2-r7 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.63 sys-devel/automake: 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=i686 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -march=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="buildpkg ccache distlocks fixpackages parallel-fetch sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LDFLAGS="-Wl,-O1" LINGUAS="de en fr ru" MAKEOPTS="-j2" PKGDIR="/home/portage/sevenof9/packages" PORTAGE_RSYNC_EXTRA_OPTS="--bwlimit=200" 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.europe.gentoo.org/gentoo-portage" USE="acl bash-completion berkdb bzip2 cli cracklib crypt cups dri examples fortran gdbm gpm iconv ipv6 isdnlog midi mudflap ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session spl ssl sysfs tcpd unicode vim-syntax x86 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 mmap_emul 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 proxy proxy_connect proxy_ftp proxy_http substitute version" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="ncurses text" LINGUAS="de en fr ru" USERLAND="GNU" VIDEO_CARDS="fbdev vga vmware" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTDIR_OVERLAY
what versions of sys-libs/db do you have installed exactly ? that header should already be a symlink and it should be managed by the sys-libs/db ebuilds.
Hello, I have sys-libs/db-4.5.20_p2-r1 installed. sevenof9 ~ # emerge -vp sys-libs/db These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] sys-libs/db-4.5.20_p2-r1 USE="java -bootstrap -doc -nocxx -tcl -test" 0 kB Total: 1 package (1 reinstall), Size of downloads: 0 kB sevenof9 ~ # equery l sys-libs/db [ Searching for package 'db' in 'sys-libs' among: ] * installed packages [I--] [ ] sys-libs/db-4.5.20_p2-r1 (4.5) [I--] [ ] sys-libs/gdbm-1.8.3-r3 (0) Regards, Christian
re-emerge that specific version then and see if the symlink shows up (make sure you delete it yourself first)
Ok thanks that did the trick. No idea why the symlink isn't created in the first place (and that happened on 2 different platforms I'm installing atm, one x86 and one amd64) but now it's there. Thanks for the tip. Regards, Christian P.S. I left the bug open, maybe the maintainer for the db package might want to look into this as well.
it'd be useful to see your emerge history (cleans/upgrade/removal/etc...) of the db package ... try running `qlop -l sys-libs/db` and perhaps look at the log files in /var/log/portage/ and create a tarball of all the sys-libs/db ones for an attachment here ...
I can't reproduce.