The glibc changelog indicates that signalfd() support was added in glibc-2.7. objdump confirms that my libc.so.6 file includes a signalfd symbol, so that's good. However, the include file did not get installed. I expected it to appear at /usr/include/sys/signalfd.h (it is in the glibc-2.7 tarball at sysdeps/unix/sysv/linux/sys/signalfd.h). I don't think it should matter, but I did also try re-merging glibc-2.7 after merging linux-headers-2.6.23-r2 Portage 2.1.4_rc4 (default-linux/amd64/2007.0, gcc-4.2.2, glibc-2.7-r0, 2.6.24-rc3-git1 x86_64) ================================================================= System uname: 2.6.24-rc3-git1 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 5600+ Timestamp of tree: Thu, 29 Nov 2007 22:16:01 +0000 app-shells/bash: 3.2_p17-r1 dev-lang/python: 2.4.4-r7 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 2.0.0_rc6 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 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.23-r2 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=athlon64 -fomit-frame-pointer -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-O2 -march=athlon64 -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs candy cvs distlocks metadata-transfer noinfo parallel-fetch sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS="http://gentoo.virginmedia.com/ http://mirror.qubenet.net/mirror/gentoo/ " LANG="en_GB.UTF-8" LDFLAGS="-Wl,--as-needed -Wl,-O1 -Wl,--sort-common" LINGUAS="en_GB" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_EXTRA_OPTS="--exclude=metadata.xml --exclude=ChangeLog" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /brontes/overlays/brontes3d /brontes/overlays/sajinet" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="3dnow 3dnowext X aac acpi aiglx alsa amd64 avahi bash-completion cairo cddb cdparanoia cdr custom-cflags daap dbus dri dvd dvdr dvdread exif firefox gnome gtk hal id3 jpeg lame libnotify mad mmx mmxext mono mozbranding mp3 no-old-linux nptl nptlonly opengl pdf png rtc sse sse2 ssl svg threads tiff truetype truetype-fonts xcb xorg xvid" 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" 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" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB" USERLAND="GNU" VIDEO_CARDS="nvidia vga" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
it's missing from the Makefile just add "sys/signalfd.h sys/eventfd.h" to sysdep_headers in sysdeps/unix/sysv/linux/Makefile
Thanks, that fixed it, and I see it's already fixed upstream too. Not sure if you want to include the fix in Gentoo's package or whatever -- I don't mind if you don't as I'm going to have to write my code to provide the header for <glibc-2.8 installs (in order to support other distros) anyway.
Even when installed it has a bug where it's not compilable: http://sources.redhat.com/bugzilla/show_bug.cgi?id=5439
ive queued up both fixes for glibc-2.7-r1