Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 293272 - can't compile lvm2-2.02.51-r1 because missing devmapper-event
Summary: can't compile lvm2-2.02.51-r1 because missing devmapper-event
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High blocker with 1 vote (vote)
Assignee: Robin Johnson
URL:
Whiteboard:
Keywords:
: 293749 294083 294233 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-11-15 13:05 UTC by Aben Siatris
Modified: 2010-02-15 00:01 UTC (History)
16 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,125.09 KB, text/plain)
2009-11-16 09:36 UTC, Petre Rodan
Details
config.log (config.log,72.70 KB, text/plain)
2009-11-16 09:36 UTC, Petre Rodan
Details
lvm2-2.02.51-r1.ebuild.diff (lvm2-2.02.51-r1.ebuild.diff,366 bytes, patch)
2009-11-19 08:22 UTC, Stephan Hartmann (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Aben Siatris 2009-11-15 13:05:09 UTC
make[1]: Leaving directory `/var/tmp/portage/sys-fs/lvm2-2.02.51-r1/work/LVM2.2.02.51/tools'
make[1]: Entering directory `/var/tmp/portage/sys-fs/lvm2-2.02.51-r1/work/LVM2.2.02.51/tools'
i686-pc-linux-gnu-gcc -c -I. -I../include -DLVM_SHARED_PATH=\"/usr/sbin/lvm\" -DHAVE_CONFIG_H -DDM_IOCTLS -O2 -march=pentium4 -fomit-frame-pointer -msse -msse2 -mmmx -O2 -march=pentium4 -fomit-frame-pointer -msse -msse2 -mmmx -fPIC -Wall -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wmissing-noreturn -Wformat-security -O2 -O2 -march=pentium4 -fomit-frame-pointer -msse -msse2 -mmmx -fPIC -Wall -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wmissing-noreturn -Wformat-security -O2 dmsetup.c -o dmsetup.o
i686-pc-linux-gnu-gcc -O2 -march=pentium4 -fomit-frame-pointer -msse -msse2 -mmmx -O2 -march=pentium4 -fomit-frame-pointer -msse -msse2 -mmmx -fPIC -Wall -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wmissing-noreturn -Wformat-security -O2 -O2 -march=pentium4 -fomit-frame-pointer -msse -msse2 -mmmx -fPIC -Wall -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wmissing-noreturn -Wformat-security -O2 -Wl,-O1 -Wl,-O1 -Wl,--export-dynamic -L./libdm -L./lib -L./daemons/dmeventd -Wl,-O1 -Wl,--export-dynamic -L../libdm -L../lib -L../daemons/dmeventd \
              -L../libdm \
                  -o dmsetup dmsetup.o \
                  -ldevmapper -lreadline -lrt -ldl -lncurses  -llvm-internal -ldevmapper-event -lpthread -ldevmapper
/usr/lib/gcc/i686-pc-linux-gnu/4.3.4/../../../../i686-pc-linux-gnu/bin/ld: cannot find -ldevmapper-event
collect2: ld returned 1 exit status
make[1]: *** [dmsetup] Error 1
make[1]: Leaving directory `/var/tmp/portage/sys-fs/lvm2-2.02.51-r1/work/LVM2.2.02.51/tools'
make: *** [tools.device-mapper] Error 2

Reproducible: Always

Steps to Reproduce:
1. emerge lvm2
Actual Results:  
emerge --info

Portage 2.1.6.13 (default/linux/x86/10.0, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.30-gentoo-r8 i686)
=================================================================
System uname: Linux-2.6.30-gentoo-r8-i686-Intel-R-_Pentium-R-_4_CPU_3.06GHz-with-gentoo-1.12.13
Timestamp of tree: Sun, 15 Nov 2009 02:05:01 +0000
ccache version 2.4 [disabled]
app-shells/bash:     4.0_p28
dev-java/java-config: 2.1.9-r1
dev-lang/python:     2.4.4-r6, 2.5.4-r3, 2.6.2-r1
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -msse -msse2 -mmmx"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /home/mythtv/"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -msse -msse2 -mmmx"
DISTDIR="/usr/portage/distfiles"
FEATURES="digest distlocks fixpackages prelink protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="en sk cz cs"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/games /usr/portage/local/layman/Spring /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="7zip X a52 aac acl acpi alsa apache2 berkdb bzip2 cairo cddb cgi cli cracklib crypt css ctype cups curl dbus device-mapper dmi dri dts dvb dvd dvdr dvdread emovix encode exif extraengine fame ffmpeg fftw fglrx flac foomaticdb fortran freebox gd gdbm gif glitz gpm hal httpd iconv id3 imagemagick ipv6 jpeg jpeg2k kdeenablefinal lame lirc live matroska mjpeg mmx modplug modules mp3 mp4live mpeg mpeg2 mplayer mudflap munin-squid musepack musicbrainz mysql na_icons ncurses network nls nptl nptlonly nuv ogg oog opengl openmp pam pcre perl php png posix pppd python qt3 qt4 quicktime radeon radeonhd readline reflection rtc rtsp samba sdl sensord session sieve slang sndfile soap spell spl sqlite sse sse2 ssl stream svg sysfs syslog tcpd theora threads tidy tiff transcode truetype unicode usb v4l v4l2 vcd vhosts vidix vlm vorbis win32codecs wmf wxwindows x264 x86 xine xinerama xml xmlrpc xorg xulrunner xv xvid zero-penalty-hit zeroconf zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" FOO2ZJS_DEVICES="hp1005" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en sk cz cs" USERLAND="GNU" VIDEO_CARDS="fglrx ati radeon radeonhd"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Arne Goedeke 2009-11-15 14:40:41 UTC
Its an old bug that has been fixed in 2.02.48 but somehow the fix did not find its way into 2.02.51. This should only happen if no other version of lvm2 is installed and when you are not upgrading. A possible fix is to install 2.02.48 first (you have to add it to /etc/portage.keywords first) and then to upgrade to 2.02.51. hope this helps
Comment 2 Raúl Porcel (RETIRED) gentoo-dev 2009-11-15 18:01:13 UTC
This is breaking autobuild's installcd building.
Comment 3 Aben Siatris 2009-11-15 18:49:07 UTC
emerging the old version of lvm2 and upgrading to current is working. fresh install nope.
i have upgraded my gentoo box from old udev, device-mapper and lvm2. udev blocks new device-mapper and lvm2, also the only solution was to remove device-mapper and lvm2 to reinstall it after udev upgrade.
Comment 4 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-11-16 01:15:44 UTC
You were asked to include build.log, I need the entire buildlog as well as the config.log.
Comment 5 Petre Rodan 2009-11-16 09:36:39 UTC
Created attachment 210378 [details]
build.log
Comment 6 Petre Rodan 2009-11-16 09:36:50 UTC
Created attachment 210379 [details]
config.log
Comment 7 Petre Rodan 2009-11-16 09:39:21 UTC
I also hit this during an upgrade

[blocks B     ] sys-fs/device-mapper ("sys-fs/device-mapper" is blocking sys-fs/lvm2-2.02.51-r1)

[..]
  ('installed', '/', 'sys-fs/device-mapper-1.02.24-r1', 'nomerge') pulled in by
    sys-fs/device-mapper required by world

  ('ebuild', '/', 'sys-fs/lvm2-2.02.51-r1', 'merge') pulled in by
    sys-fs/lvm2 required by world

unmerged device-mapper, tried to upgrade lvm2 and bam. see logs.
same happened on all 20 servers, why did this package got marked as stable?
Comment 8 damage 2009-11-16 10:17:31 UTC
Hi,
the problem is that the current LVM package is doing make in tools/ befor doing it in daemons/dmeventd/. Thus the libdevmapper-event library does not exist and compiling fails.

If you upgrade you are compiling your new version against the "old" library.

greez
damage
Comment 9 Petre Rodan 2009-11-16 11:55:16 UTC
> If you upgrade you are compiling your new version against the "old" library.

except when you upgrade this package on a stable-only system. 

the latest stable lvm2 package (lvm2-2.02.36) did not have the library, and portage asks for the removal of device-mapper, so you end up with no libdevice-mapper.so on the system during the merge of lvm2-2.02.51-r1.
Comment 10 Andre Corsetti 2009-11-16 17:44:36 UTC
There is a work around for the moment.
input =sys-fs/lvm2-2.02.48 in /etc/portage/packages.keywords
then
emerge =sys-fs/lvm2-2.02.48
then
emerge lvm2

I was doing a emerge --deep --update --newuse world from a very old instalation and was stuck with this bug, now i could continue the update.
Comment 11 damage 2009-11-16 18:15:43 UTC
(In reply to comment #9)
> > If you upgrade you are compiling your new version against the "old" library.
> 
> except when you upgrade this package on a stable-only system. 
> 
> the latest stable lvm2 package (lvm2-2.02.36) did not have the library, and
> portage asks for the removal of device-mapper, so you end up with no
> libdevice-mapper.so on the system during the merge of lvm2-2.02.51-r1.
> 

Oh, you are right. I did not see that all other versions are masked. I run into this problem on a stable machine after unmerge device-mapper (because of the blocking state). I explained what Aben Siatris said to myself with that "theory".
Comment 12 damage 2009-11-16 18:22:12 UTC
(In reply to comment #10)
> There is a work around for the moment.
> input =sys-fs/lvm2-2.02.48 in /etc/portage/packages.keywords
> then
> emerge =sys-fs/lvm2-2.02.48
> then
> emerge lvm2
> 
> I was doing a emerge --deep --update --newuse world from a very old instalation
> and was stuck with this bug, now i could continue the update.
> 

Oh, today is not my day. I forgot to post my workaround which is - I think - more practice especially on productive systems.

# ebuild /usr/portage/sys-fs/lvm2/lvm2-2.02.51-r1.ebuild fetch unpack compile
# # compile will fail here
# cd /var/tmp/portage/sys-fs/lvm2-2.02.51-r1/work/LVM2.2.02.51/daemons/dmeventd/
# make
# ebuild /usr/portage/sys-fs/lvm2/lvm2-2.02.51-r1.ebuild compile install qmerge

greez
damage
Comment 13 Petre Rodan 2009-11-16 20:24:57 UTC
this bug is triggered by lvm2-2.02.51-as-needed.patch
Comment 14 Sérgio Durigan Júnior 2009-11-17 17:13:15 UTC
FWIW, I am also facing the conflict when trying to upgrade:

[blocks B     ] <sys-fs/lvm2-2.02.45 ("<sys-fs/lvm2-2.02.45" is blocking sys-fs/udev-146-r1)
[blocks B     ] sys-fs/device-mapper ("sys-fs/device-mapper" is blocking sys-fs/udev-146-r1)
[blocks B     ] sys-fs/device-mapper ("sys-fs/device-mapper" is blocking sys-fs/lvm2-2.02.51-r1)

[...]

  ('ebuild', '/', 'sys-fs/udev-146-r1', 'merge') pulled in by
    sys-fs/udev required by ('installed', '/', 'net-wireless/bluez-4.39-r2', 'nomerge')
    >=sys-fs/udev-117 required by ('ebuild', '/', 'sys-apps/hal-0.5.13-r2', 'merge')
    >=sys-fs/udev-124 required by ('installed', '/', 'sys-fs/cryptsetup-1.0.6-r2', 'nomerge')
    (and 2 more)

  ('ebuild', '/', 'sys-fs/lvm2-2.02.51-r1', 'merge') pulled in by
    >=sys-fs/lvm2-2.02.45 required by ('installed', '/', 'sys-fs/cryptsetup-1.0.6-r2', 'nomerge')
    sys-fs/lvm2 required by world
Comment 15 damage 2009-11-18 08:20:57 UTC
Hi,
the problem is that the devicemapper library was moved into lvm2. That why there is the blocking. I think you have to unmerge device-mapper first (but this may result in a bad day if you get a powercycle ;-) ).

Because of the move into the lvm2 packet the lvm2 must compile the device-mapper library first. After that it has to link against it.

I think this bug is a problem of a wrong Makefile or automake (I don't know exactly I'm not confirm with that stuff).

So can anyone provide a patch which modifies the lvm2 packet to first compile device-mapper and than the tools?

greez
Damage
Comment 16 Petre Rodan 2009-11-18 09:16:34 UTC
(In reply to comment #15)
> So can anyone provide a patch which modifies the lvm2 packet to first compile
> device-mapper and than the tools?

the actual unpatched lvm packet compiles fine. however the lvm2-2.02.51-as-needed.patch which is used in the latest lvm2 ebuild triggers this bug.

removing that patch (and then the selinux one) allows lvm2-2.02.51-r1 to merge.




Comment 17 damage 2009-11-18 09:42:51 UTC
(In reply to comment #16)
> (In reply to comment #15)
> > So can anyone provide a patch which modifies the lvm2 packet to first compile
> > device-mapper and than the tools?
> 
> the actual unpatched lvm packet compiles fine. however the
> lvm2-2.02.51-as-needed.patch which is used in the latest lvm2 ebuild triggers
> this bug.
> 
> removing that patch (and then the selinux one) allows lvm2-2.02.51-r1 to merge.
> 

I'm confused. If you remove the patch you will get a problem (I thought ;-) )

1. device-mapper blocks the latest lvm2
2. if you remove the patch lvm2 will compile against the device-mapper library located in /usr/lib or /lib
3. BUT the library should not exist there because you have to unmerge device-mapper first?!

So you should not be able to install lvm2!?!??!

Could you explain in detail?

Comment 18 Stephan Hartmann (RETIRED) gentoo-dev 2009-11-19 08:22:56 UTC
Created attachment 210603 [details, diff]
lvm2-2.02.51-r1.ebuild.diff

I applied the attached patch to the ebuild. This makes lvm2 compile successfully.
Comment 19 Dror Levin (RETIRED) gentoo-dev 2009-11-19 19:36:00 UTC
*** Bug 293749 has been marked as a duplicate of this bug. ***
Comment 20 bezetek 2009-11-20 08:03:59 UTC
(In reply to comment #18)
> Created an attachment (id=210603) [details]
> lvm2-2.02.51-r1.ebuild.diff
> I applied the attached patch to the ebuild. This makes lvm2 compile
> successfully.

I patch this file to /var/tmp/portage/sys-fs/lvm2-2.02.51-r1/build-info/lvm2-2.02.51-r1.ebuild ,but it still the same error, why ?

step by: cd /var/tmp/portage/sys-fs/lvm2-2.02.51-r1/build-info
         patch lvm2-2.02.51-r1.ebuild lvm2-2.02.51-r1.ebuild.diff 

I am a newbie about this ,did it right ?
Comment 21 bezetek 2009-11-20 08:26:12 UTC
(In reply to comment #16)
> (In reply to comment #15)
> > So can anyone provide a patch which modifies the lvm2 packet to first compile
> > device-mapper and than the tools?
> the actual unpatched lvm packet compiles fine. however the
> lvm2-2.02.51-as-needed.patch which is used in the latest lvm2 ebuild triggers
> this bug.
> removing that patch (and then the selinux one) allows lvm2-2.02.51-r1 to merge.

How to remove that patch ? thx

Comment 22 Rafał Mużyło 2009-11-21 05:37:29 UTC
It looks like the problem is caused by the fix to bug 291217
- what works on selinux, breaks without it.

Unless it can only be triggered by a specific useflag combination
(cause 'static' may play a role too).
Comment 23 Kai Dietrich 2009-11-22 07:47:28 UTC
had the same problem, the patch from Stephen works for me, too
Comment 24 Rafał Mużyło 2009-11-23 17:26:45 UTC
*** Bug 294233 has been marked as a duplicate of this bug. ***
Comment 25 Rafał Mużyło 2009-11-23 17:27:12 UTC
*** Bug 294083 has been marked as a duplicate of this bug. ***
Comment 26 Lockes 2009-11-25 02:30:28 UTC
(In reply to comment #3)
> emerging the old version of lvm2 and upgrading to current is working. fresh
> install nope.
> i have upgraded my gentoo box from old udev, device-mapper and lvm2. udev
> blocks new device-mapper and lvm2, also the only solution was to remove
> device-mapper and lvm2 to reinstall it after udev upgrade.
> 

How you did this? I'm getting the same error while trying to install Xorg-server
Comment 27 BigBug 2009-11-26 11:04:35 UTC
Same for me.

Solution with 2.02.48 - worked. But it's not ok for new installations.

Solution with building dmeventd didn't worked, because to build it needs the lib from the tools directory ...
Comment 28 Frank Eichentopf 2009-11-28 11:37:19 UTC
The patch lvm2-2.02.51-r1.ebuild.diff works fine for my system where udev was updated to 1.46-r1 before
Comment 29 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-11-29 23:45:27 UTC
Please test lvm2-2.02.51-r3.
Comment 30 Kevin F. Quinn 2009-11-30 21:32:03 UTC
Any thought on https://bugs.gentoo.org/show_bug.cgi?id=294083#c2 ?
Comment 31 damage 2009-11-30 21:47:55 UTC
(In reply to comment #30)
> Any thought on https://bugs.gentoo.org/show_bug.cgi?id=294083#c2 ?
> 

It's clearly the same than this bug?! lvm2 should NOW build it's OWN devmapper-event library. This problem is that it doesn't.
Comment 32 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-12-01 00:06:20 UTC
(In reply to comment #31)
> (In reply to comment #30)
> > Any thought on https://bugs.gentoo.org/show_bug.cgi?id=294083#c2 ?
> It's clearly the same than this bug?! lvm2 should NOW build it's OWN
> devmapper-event library. This problem is that it doesn't.
Go and test .51-r3 AND .56-r1 before you continue to bitch.

Comment 33 damage 2009-12-01 13:05:32 UTC
(In reply to comment #32)
> (In reply to comment #31)
> > (In reply to comment #30)
> > > Any thought on https://bugs.gentoo.org/show_bug.cgi?id=294083#c2 ?
> > It's clearly the same than this bug?! lvm2 should NOW build it's OWN
> > devmapper-event library. This problem is that it doesn't.
> Go and test .51-r3 AND .56-r1 before you continue to bitch.
> 

2.02.51-r3 works on x86.

BTW: Thought twice before you bitch someone because of bitching ;-)
Comment 34 Richard Freeman gentoo-dev 2009-12-01 20:33:44 UTC
Note that this is broken in stable.  Once the maintainers indicate they're happy with the latest build I can stabilize on amd64 (or per the amd64 policy they're welcome to do so if they can test it).
Comment 35 Ulf Dambacher 2009-12-02 17:02:08 UTC
.56-r1 works for me on x86
Comment 36 Raúl Porcel (RETIRED) gentoo-dev 2009-12-05 14:37:31 UTC
I confirm that  livecd-stage1 with -r3 still fails.
Comment 37 Raúl Porcel (RETIRED) gentoo-dev 2009-12-05 15:47:45 UTC
56-r1 works fine
Comment 38 tanstaafl@libertytrek.org 2009-12-09 11:26:08 UTC
Ok, I just got hit by this, but I emerge --sync and emerge -pvuDN world every morning to see whats available, why am I only just seeing it this morning?

So what is the correct/SAFE way to fix this on a production server that has /home, /usr, and /var on lvm2 partitions?
Comment 39 tanstaafl@libertytrek.org 2009-12-09 11:26:38 UTC
Oh - I'm on amd64 arch...
Comment 40 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-01-10 10:07:26 UTC
armin76: if this still exists with -r3 for you, please reopen.