See summary. Reproducible: Always Steps to Reproduce: 1. Enable DM_CRYPT/DM_ZERO support in menuconfig 2. Try to compile the kernel (manually or via genkernel, does not matter) Actual Results: drivers/built-in.o: In function `crypt_ctr': dm-crypt.c:(.text+0xd61e5): undefined reference to `dm_table_get_mode' dm-crypt.c:(.text+0xd6220): undefined reference to `dm_get_device' drivers/built-in.o: In function `crypt_dtr': dm-crypt.c:(.text+0xd630c): undefined reference to `dm_put_device' dm-crypt.c:(.text+0xd634f): undefined reference to `dm_put_device' drivers/built-in.o: In function `dm_crypt_init': dm-crypt.c:(.init.text+0x942b): undefined reference to `dm_register_target' drivers/built-in.o: In function `dm_zero_init': dm-zero.c:(.init.text+0x949c): undefined reference to `dm_register_target' drivers/built-in.o: In function `dm_crypt_exit': dm-crypt.c:(.exit.text+0x82b): undefined reference to `dm_unregister_target' drivers/built-in.o: In function `dm_zero_exit': dm-zero.c:(.exit.text+0x88b): undefined reference to `dm_unregister_target' make: *** [.tmp_vmlinux1] Error 1 Expected Results: I want a new kernel. ;) Portage 2.0.51.22-r1 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r0, 2.6.11-gentoo-r11 i686) ================================================================= System uname: 2.6.11-gentoo-r11 i686 AMD Sempron(tm) Gentoo Base System version 1.6.12 ccache version 2.4 [enabled] dev-lang/python: 2.3.5, 2.4.1-r1 sys-apps/sandbox: 1.2.11 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.5 sys-devel/binutils: 2.15.92.0.2-r10, 2.16.1 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer -fforce-addr" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /opt/glftpd/etc /opt/glftpd/ftp-data /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=athlon-xp -O2 -pipe -fomit-frame-pointer -fforce-addr" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache collision-protect distlocks maketest sandbox sfperms strict test userpriv usersandbox" GENTOO_MIRRORS="ftp://ftp.sh.cvut.cz/MIRRORS/gentoo/gentoo ftp://ftp.fi.muni.cz/pub/linux/gentoo/" LANG="en_US.UTF-8" LINGUAS="en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow acpi apache2 apm bash-completion bcmath berkdb bzip2 calendar crypt curl curlwrappers exif fbcon fortran freetds ftp gd gdbm gif iconv imap innodb jpeg libg++ libwww maildir mcal memlimit mhash mime mmx mp3 mpeg mssql mysql mysqli ncurses nls nptl nptlonly odbc offensive pam pcntl pcre pdflib perl php png pnp posix python readline sasl session simplexml soap sockets spl sqlite sse ssl sysvipc tcpd tidy tiff tokenizer unicode wddx xml xml2 xmlrpc xsl zlib linguas_en userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LC_ALL, LDFLAGS
Created attachment 63619 [details] kernel .config
Created attachment 63630 [details] .config that runs without problem on another machine I've tried to reproduce, but compilation run without any problem (several warnings; didn't try to boot new kernel).
Can't reproduce with jakubs config either. Does the same problem exist in earlier 2.6.12 series release? How about plain 2.6.12?
(In reply to comment #3) > Can't reproduce with jakubs config either. Does the same problem exist in > earlier 2.6.12 series release? How about plain 2.6.12? Forget it, I did not run 'make clean' when doing the manual compilation, which broke it. After 'make clean', it compiles perfectly both manually and with genkernel-3.1.6 (I tried 2.6.12-r4 and 2.6.12-r6), fails for both kernels with genkernel-3.2.7. Reassigning, sorry to have wasted your time.
Are you using the default genkernel config? And what arguments are you running genkernel with?
(In reply to comment #5) > Are you using the default genkernel config? No, I did 'zcat /proc/config.cz > /usr/src/linux/.myconfig' and loaded that from menuconfig. > And what arguments are you running genkernel with? genkernel all --menuconfig --save-config --install --udev --lvm2
(In reply to comment #5) > Are you using the default genkernel config? Maybe I misread it; if you mean /etc/genkernel.conf, then yes.
This is not a bug with genkernel. As your initial bug report states compiling a kernel manually or with genkernel both fails. This is a problem with needing to clear out your kernel tree as stated below or the kernel has a bug in it. If this happens again in the future and the kernel fails to compile manually it most likely is NOT a bug in genkernel and should be reported as a kernel bug. Always clear your tree first before reporting this type of failure.
(In reply to comment #8) > This is not a bug with genkernel. As your initial bug report states compiling > a kernel manually or with genkernel both fails. This is a problem with needing > to clear out your kernel tree as stated below or the kernel has a bug in it. > If this happens again in the future and the kernel fails to compile manually it > most likely is NOT a bug in genkernel and should be reported as a kernel bug. rocket, please read comment #4 more carefully, thanks. It was originally assigned to kernel devs actually, but it is NOT a problem with kernel. It compiles perfectly well w/ 3.1.6 and manually as well after 'make clean', as I have already stated in the above comment.
did you try the --clean flag for genkernel?
(In reply to comment #10) > did you try the --clean flag for genkernel? No, I did not, because 1/ genkernel does it automatically every time (CLEAN="yes", MRPROPER="yes") 2/ it failed on two freshly installed kernels where 'make clean' makes no sense 3/ It works perfectly well when genkernel is downgraded to 3.1.6, --clean or not. which pretty much suggests that this is not PEBKAC...
We have both DM_CRYPT and DM_ZERO support on the release media, and it compiles perfectly for us. Have you tried using genkernel's own config file to make sur eit isn't something you're doing in yours?
(In reply to comment #12) > Have you tried using genkernel's own config file to make sur > eit isn't something you're doing in yours? Yes, the default one works. Then I unmerged genkernel-3.2.7, wiped /usr/share/genkernel, /var/tmp/genkernel and /etc/kernels, re-emerged genkernel and gentoo-sources-2.6.12-r6, and tried again with 'genkernel bzImage --clean --menuconfig --udev --lvm2' using .config from the *running* gentoo-sources-2.6.12-r6 (zcat /proc/config.gz > /usr/src/linux/.myconfig) compiled with genkernel-3.1.6 and it fails with dm-zero.c:(.exit.text+0x88b): undefined reference to `dm_unregister_target' drivers/built-in.o: In function `dm_bbr_exit': : undefined reference to `dm_io_put' drivers/built-in.o: In function `dm_bbr_exit': : undefined reference to `dm_unregister_target' make: *** [.tmp_vmlinux1] Error 1 I can attach the new .config, if you are interested, otherwise I suggest that you close this as WORKSFORME as I certainly won't have time to "debug" my .config. That said, failure to compile identical kernel with new genkernel version while the old version works perfectly with the same config is a bug.
This works on other peoples install. Not sure what the problem with your config is but it seems local to your machine.