dd if=mbr2.img of=mbr2.b bs=32 skip=49 16+0 records in 16+0 records out ./mkloader >loader.i i686-pc-linux-gnu-gcc -fno-pic -nopie -c -O2 -Wall -g `if [ -f /usr/include/linu x/version.h ]; then echo -DHAS_VERSION_H; fi` -DLILO=0x8171ec98 `( if [ -r $ROOT /etc/lilo.defines ]; then cat $ROOT/etc/lilo.defines; else echo -DBDATA -DDSECS= 3 -DEVMS -DIGNORECASE -DLVM -DONE_SHOT -DPASS160 -DREISERFS -DREWRITE_TABLE -DSO LO_CHAIN -DVERSION -DVIRTUAL -DDEVMAPPER; fi ) | sed 's/-D/-DLCF_/g'` temp.c i686-pc-linux-gnu-gcc -fno-pic -nopie -o lilo-static -static lilo.o raid.o map. o geometry.o boot.o device.o common.o bsect.o cfg.o partition.o identify.o probe .o shs2.o edit.o temp.o geometry.o(.text+0x1d0): In function `geo_init': /var/tmp/portage/lilo-22.6.1-r1/work/lilo-22.6.1/geometry.c:184: undefined refer ence to `dm_task_create' geometry.o(.text+0x1de):/var/tmp/portage/lilo-22.6.1-r1/work/lilo-22.6.1/geometr y.c:186: undefined reference to `dm_task_run' geometry.o(.text+0x208):/var/tmp/portage/lilo-22.6.1-r1/work/lilo-22.6.1/geometr y.c:188: undefined reference to `dm_task_get_driver_version' geometry.o(.text+0x23d):/var/tmp/portage/lilo-22.6.1-r1/work/lilo-22.6.1/geometr y.c:198: undefined reference to `dm_task_destroy' geometry.o(.text+0x1e6f): In function `geo_get': /var/tmp/portage/lilo-22.6.1-r1/work/lilo-22.6.1/geometry.c:902: undefined refer ence to `dm_task_create' geometry.o(.text+0x1eb1):/var/tmp/portage/lilo-22.6.1-r1/work/lilo-22.6.1/geomet ry.c:909: undefined reference to `dm_task_set_name' geometry.o(.text+0x1ec7):/var/tmp/portage/lilo-22.6.1-r1/work/lilo-22.6.1/geomet ry.c:911: undefined reference to `dm_task_run' geometry.o(.text+0x1f5a):/var/tmp/portage/lilo-22.6.1-r1/work/lilo-22.6.1/geomet ry.c:929: undefined reference to `dm_get_next_target' geometry.o(.text+0x20ad):/var/tmp/portage/lilo-22.6.1-r1/work/lilo-22.6.1/geomet ry.c:993: undefined reference to `dm_task_destroy' collect2: ld returned 1 exit status make: *** [lilo-static] Error 1 rm os2_d.o chain.img mbr2.o os2_d.img bitmap.img second.img mbr.o first.img thir d.img !!! ERROR: sys-boot/lilo-22.6.1-r1 failed. !!! Function src_compile, Line 76, Exitcode 2 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message. --- emerge info here ----------------- amazing portage # emerge info Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.4.3, glibc-2.3.4.20050125-r0, 2.6.11-gentoo-r3 i686) ================================================================= System uname: 2.6.11-gentoo-r3 i686 AMD Athlon(tm) 64 Processor 3200+ Gentoo Base System version 1.6.10 Python: dev-lang/python-2.3.5 [2.3.5 (#1, Feb 24 2005, 12:03:52)] distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [disabled] dev-lang/python: 2.3.5 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.8.5-r3, 1.9.5, 1.5, 1.6.3, 1.7.9-r1, 1.4_p6 sys-devel/binutils: 2.15.92.0.2-r5 sys-devel/libtool: 1.5.14 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=i686 -O2 -pipe -fomit-frame-pointer" CHOST="i686-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/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/ /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=i686 -O2 -pipe -fomit-frame-pointer -fvisibility-inlines-hidden" DISTDIR="/media/MEDIA1/gentoo/distfiles" FEATURES="autoaddcvs autoconfig buildpkg distlocks prelink sandbox sfperms" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LANG="ru_RU.CP1251" LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--enable-new-dtags" MAKEOPTS="-j1" PKGDIR="/media/MEDIA1/gentoo/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/media/MEDIA1/gentoo/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X a52 aac aalib acl acpi acpi4linux activefilter alsa apm arts artswrappersuid audiofile avi bash-completion bitmap-fonts bluetooth caps cddb cdparanoia cdr crypt cups curl dga dv dvd dvdr dvdread emboss encode exif fam ffmpeg flac foomaticdb gd gif gnokii gnutls gphoto2 gpm gstreamer gtk2 guile hal howl iconv ieee1394 imagemagick imap imlib innodb jack jack-tmpfs jpeg jpeg2k kde kdeenablefinal kerberos ladcca ladspa ldap libcaca libg++ libwww lirc lm_sensors lmtp logitech-mouse lufsusermount lzo mad maildir mailwrapper matroska mbox mikmod mjpeg mmx mozilla mp3 mpeg mppe-mppc nas ncurses nntp no-old-linux nptl nptlonly ntlm oav odbc ogg oggvorbis openal opengl pam pcmcia pcre pda pdflib pic plotutils png portaudio povray pwdb qt quicktime quotas rdesktop readline real rtc samba sasl scanner silc skey slang slp smartcard socks5 speex spell ssl symlink tcpd tetex theora threads tidy tiff transcode truetype truetype-fonts usb utf8 v4l v4l2 vcdimager vidix wifi wmf xine xml xml2 xv xvid yv12 zeroconf zlib linguas_ru" Unset: ASFLAGS, CBUILD, CTARGET, LC_ALL
Christophe, can you tell me if it's possible work around this or would we need to die on the USE="devmap static" combination? I'd hate having to add this, but it's not really feasible to drop USE="static" or USE="devmap" entirely just because this combination doesn't work.
No, this is just a stupid oversight in the Makefile. The device mapper library also needs to be added to "lilo-static" executably, not only to "lilo". The same ifdef needs to be added in the Makefile some lines below.
Created attachment 53462 [details, diff] Corrected device-mapper patch, also adds library to static binary like this
Thanks for your report Alexej, the fix that Christophe provided will be in the portage tree in two hours. If you sync by then, you will be able to merge lilo with both "static" and "devmapper" enabled. Christophe, thanks for the quick fix, and sorry for the oversight that kept it from being merged.
No, it's my fault since I wrote the original patch. :)