I've been trying to compile a new version of util-vserver for quite some time now on three different servers. All versions >=util-vserver-0.30.208-r5 fail. I've read some other bugs with similar problems and I've tried compiling without 'userpriv', 'usersandbox', and 'hardened'. I reemerged dietlibc. None of that helped. There's a reference to libvserver in the error message so I tried to emerge libvserver but that doesn't compile either (but then, it's still masked). Reproducible: Always Steps to Reproduce: 1. emerge -v util-vserver Actual Results: diet -Os i686-pc-linux-gnu-gcc -march=pentium4 -O2 -pipe -fomit-frame-pointer -std=c99 -Wall -pedantic -W -funit-at-a-time -o src/keep-ctx-alive src/keep-ctx-alive.o lib/libvserver.a src/keep-ctx-alive.o: In function `main': keep-ctx-alive.c:(.text+0x242): undefined reference to `socket' keep-ctx-alive.c:(.text+0x267): undefined reference to `connect' keep-ctx-alive.c:(.text+0x29b): undefined reference to `send' keep-ctx-alive.c:(.text+0x314): undefined reference to `socket' keep-ctx-alive.c:(.text+0x339): undefined reference to `bind' keep-ctx-alive.c:(.text+0x359): undefined reference to `listen' keep-ctx-alive.c:(.text+0x4a5): undefined reference to `accept' keep-ctx-alive.c:(.text+0x4d2): undefined reference to `recv' collect2: ld returned 1 exit status make[2]: *** [src/keep-ctx-alive] Error 1 make[2]: *** Waiting for unfinished jobs.... diet -Os i686-pc-linux-gnu-gcc -march=pentium4 -O2 -pipe -fomit-frame-pointer -std=c99 -Wall -pedantic -W -funit-at-a-time -o src/save_ctxinfo src/save_ctxinfo.o lib/libvserver.a make[2]: Leaving directory `/var/tmp/portage/util-vserver-0.30.208-r5/work/util-vserver-0.30.208' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/util-vserver-0.30.208-r5/work/util-vserver-0.30.208' make: *** [all] Error 2 !!! ERROR: sys-cluster/util-vserver-0.30.208-r5 failed. !!! Function src_compile, Line 55, Exitcode 2 !!! emake failed !!! If you need support, post the topmost build error, NOT this status message. Expected Results: It should have compiled. :-) Portage 2.0.51.22-r3 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 2.6.12-vs2.0-gentoo-r1 i686) ================================================================= System uname: 2.6.12-vs2.0-gentoo-r1 i686 Intel(R) Pentium(R) 4 CPU 2.53GHz Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks nodoc noinfo noman sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.ca.gentoo.org/gentoo-portage" USE="x86 bash-completion berkdb bzip2 chroot crypt glibc-omitfp hardened hpn linuxthreads-tls mmx ncurses nptl nptlonly pam pam_chroot pam_console pam_timestamp perl pic python readline ssl tcpd userlocales xml userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY Note that this includes 'userpriv', 'usersandbox', and 'hardened' again, as leaving them out did not make any difference.
Yeah, USE="hardened" or "-hardened" makes no difference, since you'll need to compile dev-libs/dietlibc without -nopie (or with an -nopie gcc-config *UNTESTED*). See bug 111880 for reference.
(In reply to comment #1) > Yeah, USE="hardened" or "-hardened" makes no difference, since you'll need to > compile dev-libs/dietlibc without -nopie (or with an -nopie gcc-config > *UNTESTED*). > See bug 111880 for reference. Had the same problem, it worked for me using the dietlibc ebuild from #111880; it filters flags that would break it. Tested with dietlibc-0.28. thx phreak :)
Hilco, could you please test that with sys-cluster/util-vserver-0.30.209-r1 again (with an hardened dietlibc) and if it still presists reopen the bug. Thanks
Yes, with the nopie fix for dietlibc I can compile util-vserver. Thanks!
Using i686-pc-linux-gnu-3.3.6-vanilla compilation works. I uninstalled and recompiled dietlibc and latest util-vserver 0.30.210-r1. Using i686-pc-linux-gnu-3.4.4 hardened with pie and ssp compilation fails.
*** Bug 121231 has been marked as a duplicate of this bug. ***
Reopen.
I had the same problem with hardened profile... i change to default-linux, recompiled dietlibc and util-vserver compiled ok !
does this work with dietlibc-0.29-r1?
so, this should finally be fixed in 0.30_pre20060501 (currently masked), please reopen if it still persists..
*** Bug 133685 has been marked as a duplicate of this bug. ***
ebuild dietlibc-0.30_pre20060501-r1.ebuild merge -> emerge sys-cluster/util-vserver -> OK (@ 3 machines, which all failed before and are OK now)
Reopening.
This should be fixed with dietlibc-0.30-r1 and util-vserver-0.30.210-r18 in the tree!