genkernel --dmraid initrd seems to quit compiling due to a missing libdevmapper.h, something which I cannot find on my system. Has some dependency for the genkernel ebuild been wrong, resulting in this error? Reproducible: Always Steps to Reproduce: 1. genkernel --dmraid initrd Actual Results: * Gentoo Linux Genkernel; Version 3.3.5 * Running with options: --dmraid initrd * Linux Kernel 2.6.12-gentoo-r7 for x86_64... * initramfs: >> Initializing... * >> Creating base_layout cpio archive... * >> Creating auxilary cpio archive... * >> Creating busybox cpio archive... * >> Creating udev cpio archive... * >> Creating dmraid cpio archive... * DMRAID: Adding support (compiling binaries)... * dmraid: >> Configuring... * dmraid: >> Compiling... * ERROR: Failed to compile the "" target... * -- Grepping log... -- gcc -MM -MF activate/devmapper.d -I. -I../include -I../lib -O2 -DDMRAID_NATIVE_LOG -DHAVE_GETOPTLONG -fPIC -Wall -Wundef -Wcast-align -Wwrite-strings -Winline -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -DDMRAID_TEST -O2 -D_LARGEFILE64_SOURCE activate/devmapper.c; \ gcc -c -I. -I../include -I../lib -O2 -DDMRAID_NATIVE_LOG -DHAVE_GETOPTLONG -fPIC -Wall -Wundef -Wcast-align -Wwrite-strings -Winline -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -DDMRAID_TEST -O2 -D_LARGEFILE64_SOURCE activate/devmapper.c -o activate/devmapper.o activate/devmapper.c:12:26: libdevmapper.h: No such file or directory activate/devmapper.c:12:26: libdevmapper.h: No such file or directory activate/devmapper.c: In function `mkdm_path': activate/devmapper.c:29: warning: implicit declaration of function `dm_dir' activate/devmapper.c:29: warning: nested extern declaration of `dm_dir' activate/devmapper.c:29: warning: initialization makes pointer from integer without a cast activate/devmapper.c: In function `_init_dm': activate/devmapper.c:49: warning: implicit declaration of function `dm_log_init' activate/devmapper.c:49: warning: nested extern declaration of `dm_log_init' activate/devmapper.c: At top level: activate/devmapper.c:53: warning: "struct dm_task" declared inside parameter list activate/devmapper.c:53: warning: its scope is only this definition or declaration, which is probably not what you want activate/devmapper.c: In function `_exit_dm': activate/devmapper.c:56: warning: implicit declaration of function `dm_task_destroy' activate/devmapper.c:56: warning: nested extern declaration of `dm_task_destroy' activate/devmapper.c:58: warning: implicit declaration of function `dm_lib_release' activate/devmapper.c:58: warning: nested extern declaration of `dm_lib_release' activate/devmapper.c:59: warning: implicit declaration of function `dm_lib_exit' activate/devmapper.c:59: warning: nested extern declaration of `dm_lib_exit' activate/devmapper.c: In function `get_target_list': activate/devmapper.c:72: warning: implicit declaration of function `dm_task_create' activate/devmapper.c:72: warning: nested extern declaration of `dm_task_create' activate/devmapper.c:72: error: `DM_DEVICE_LIST_VERSIONS' undeclared (first use in this function) activate/devmapper.c:72: error: (Each undeclared identifier is reported only once activate/devmapper.c:72: error: for each function it appears in.) activate/devmapper.c:72: warning: assignment makes pointer from integer without a cast activate/devmapper.c:73: warning: implicit declaration of function `dm_task_run' activate/devmapper.c:73: warning: nested extern declaration of `dm_task_run' activate/devmapper.c:74: warning: implicit declaration of function `dm_task_get_versions' activate/devmapper.c:74: warning: nested extern declaration of `dm_task_get_versions' activate/devmapper.c:74: warning: pointer/integer type mismatch in conditional expression activate/devmapper.c: In function `valid_ttype': activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:94: error: dereferencing pointer to incomplete type activate/devmapper.c:98: error: dereferencing pointer to incomplete type activate/devmapper.c: At top level: activate/devmapper.c:109: warning: "struct dm_task" declared inside parameter list activate/devmapper.c: In function `handle_table': activate/devmapper.c:133: warning: implicit declaration of function `dm_task_add_target' activate/devmapper.c:133: warning: nested extern declaration of `dm_task_add_target' activate/devmapper.c: At top level: activate/devmapper.c:141: warning: "struct dm_task" declared inside parameter list activate/devmapper.c: In function `dm_create': activate/devmapper.c:162: warning: nested extern declaration of `dm_task_create' activate/devmapper.c:162: error: `DM_DEVICE_CREATE' undeclared (first use in this function) activate/devmapper.c:162: warning: assignment makes pointer from integer without a cast activate/devmapper.c:163: warning: implicit declaration of function `dm_task_set_name' activate/devmapper.c:163: warning: nested extern declaration of `dm_task_set_name' activate/devmapper.c:165: warning: nested extern declaration of `dm_task_run' activate/devmapper.c: In function `dm_remove': activate/devmapper.c:184: warning: nested extern declaration of `dm_task_create' activate/devmapper.c:184: error: `DM_DEVICE_REMOVE' undeclared (first use in this function) activate/devmapper.c:184: warning: assignment makes pointer from integer without a cast activate/devmapper.c:185: warning: nested extern declaration of `dm_task_set_name' activate/devmapper.c:186: warning: nested extern declaration of `dm_task_run' activate/devmapper.c: In function `dm_status': activate/devmapper.c:199: error: storage size of 'info' isn't known activate/devmapper.c:204: warning: nested extern declaration of `dm_task_create' activate/devmapper.c:204: error: `DM_DEVICE_STATUS' undeclared (first use in this function) activate/devmapper.c:204: warning: assignment makes pointer from integer without a cast activate/devmapper.c:205: warning: nested extern declaration of `dm_task_set_name' activate/devmapper.c:206: warning: nested extern declaration of `dm_task_run' activate/devmapper.c:207: warning: implicit declaration of function `dm_task_get_info' activate/devmapper.c:207: warning: nested extern declaration of `dm_task_get_info' activate/devmapper.c:199: warning: unused variable `info' activate/devmapper.c: In function `dm_version': activate/devmapper.c:226: warning: nested extern declaration of `dm_task_create' activate/devmapper.c:226: error: `DM_DEVICE_VERSION' undeclared (first use in this function) activate/devmapper.c:226: warning: assignment makes pointer from integer without a cast activate/devmapper.c:227: warning: nested extern declaration of `dm_task_run' activate/devmapper.c:228: warning: implicit declaration of function `dm_task_get_driver_version' activate/devmapper.c:228: warning: nested extern declaration of `dm_task_get_driver_version' make[1]: *** [activate/devmapper.o] Error 1 make[1]: Leaving directory `/var/tmp/genkernel/18851.12249.14784.26481/dmraid/1.0.0.rc8/lib' make: *** [lib] Error 2 * Gentoo Linux Genkernel; Version 3.3.5 * Running with options: --dmraid initrd * ERROR: Failed to compile the "" target... * -- End log... -- * Please consult /var/log/genkernel.log for more information and any * errors that were reported above. * Report any genkernel bugs to bugs.gentoo.org and * assign your bug to genkernel@gentoo.org. Please include * as much information as you can in your bug report; attaching * /var/log/genkernel.log so that your issue can be dealt with effectively. * * Please do *not* report compilation failures as genkernel bugs! Expected Results: 1. Genkernel should have produced a working dmraid initrd image. merge info Portage 2.0.51.22-r2 (default-linux/amd64/2005.0, gcc-3.4.3, glibc-2.3.5-r0, 2.6.12-gentoo-r7 x86_64) ================================================================= System uname: 2.6.12-gentoo-r7 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5 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 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib64/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/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon64 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distro.ibiblio.org/pub/linux/distributions/gentoo/" LINGUAS="de" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi aim alsa amd64 apm arts audiofile avi bash-completion berkdb bitmap-fonts bluetooth bmp bonobo bzip2 calendar cdparanoia cdr crypt cups curl dbus dga directfb doc dvd dvdr dvdread eds emacs encode esd evo exif expat fam fbcon ffmpeg firefox flac foomaticdb foomaticfb fortran ftp gcj gdbm ggi gif glut gnome gnustep gnutls gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile hal howl icq ieee1394 imagemagick imap imlib inifile ipv6 jabber jack javascript jpeg kde kerberos ldap lesstif libwww lirc lm_sensors logitech-mouse lzw lzw-tiff mad maildir mailwrapper mbox mcal mikmod mime mmap mng motif mozdevelop mozilla mozsvg mp3 mpeg mpi msession msn mysql nas ncurses neXtaw nls nntp nptl objc offensive ogg oggvorbis openal opengl osc oscar oss pam pcre pda pdflib perl php pic png portaudio posix ppds python qt quicktime readline ruby samba sdl session sharedmem shorten sndfile sox speex spell ssl subversion svg szip tcpd tetex theora threads tidy tiff truetype truetype-fonts type1-fonts unicode usb userlocales v4l v4l2 vcd visualization vorbis wifi wmf wxwindows xine xinerama xml xml2 xmms xosd xpm xprint xrandr xscreensaver xsl xv xvid yahoo zeroconf zlib linguas_de userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
Do you have sys-fs/device-mapper installed?
Jakub, I just installed device-mapper about an hour ago, and genkernel seems to work properly now. Even though this lets genkernel function, should device-mapper have been included in Genkernel as a dependency so that this error would have never occurred?
Good to hear that it works now.
genkernel 3.3.6 is now in CVS