Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 283146 - sys-fs/udev-141 fails to compile: udev-watch.c:(.text+0x12a): undefined reference to `inotify_rm_watch'
Summary: sys-fs/udev-141 fails to compile: udev-watch.c:(.text+0x12a): undefined refer...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: udev maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-29 18:10 UTC by Matt Causey
Modified: 2009-08-30 18:10 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Causey 2009-08-29 18:10:28 UTC
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
Comment 1 Matthias Schwarzott gentoo-dev 2009-08-30 12:49:12 UTC
> 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.
Comment 2 Matt Causey 2009-08-30 18:10:23 UTC
(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