When attempting emerge -uvD world, udev fails to compile, with this message: /bin/sh ../libtool --tag=CC --mode=link i386-gentoo-linux-uclibc-gcc -Os -mtune=i386 -pipe -O1 -I /usr/include/ -Wl,--as-needed -Wl,-O1 -o test-udev udev-event.o udev-watch.o udev-node.o udev-rules.o udev-util.o libudev.o libudev-list.o libudev-util.o libudev-device.o libudev-device-db-write.o libudev-monitor.o libudev-enumerate.o libudev-queue.o libudev-ctrl.o test-udev.o libtool: link: i386-gentoo-linux-uclibc-gcc -Os -mtune=i386 -pipe -O1 -I /usr/include/ -Wl,--as-needed -Wl,-O1 -o test-udev udev-event.o udev-watch.o udev-node.o udev-rules.o udev-util.o libudev.o libudev-list.o libudev-util.o libudev-device.o libudev-device-db-write.o libudev-monitor.o libudev-enumerate.o libudev-queue.o libudev-ctrl.o test-udev.o udev-watch.o: In function `udev_watch_end': udev-watch.c:(.text+0x12a): undefined reference to `inotify_rm_watch' collect2: ld returned 1 exit status make[3]: *** [test-udev] Error 1 make[3]: Leaving directory `/var/tmp/portage/sys-fs/udev-141/work/udev-141/udev' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/sys-fs/udev-141/work/udev-141/udev' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/sys-fs/udev-141/work/udev-141' make: *** [all] Error 2 I thought maybe my linux-headers were missing, but I see that function defined: thor / # grep inotify_rm_watch /usr/include/sys/inotify.h extern int inotify_rm_watch(struct inotify_handle *, struct inotify_watch *); static inline int inotify_rm_watch(struct inotify_handle *ih, thor / # Any ideas? Reproducible: Always Steps to Reproduce: 1. emerge udev-141 Actual Results: compile fails Expected Results: compile and install succeeds thor / # emerge --info Portage 2.1.6.13 (uclibc/x86, gcc-4.1.2, uclibc-0.9.28.3-r7, 2.6.27-gentoo-r7 i686) ================================================================= System uname: Linux-2.6.27-gentoo-r7-i686-Intel-R-_Core-TM-2_Duo_CPU_T7300_@_2.00GHz-with-libc0 Timestamp of tree: Thu, 27 Aug 2009 01:45:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p39 dev-lang/python: 2.4.4-r6, 2.5.4-r3 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.4.3-r3 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.63-r1 sys-devel/automake: 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="x86" CBUILD="i386-gentoo-linux-uclibc" CFLAGS="-Os -mtune=i386 -pipe -O1 -I /usr/include/" CHOST="i386-gentoo-linux-uclibc" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-Os -mtune=i386 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig buildpkg ccache distlocks fixpackages nodoc noinfo noman parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LDFLAGS="-Wl,-O1" PKGDIR="/usr/portage/packages/uclibc" PORTAGE_CONFIGROOT="/" 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="cli cracklib crypt dri minimal mudflap ncurses openmp pcre perl python readline reflection session spl ssl tcpd uclibc x86 xorg zlib" 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" ELIBC="uclibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="dummy fbdev v4l" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
> udev-watch.c:(.text+0x12a): undefined reference to `inotify_rm_watch' That means the linker cannot find that symbol in the linked libs. I see you use uclibc-0.9.28.3-r7. There are newer versions of uclibc avail, could you please try some of them to check if udev compiles then? If you search in bugzilla there already were some bug reports about uclibc and udev-145.
(In reply to comment #1) > I see you use uclibc-0.9.28.3-r7. There are newer versions of uclibc avail, > could you please try some of them to check if udev compiles then? > Yep, keywording sys-libs/uclibc-0.9.28.3-r8 did the trick! Thanks! -- Matt