udevstart does not get compiled statically even if USE=static is set. Reproducible: Always Steps to Reproduce: 1. USE=static ACCEPT_KEYWORDS='~x86' emerge -v --buildpkgonly =sys-fs/udev-052 2. tar -xjf /usr/portage/packages/All/udev-052.tbz2 3. ldd sbin/* Actual Results: root@cube:/tmp/x# ldd sbin/* sbin/scsi_id: not a dynamic executable sbin/udev: not a dynamic executable sbin/udevd: not a dynamic executable sbin/udevsend: not a dynamic executable sbin/udevstart: linux-gate.so.1 => (0xffffe000) libc.so.6 => /lib/libc.so.6 (0xb7ebc000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fea000) sbin/udev_volume_id: not a dynamic executable Expected Results: root@cube:/tmp/x# ldd sbin/* sbin/scsi_id: not a dynamic executable sbin/udev: not a dynamic executable sbin/udevd: not a dynamic executable sbin/udevsend: not a dynamic executable sbin/udevstart: not a dynamic executable sbin/udev_volume_id: not a dynamic executable Portage 2.0.51-r15 (default-linux/x86/2004.0, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.10-infra-r2-cube-1 i686) ================================================================= System uname: 2.6.10-infra-r2-cube-1 i686 AMD Athlon(tm) XP 1700+ Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 8 2005, 02:37:46)] distcc 2.16 i586-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.5, 1.7.9-r1, 1.4_p6, 1.9.4, 1.6.3, 1.8.5-r3 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium -mcpu=athlon-tbird -O3 -pipe" CHOST="i586-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /usr/vice/etc /var/qmail/alias /var/qmail/control" CONFIG_PROTECT_MASK="/etc/afs/C /etc/afs/afsws /etc/afs/modload /etc/gconf /etc/make.globals /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium -mcpu=athlon-tbird -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache collision-protect distlocks fixpackages sandbox sfperms strict test userpriv usersandbox" GENTOO_MIRRORS="ftp://ftp.easynet.nl/mirror/gentoo/ http://gentoo.inode.at/ ftp://gentoo.inode.at/source/" LANG="en_US" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp/portage" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage-local--main--1.0" SYNC="rsync://hybrid.sascha.silbe.org/gentoo-portage" USE="x86 3dnow S3TC X acl afs alsa apm avi bash-completion berkdb bitmap-fonts blas bzlib cdr crypt curl doc dvd dvdr emboss encode f77 fam flac font-server foomaticdb fortran gdbm gif gimpprint gtk gtk2 gtkhtml guile hbci imagemagick imap imlib ipv6 j-noaim j-nomsn j-noyahoo jabber jpeg kerberos lapack lcms libg++ libwww lvm1 mad maildir makecheck mbox mikmod mmx monitor mozsvg mpeg mysql nas ncurses nls nodrm offensive oggvorbis opengl oss pam pdflib plotutils png postgres python qt qtmt quicktime readline samba scanner sdl serial skey spell sqlite sse ssl tetex tiff truetype truetype-fonts type1-fonts unicode xml xml2 xv xvid zlib linguas_en,de" Unset: ASFLAGS, CBUILD, CTARGET, LC_ALL, LDFLAGS
Well, after examining it further, I saw that the problem isn't that udevstart isn't linked statically. It's a symbolic link, so it's not linked at all (no pun intended :) ). The reason for ldd to show it as statically linked is that it uses an absolute path, thus pointing to the binary installed on the host system. Is there a reason to use an absolute link instead of a relative one (like e.g. util-linux uses)?
Just the way I wrote the ebuild. If you don't like it as such, submit a patch to the ebuild :)
Created attachment 51973 [details, diff] patch against udev-052.ebuild to make udevstart symlink relative