genkernel --menuconfig all failure #1 It expects dietlibc for arch x86 but the dietlibc is built from source via the genkernel and is not patched for ssp and thus will fail with undefined references for __guard() && __stack_smash_handler(). This error would not show up if the genkernel would use the .ebuild version of dietlibc. Temp solution was to set USE_DIETLIBC=0 -------------------------------------------------------------------------------- Started over... While building devfsd (also from source vs ebuild) is then encounted gcc -O2 -I. -I/usr/src/linux/include -Wall -DLIBNSL="\"/lib/libnsl.so.0\"" -DNO_DLOPEN -DNO_RPCSVC -c -o compat_name.o compat_name.c gcc -fomit-frame-pointer -O2 -c check_kernel.c check_kernel.c: In function `create_module': check_kernel.c:11: error: can't find a register in class `BREG' while reloading `asm' make: *** [check_kernel.o] Error 1 make: *** Waiting for unfinished jobs.... devfsd.c: In function `free_config': devfsd.c:1745: warning: unused variable `so_entry' devfsd.c: At top level: devfsd.c:1034: warning: `load_libnsl' defined but not used devfsd.c:2085: warning: `get_shared_object' defined but not used * ERROR: Failed to compile the "LDFLAGS=-static" target... This would also be fixed if the pkg would use the ebuild version. -------------------------------------------------------------------------------- Problem #3 find /usr/share/genkernel/pkg/ -ls find /usr/share/genkernel/pkg/ -ls 755102 4 drwxr-xr-x 11 root root 4096 Aug 1 07:15 /usr/share/genkernel/pkg/ 755103 12 -rwxr-xr-x 1 root root 12101 Aug 1 07:15 /usr/share/genkernel/pkg/busybox-1.00-pre7-crypto-losetup-2.patch 1410493 4 drwxr-xr-x 2 root root 4096 Aug 1 07:15 /usr/share/genkernel/pkg/sparc 1410494 4 -rwxr-xr-x 1 root root 34 Aug 1 07:15 /usr/share/genkernel/pkg/sparc/README 755104 4 drwxr-xr-x 2 root root 4096 Aug 19 07:09 /usr/share/genkernel/pkg/x86 755105 4 -rwxr-xr-x 1 root root 34 Aug 1 07:15 /usr/share/genkernel/pkg/x86/README 794294 152 -rwxr-xr-x 1 root root 150552 Aug 19 07:08 /usr/share/genkernel/pkg/x86/busybox-1.00-pre7-losetup-crypto-alpha-x86.bz2 1100272 76 -rwxr-xr-x 1 root root 73196 Aug 19 07:09 /usr/share/genkernel/pkg/x86/insmod-x86-static-2.4.bz2 755106 496 -rwxr-xr-x 1 root root 500277 Aug 1 07:15 /usr/share/genkernel/pkg/dietlibc-0.24.tar.bz2 755107 1092 -rwxr-xr-x 1 root root 1113410 Aug 1 07:15 /usr/share/genkernel/pkg/busybox-1.00-pre7-losetup-crypto-alpha.tar.bz2 1410495 4 drwxr-xr-x 2 root root 4096 Aug 1 07:15 /usr/share/genkernel/pkg/alpha 1410496 4 -rwxr-xr-x 1 root root 34 Aug 1 07:15 /usr/share/genkernel/pkg/alpha/README 1410497 4 drwxr-xr-x 2 root root 4096 Aug 1 07:15 /usr/share/genkernel/pkg/sparc64 1410498 4 -rwxr-xr-x 1 root root 34 Aug 1 07:15 /usr/share/genkernel/pkg/sparc64/README 755108 40 -rwxr-xr-x 1 root root 38487 Aug 1 07:15 /usr/share/genkernel/pkg/devfsd-1.3.25-dietlibc-kernel25.tar.bz2 1410499 4 drwxr-xr-x 2 root root 4096 Aug 1 07:15 /usr/share/genkernel/pkg/ppc64 1410500 4 -rwxr-xr-x 1 root root 34 Aug 1 07:15 /usr/share/genkernel/pkg/ppc64/README 755109 236 -rwxr-xr-x 1 root root 235135 Aug 1 07:15 /usr/share/genkernel/pkg/modutils-2.4.26.tar.bz2 1460494 4 drwxr-xr-x 2 root root 4096 Aug 1 07:15 /usr/share/genkernel/pkg/ppc 1460495 4 -rwxr-xr-x 1 root root 34 Aug 1 07:15 /usr/share/genkernel/pkg/ppc/README 1410501 4 drwxr-xr-x 2 root root 4096 Aug 1 07:15 /usr/share/genkernel/pkg/x86_64 1410502 4 -rwxr-xr-x 1 root root 34 Aug 1 07:15 /usr/share/genkernel/pkg/x86_64/README 755110 4 -rwxr-xr-x 1 root root 2404 Aug 1 07:15 /usr/share/genkernel/pkg/busybox-1.00-pre2-decl.patch 1460496 4 drwxr-xr-x 2 root root 4096 Aug 1 07:15 /usr/share/genkernel/pkg/parisc 1460497 4 -rwxr-xr-x 1 root root 34 Aug 1 07:15 /usr/share/genkernel/pkg/parisc/README 1675845 4 drwxr-xr-x 2 root root 4096 Aug 1 07:15 /usr/share/genkernel/pkg/parisc64 1675846 4 -rwxr-xr-x 1 root root 34 Aug 1 07:15 /usr/share/genkernel/pkg/parisc64/README 755111 120 -rwxr-xr-x 1 root root 118107 Aug 1 07:15 /usr/share/genkernel/pkg/module-init-tools-0.9.15-pre4.tar.bz2 755112 8 -rwxr-xr-x 1 root root 6018 Aug 1 07:15 /usr/share/genkernel/pkg/devfsd-1.3.25-dietlibc.patch As we can see every single file in here has an executable permission (mode 755). This makes me wonder if we have a developer who does not understand basic unix permissions or just has a complete disregard for them. -------------------------------------------------------------------------------- See as catalyst depends on genkernel for it's livecd creation this is pretty much a total roadblock for hardened ever having a livecd. My suggestion would be to have genkernel only use the systems ebuilds vs trying to be smart(dumb?) and building stuff on it's own.
*** Bug 62422 has been marked as a duplicate of this bug. ***
Anybody home?
Dietlibc not building problem: Can be fixed, but the patch the ebuild uses causes devfsd to no longer build against it so it's a no-go. And that's where this stalled...
which patch? diet can and should be made optional via a USE flag? (it seems to be only used for x86 here) Note a USE=diet flag already exist but it's only used in two ebuilds according to use.local.desc. If used by a 3rd that's justification for it to be moved to the global scope.
devfsd-1.3.25-pic.patch seems to cause the issue - and dietlibc does not provide the needed syscall() functions so devfsd will fail to compile against dietlibc. I guess I can simply remove dietlibc from being used for devfsd, that should solve the issue.
We could also use a diet flag for devfsd if you want. Under the conditions of dietlibc being that it's all static anyways we probably don't need to really care about PIC. So we could in the devfsd ebuild do inherit flag-o-matic ... src_unpack () { ... use diet || epatch foo-pic.patch (use diet && use hardened) && append-flags -fno-pie ... }
Please try http://dev.gentoo.org/~plasmaroo/patches/kernel/genkernel/3.0.2/genkernel-3.0.2g.tar.bz2 - you should be able to simply copy over the ebuild in your Portage tree, renaming it and merging it. Don't forget to etc-update, and please tell me if you have any problems, or if this version works successfully. Thanks!
I'm slightly out of space right now. It's going to be a few days probalby before I can test. I will for sure try to get some users/developers to test this however. I know Koon is game (he ran into this an hr or so before you updated this bug)
Will try to test it, just have to figure out how to force your ebuild into my catalyst setup without starting over from stage 1.
I can test this too. Will do it this evening.
$ genkernel initrd produces this error: modprobe.o(.text+0x1d24): In function `do_command': /var/tmp/genkernel/module-init-tools-0.9.15-pre4/modprobe.c:662: warning: warning: system() is a security risk. Use fork and execvp instead! /var/tmp/genkernel/diet/lib-i386/libc.a(vsnprintf.o)(.text+0x5b): In function `vsnprintf': : warning: warning: the printf functions add several kilobytes of bloat. /var/tmp/genkernel/diet/lib-i386/libc.a(logging.o)(.text+0x30a): In function `vsyslog': : undefined reference to `send' /var/tmp/genkernel/diet/lib-i386/libc.a(logging.o)(.text+0x644): In function `setlogmask': : undefined reference to `connect' /var/tmp/genkernel/diet/lib-i386/libc.a(logging.o)(.text+0x708): In function `setlogmask': : undefined reference to `socket' collect2: ld returned 1 exit status make: *** [modprobe] Error 1 make: *** Waiting for unfinished jobs....
Failed, but don't know if it's the same : --------------- In file included from rmmod.c:43: ../include/util.h:42: warning: built-in function `log' declared as non-function In file included from rmmod.c:44: ../include/obj.h:274: warning: `u_int64_t' is deprecated (declared at /var/tmp/genkernel/diet/include/sys/types.h:154) ../obj/libobj.a(obj_i386.o)(.text+0x23e): In function `obj32_arch_apply_relocation': /var/tmp/genkernel/modutils-2.4.26/obj/obj_i386.c:141: warning: warning: your code still has assertions enabled! ../util/libutil.a(config.o)(.text+0x69): In function `verbose': /var/tmp/genkernel/modutils-2.4.26/util/config.c:137: warning: warning: your code uses stdio (7+k bloat). /var/tmp/genkernel/diet/lib-i386/libc.a(vsnprintf.o)(.text+0x5b): In function `vsnprintf': : warning: warning: the printf functions add several kilobytes of bloat. -- /var/tmp/genkernel/diet/lib-i386/libc.a(logging.o)(.text+0x644): In function `setlogmask': : undefined reference to `connect' /var/tmp/genkernel/diet/lib-i386/libc.a(logging.o)(.text+0x708): In function `setlogmask': : undefined reference to `socket' collect2: ld returned 1 exit status make[1]: *** [rmmod] Error 1 make[1]: *** Waiting for unfinished jobs.... ../util/libutil.a(config.o)(.text+0x69): In function `verbose': /var/tmp/genkernel/modutils-2.4.26/util/config.c:137: warning: warning: your code uses stdio (7+k bloat). /tmp/ccNCAFF4.o(.text+0x151f): In function `call_rmmod': /var/tmp/genkernel/modutils-2.4.26/insmod/modprobe.c:962: warning: warning: system() is a security risk. Use fork and execvp instead! /var/tmp/genkernel/diet/lib-i386/libc.a(vsnprintf.o)(.text+0x5b): In function `vsnprintf': : warning: warning: the printf functions add several kilobytes of bloat. -- /var/tmp/genkernel/diet/lib-i386/libc.a(logging.o)(.text+0x644): In function `setlogmask': : undefined reference to `connect' /var/tmp/genkernel/diet/lib-i386/libc.a(logging.o)(.text+0x708): In function `setlogmask': : undefined reference to `socket' collect2: ld returned 1 exit status make[1]: *** [modprobe] Error 1 make[1]: Leaving directory `/var/tmp/genkernel/modutils-2.4.26/insmod' make: *** [all] Error 2 * Gentoo Linux Genkernel; Version 3.0.2g * ERROR: Failed to compile the "all" target... -------------------------------------------------
*** Bug 64063 has been marked as a duplicate of this bug. ***
Created attachment 39784 [details, diff] Patch Ok, can you please try this patch on /usr/share/genkernel/gen_compile.sh and see if that goes further now? There's still an issue [AFAIK] with udev not compiling on hardened so that would need patching.
I'll test this today.
* dietlibc: >> Compiling... * >> Installing... * >> Copying to bincache... * busybox: >> Configuring... * busybox: >> Compiling... * busybox: >> Copying to cache... * module-init-tools: >> Configuring * >> Compiling... * >> Copying to cache... * devfsd: >> Compiling... * >> Copying to cache... * initrd: >> Initializing... * >> Copying modules... * >> Copying auxilary files... * :: Size is at 1862K * >> Creating loopback filesystem... * >> Moving initrd files to the loopback... * >> Cleaning up and compressing the initrd... * * initrd compiled successfully!
Cool. --------------------------------------- * module-init-tools: >> Configuring * >> Compiling... * >> Copying to cache... * devfsd: >> Compiling... * >> Copying to cache... --------------------------------------- Incase anybody was not aware busybox provides both of these. Works with 2.4.x and 2.6.x modules. No busybox-udev at this time however. Our default busybox install provides pretty much all of these functions. Currently defined functions: [, addgroup, adduser, adjtimex, ar, arping, ash, awk, basename, bunzip2, busybox, bzcat, cal, cat, chgrp, chmod, chown, chroot, chvt, clear, cmp, cp, cpio, crond, crontab, cut, date, dc, dd, deallocvt, delgroup, deluser, devfsd, df, dirname, dmesg, dos2unix, dpkg, dpkg-deb, du, dumpkmap, dumpleases, echo, egrep, env, expr, false, fbset, fdflush, fdformat, fdisk, fgrep, find, fold, free, freeramdisk, fsck.minix, ftpget, ftpput, getopt, getty, grep, gunzip, gzip, halt, hdparm, head, hexdump, hostid, hostname, httpd, hush, hwclock, id, ifconfig, ifdown, ifup, inetd, init, insmod, install, ip, ipaddr, ipcalc, iplink, iproute, iptunnel, kill, killall, klogd, lash, last, length, linuxrc, ln, loadfont, loadkmap, logger, login, logname, logread, losetup, ls, lsmod, makedevs, md5sum, mesg, mkdir, mkfifo, mkfs.minix, mknod, mkswap, mktemp, modprobe, more, mount, msh, mt, mv, nameif, nc, netstat, nslookup, od, openvt, passwd, patch, pidof, ping, ping6, pipe_progress, pivot_root, poweroff, printf, ps, pwd, rdate, readlink, realpath, reboot, renice, reset, rm, rmdir, rmmod, route, rpm, rpm2cpio, run-parts, rx, sed, seq, setkeycodes, sha1sum, sleep, sort, start-stop-daemon, strings, stty, su, sulogin, swapoff, swapon, sync, sysctl, syslogd, tail, tar, tee, telnet, telnetd, test, tftp, time, top, touch, tr, traceroute, true, tty, udhcpc, udhcpd, umount, uname, uncompress, uniq, unix2dos, unzip, uptime, usleep, uudecode, uuencode, vconfig, vi, vlock, watch, watchdog, wc, wget, which, who, whoami, xargs, yes, zcat
Patch in genkernel-3.0.2g; please reopen this bug if you have any problems. Thanks!
Looks like genkernel 3.0.2g is fixed for 2.4 kernels (modutils) but isn't for 2.6 kernels (modules-init-tools) : Results using grsec-sources-2.4.27 : ----------------------------------------- * busybox: >> Copying to cache... * modutils: >> Configuring... [...] * modutils: >> Compiling... COMMAND: make -j2 CC="gcc" LD="ld" AS="as" all [...] * modutils: >> Copying to cache... [...] ----------------------------------------- with hardened-dev-sources-2.6.7-r8 : ----------------------------------------- * busybox: >> Copying to cache... * module-init-tools: >> Configuring [...] * >> Compiling... COMMAND: make -j2 CC="/var/tmp/genkernel/diet/bin/diet gcc" LD="ld" AS="as" all [...] /var/tmp/genkernel/diet/lib-i386/libc.a(logging.o)(.text+0x30a): In function `vsyslog': : undefined reference to `send' /var/tmp/genkernel/diet/lib-i386/libc.a(logging.o)(.text+0x644): In function `setlogmask': : undefined reference to `connect' /var/tmp/genkernel/diet/lib-i386/libc.a(logging.o)(.text+0x708): In function `setlogmask': : undefined reference to `socket' collect2: ld returned 1 exit status make: *** [modprobe] Error 1 make: *** Waiting for unfinished jobs.... * Gentoo Linux Genkernel; Version 3.0.2g ----------------------------------------- Looks like the same error that was reported and fixed on 2.4.
Created attachment 40764 [details, diff] Patch for hardened 2.6 support OK, this should fix it. This is a patch over 3.0.2g which disables dietlibc in compile_module_init_tools and allows to disable udev on 2.6 kernels (with a --no-udev genkernel flag). I removed the --udev flag which has no point since on 3.0.2g it was disabled on 2.4 builds and forced "on" on 2.6 builds.
Patch #2 in CVS. Thanks!
Patches are in CVS it's been tested and seems to be working for he most part. udev supprt might need a little work for 2.6.x but a 2.6.x user will have to open a bug about that.
Patch #2 doesn't appear to be in CVS... or I don't look at the right place ?
Problem still exists with dietlibc-0.27: gcc -isystem include -pipe -nostdinc -O2 -pipe -fomit-frame-pointer -Wall -W -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-switch -Wno-unused -Wredundant-decls -nostdlib -o bin-i386/diet bin-i386/start.o bin-i386/dyn_start.o diet.c bin-i386/dietlibc.a bin-i386/dyn_stop.o -DDIETHOME=\"/var/tmp/portage/dietlibc-0.27/work/dietlibc-0.27\" -DVERSION=\"dietlibc-0.27\" -lgcc bin-i386/dietlibc.a(errno_location.o)(.text+0x11): In function `__errno_location': : undefined reference to `__guard' bin-i386/dietlibc.a(errno_location.o)(.text+0x3b): In function `__errno_location': : undefined reference to `__stack_smash_handler' bin-i386/dietlibc.a(execvp.o)(.text+0x17): In function `execvp': : undefined reference to `__guard' bin-i386/dietlibc.a(execvp.o)(.text+0x1b7): In function `execvp': : undefined reference to `__guard' bin-i386/dietlibc.a(execvp.o)(.text+0x1db): In function `execvp': : undefined reference to `__stack_smash_handler' bin-i386/dietlibc.a(memmove.o)(.text+0x18): In function `memmove': : undefined reference to `__guard' bin-i386/dietlibc.a(memmove.o)(.text+0x6a): In function `memmove': : undefined reference to `__stack_smash_handler' bin-i386/dietlibc.a(strstr.o)(.text+0x18): In function `strstr': : undefined reference to `__guard' bin-i386/dietlibc.a(strstr.o)(.text+0xb9): In function `strstr': : undefined reference to `__stack_smash_handler' bin-i386/dietlibc.a(exec_lib.o)(.text+0x1b): In function `__exec_shell': : undefined reference to `__guard' bin-i386/dietlibc.a(exec_lib.o)(.text+0x87): In function `__exec_shell': : undefined reference to `__guard' bin-i386/dietlibc.a(exec_lib.o)(.text+0xa6): In function `__exec_shell': : undefined reference to `__stack_smash_handler' collect2: ld gab 1 als Ende-Status zur
Problem still exists with dietlibc-0.27: gcc -isystem include -pipe -nostdinc -O2 -pipe -fomit-frame-pointer -Wall -W -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-switch -Wno-unused -Wredundant-decls -nostdlib -o bin-i386/diet bin-i386/start.o bin-i386/dyn_start.o diet.c bin-i386/dietlibc.a bin-i386/dyn_stop.o -DDIETHOME=\"/var/tmp/portage/dietlibc-0.27/work/dietlibc-0.27\" -DVERSION=\"dietlibc-0.27\" -lgcc bin-i386/dietlibc.a(errno_location.o)(.text+0x11): In function `__errno_location': : undefined reference to `__guard' bin-i386/dietlibc.a(errno_location.o)(.text+0x3b): In function `__errno_location': : undefined reference to `__stack_smash_handler' bin-i386/dietlibc.a(execvp.o)(.text+0x17): In function `execvp': : undefined reference to `__guard' bin-i386/dietlibc.a(execvp.o)(.text+0x1b7): In function `execvp': : undefined reference to `__guard' bin-i386/dietlibc.a(execvp.o)(.text+0x1db): In function `execvp': : undefined reference to `__stack_smash_handler' bin-i386/dietlibc.a(memmove.o)(.text+0x18): In function `memmove': : undefined reference to `__guard' bin-i386/dietlibc.a(memmove.o)(.text+0x6a): In function `memmove': : undefined reference to `__stack_smash_handler' bin-i386/dietlibc.a(strstr.o)(.text+0x18): In function `strstr': : undefined reference to `__guard' bin-i386/dietlibc.a(strstr.o)(.text+0xb9): In function `strstr': : undefined reference to `__stack_smash_handler' bin-i386/dietlibc.a(exec_lib.o)(.text+0x1b): In function `__exec_shell': : undefined reference to `__guard' bin-i386/dietlibc.a(exec_lib.o)(.text+0x87): In function `__exec_shell': : undefined reference to `__guard' bin-i386/dietlibc.a(exec_lib.o)(.text+0xa6): In function `__exec_shell': : undefined reference to `__stack_smash_handler' collect2: ld gab 1 als Ende-Status zurück make: *** [bin-i386/diet] Fehler 1 !!! ERROR: dev-libs/dietlibc-0.27 failed. !!! Function src_compile, Line 62, Exitcode 2 !!! emake failed !!! If you need support, post the topmost build error, NOT this status message. I'm using a hardened toolchain. Please reopen this bug - or rather bug# 64063. 64063 is resolved as a duplicate of this bug? 10:53:18 askwar@alturo:~ $ emerge info Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.9-gentoo-r3.PHP2.4kb.cleaned.no-preempt.05 i686) ================================================================= System uname: 2.6.9-gentoo-r3.PHP2.4kb.cleaned.no-preempt.05 i686 Intel(R) Celeron(R) CPU 2.00GHz Gentoo Base System version 1.6.6 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.92.0.2-r1 Headers: sys-kernel/linux26-headers-2.6.8.1-r1 Libtools: sys-devel/libtool-1.5.2-r7 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="" 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="-fomit-frame-pointer -pipe -O2 -march=pentium4" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache collision-protect distlocks sandbox sfperms" GENTOO_MIRRORS="http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo http://194.117.158.29/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="acl apache2 apm arts async avi bzlib crypt cscope cups curl curlwrappers diet djbfft encode exif fam flash foomaticdb ftp fwdzone gd gdbm gif gnome gtk2 hal hardened iconv imagemagick imap imlib immqt-bc ithreads javascript jpeg kde libedit libg++ libwww lzo lzw lzw-tiff mad maildir mailwrapper mbox mmap mmx mng mpeg mysql ncurses nls no-old-linux noantlr nobcel nobeanutils nobsh nocommonslogging nocommonsnet nojdepend nojsch nojython nolog4j nooro noregexp norhino noxalan noxerces nptl offensive oggvorbis opengl oss pam parse-clocks pcntl pcre pdflib perl pic pie png posix postgres pwdb python qt quicktime readline recode sasl sdl shared slang sockets spell sse ssl sysvipc tcpd tiff truetype unicode x86 xfs xml2 xmms xv zlib linguas_de"
I updated to genkernel-3.1.0a and got rid of my dietlibc problems with 2.6.7-hardened-r10. However I now have a problem with udev. If I invoke genkernel with the --udev option I get: * udev: >> Compiling... * ERROR: Failed to compile the "KERNEL_DIR=/usr/src/linux USE_KLIBC=true USE_LOG=false DEBUG=false udevdir=/dev all etc/udev/udev.conf" target... * -- Grepping log... -- ENOPKG (65) => "Package not installed" EREMOTE (66) => "Object is remote" ENOLINK (67) => "Link has been severed" EADV (68) => "Advertise error" ESRMNT (69) => "Srmount error" ECOMM (70) => "Communication error on send" -- raise.o(.text+0x17): In function `raise': /var/tmp/genkernel/udev-039/klibc/klibc/raise.c:9: undefined reference to `__guard' raise.o(.text+0x3f):/var/tmp/genkernel/udev-039/klibc/klibc/raise.c:11: undefined reference to `__stack_smash_handler' abort.o(.text+0x15): In function `abort': /var/tmp/genkernel/udev-039/klibc/klibc/abort.c:10: undefined reference to `__guard' assert.o(.text+0x16): In function `__assert_fail': -- libgcc/__umoddi3.c:11: undefined reference to `__guard' libgcc/__umoddi3.o(.text+0x45):libgcc/__umoddi3.c:16: undefined reference to `__stack_smash_handler' libgcc/__udivmoddi4.o(.text+0x1a): In function `__udivmoddi4': libgcc/__udivmoddi4.c:5: undefined reference to `__guard' libgcc/__udivmoddi4.o(.text+0xcc):libgcc/__udivmoddi4.c:32: undefined reference to `__stack_smash_handler' make[2]: *** [libc.so] Error 1 make[2]: Leaving directory `/var/tmp/genkernel/udev-039/klibc/klibc' make[1]: *** [all] Error 2 make[1]: Leaving directory `/var/tmp/genkernel/udev-039/klibc' make: *** [/var/tmp/genkernel/udev-039/klibc/klibc/crt0.o] Error 2 * Gentoo Linux Genkernel; Version 3.1.0a * ERROR: Failed to compile the "KERNEL_DIR=/usr/src/linux USE_KLIBC=true USE_LOG=false DEBUG=false udevdir=/dev all etc/udev/udev.conf" target... # emerge info Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.6.7-hardened-r10 i686) ================================================================= System uname: 2.6.7-hardened-r10 i686 Pentium III (Coppermine) Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.14.90.0.8-r1 Headers: sys-kernel/linux-headers-2.4.19-r1,sys-kernel/linux-headers-2.4.21-r1 Libtools: sys-devel/libtool-1.5.2-r5 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=i686 -O2 -mcpu=pentium3 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /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/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=i686 -O2 -mcpu=pentium3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://linux.rz.ruhr-uni-bochum.de/gentoo-portage" USE="X X509 aalib acpi acpi4linux alsa apm ared aredmem arts avi berkdb bitmap-fonts bootspla bzlib c crypt css cups dga directfb divx4linux dlloader dvd f77 fam flac foomaticdb fortran gd gdbm gif gnuplot gs gsl gtk gtk2 hardened imap imlib imlib2 innodb ipv6 java jpeg kde libwww lzo mbox md5sum mha mikmod mime mmx mmx2 mng mozilla mozinterfaceinfo mozsvg mpeg mplayer ncurses network nls no_wxgtk1 ntlm oggvorbis opengl oss pam pcmcia pcre pdflib perl pic plotutils png pnp ppds python qt quicktime readline real rtc samba sasl sdl sftplogging slang smime sockets speex spell sse ssl tcpd theora tidy tiff truetype type1 usb webmin-minimal x86 xine xml2 xmms xv xvid zlib" Is this the correct bug for this issue? Koon said something about the --udev flag being obsolete by genkernel-3.0.2g. That means, I should not use it at all? But if genkernel automagically uses udev with 2.6 sources, why do I get that error only if I enable --udev manually?