I just upgraded to the new device-mapper and compiling lvm2-2.01.14 fails with this: i686-pc-linux-gnu-gcc -o lvm.static dumpconfig.o formats.o lvchange.o lvconvert.o lvcreate.o lvdisplay.o lvextend.o lvmchange.o lvmcmdline.o lvmdiskscan.o lvreduce.o lvremove.o lvrename.o lvresize.o lvscan.o polldaemon.o pvchange.o pvcreate.o pvdisplay.o pvmove.o pvremove.o pvscan.o reporter.o segtypes.o toollib.o vgcfgbackup.o vgcfgrestore.o vgchange.o vgck.o vgcreate.o vgconvert.o vgdisplay.o vgexport.o vgextend.o vgimport.o vgmerge.o vgmknodes.o vgreduce.o vgremove.o vgrename.o vgscan.o vgsplit.o lvm-static.o -static -Wl,--export-dynamic -L../lib -L/usr/lib -llvm -ldevmapper \ -lreadline -ldl -lncurses -rdynamic /usr/lib/libdevmapper.a(pool.o): In function `_align_chunk': multiple definition of `_align_chunk' ../lib/liblvm.a(pool.o):pool.c:(.text+0xff): first defined here /usr/lib/libdevmapper.a(pool.o): In function `_new_chunk': multiple definition of `_new_chunk' ../lib/liblvm.a(pool.o):pool.c:(.text+0x117): first defined here /usr/lib/gcc/i686-pc-linux-gnu/4.0.2/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `_new_chunk' changed from 161 in ../lib/liblvm.a(pool.o) to 164 in /usr/lib/libdevmapper.a(pool.o) ../lib/liblvm.a(sharedlib.o): In function `load_shared_library':sharedlib.c:(.text+0xf4): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/libreadline.a(complete.o): In function `rl_username_completion_function':complete.c:(.text+0x816): warning: Using 'getpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/libreadline.a(tilde.o): In function `tilde_expand_word':tilde.c:(.text+0x1db): warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/libreadline.a(shell.o): In function `sh_get_home_dir':shell.c:(.text+0x132): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/libreadline.a(complete.o): In function `rl_username_completion_function':complete.c:(.text+0x920): warning: Using 'setpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking :complete.c:(.text+0x939): warning: Using 'endpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking Portage 2.1_pre3-r1 (default-linux/x86/2005.1, gcc-4.0.2, glibc-2.3.6-r2, 2.6.15-ck2 i686) ================================================================= System uname: 2.6.15-ck2 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz Gentoo Base System version 1.12.0_pre15 dev-lang/python: 2.4.2 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.91.0.5 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -mfpmath=sse -fomit-frame-pointer -ftracer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control /var/www/localhost/htdocs" CONFIG_PROTECT_MASK="/etc/gconf /etc/init.d /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium4 -mfpmath=sse -fomit-frame-pointer -ftracer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks noinfo sandbox sfperms" GENTOO_MIRRORS="http://mirror.espri.arizona.edu/gentoo/" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X alsa apache2 audiofile bzip2 cairo cups curl dga exif expat firefox gd gif glut gtk gtk2 java jpeg junit lirc mmx mysql ncurses nptl nsplugin opengl pcre perl php png python readline sse sse2 ssl truetype udev usb win32codecs xinerama xml2 xv xvid zlib elibc_glibc kernel_linux userland_GNU" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
I am seeing the same problem.
Same happens here. I stumbled over that after switching from gcc-3.3 to 3.4 and re-merging world.
Created attachment 78589 [details, diff] lvm2-2.01.14-static.patch This patch fixes it for me, by removing the symbols from being exported. Actually, also device-mapper should apply a similar check to avoid exporting them, either.
The bump in bug #120265 also fixes it.
lvm2 2.02.01 and device-mapper-1.02.02 work here too.
InCVS. Patch applied to older ebuild. DEPENDS updated on older build and bumped to -r1. New ebuild created for new lvm2 package.
There are several bugs that seem to correspond to the problem I and others are having, but I will post here. It seems device-mapper-1.02.03 is incompatible with lvm2-2.02.01. Not sure of older versions of lvm2. Details are found in this thread: http://forums.gentoo.org/viewtopic-t-441060-highlight-.html device-mapper-1.02.02 works for me. Unsure what in 1.02.03 is different.
*** Bug 125505 has been marked as a duplicate of this bug. ***
This same problem occurs on lvm2-2.01.09 lvm2-2.01.14.patch applies cleanly on lvm2-2.01.09, and should apply on any version between lvm2-beta1 and lvm2-2.01.15 (In reply to comment #3) > Actually, also device-mapper should apply a similar check to avoid exporting > them, either. True. This bug is due to not making private functions static. lvm2-2.01.* does not work with device-mapper-1.02.* without patching because several components including lib/mm/pool.c were moved from lvm2 into device-mapper. See http://sources.redhat.com/cgi-bin/cvsweb.cgi/device-mapper/lib/mm/pool-fast.c?cvsroot=dm and http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/lib/mm/Attic/pool-fast.c?cvsroot=lvm2
*** Bug 125897 has been marked as a duplicate of this bug. ***
*** Bug 126424 has been marked as a duplicate of this bug. ***
The problem here is that if you install a fresh 2006.0 system without ~x86, then device-mapper 1.02.02 and lvm2-2.01.09 will try to install, and they aren't compatible with each other, as the commenters above pointed out. I'd suggest the new device-mapper go into ~x86 or the new lvm come out...one or the other, otherwise new installs using LVM (like mine) are going to break horribly.
Could this bug be fixed. Or are there reasons that a revbump is not an option?
additionally device-mapper-1.02.03 is incompatible with lvm2-2.02.01. These are the latest versions in portage. Build fails with mirror/mirrored.c: In function `_add_log': mirror/mirrored.c:241: error: too few arguments to function `dm_tree_node_add_mirror_target_log' make[1]: *** [mirror/mirrored.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory `/var/tmp/portage/lvm2-2.02.01/work/LVM2.2.02.01/lib'make: *** [lib] Error 2 This is while trying to add ~ia64 keywords
(In reply to comment #14) > additionally device-mapper-1.02.03 is incompatible with lvm2-2.02.01. These > are the latest versions in portage. Build fails with Actually this is the issue from bug 126484, different from the issue reported in this bug.
*** Bug 127509 has been marked as a duplicate of this bug. ***
(In reply to comment #14) Additionally, for PPC, device-mapper-1.02.02 is incompatible with newly available lvm2-2.02.02. I currently have the afore mentioned device-mapper running happily with lvm2-2.02.01 (thanks to adding lvm2 to package.keywords). Interestingly, the error message I get is almost identical to that in comment #14, except the problem is too _many_ arguments to function!! mirror/mirrored.c: In function `_add_log': mirror/mirrored.c:249: error: `DM_BLOCK_ON_ERROR' undeclared (first use in this function) mirror/mirrored.c:249: error: (Each undeclared identifier is reported only once mirror/mirrored.c:249: error: for each function it appears in.) mirror/mirrored.c:251: error: too many arguments to function `dm_tree_node_add_mirror_target_log' activate/dev_manager.c: In function `_tree_action': activate/dev_manager.c:981: warning: implicit declaration of function `dm_tree_skip_lockfs' activate/dev_manager.c:981: warning: nested extern declaration of `dm_tree_skip_lockfs' make[1]: *** [mirror/mirrored.o] Error 1
(In reply to comment #6) > InCVS. Patch applied to older ebuild. DEPENDS updated on older build and > bumped to -r1. New ebuild created for new lvm2 package. > So lvm2-2.01.14-r1 works for me too. But I'm running now with this lvm2 version and device-mapper 1.02.02 with my root ("/") partition on lvm without problems. Resizing "/" during install was possible too (from 2G to 3G). I don't think it is required to force a dependenciy on device-mapper 1.01* (DEPEND="=sys-fs/device-mapper-1.01*")
Me too. Using standard options, I get the error shown in the OP. Using ~x86, I get the error shown in comment #17. I'm a bit of a gentoo-newb, could someone please explain how I can workaround this problem? It's preventing me from booting into my new system, so I'm starting to get pretty desperate for a solution. Cheers
(In reply to comment #19) Disregard previous comment, I got device-mapper-1.02.02 and lvm2-2.02.01 to cooperate.
(In reply to comment #13) > Could this bug be fixed. Or are there reasons that a revbump is not an option? > could a maintainer please respond to this? why not add <arch>@gentoo.org to the cc-list and request to mark the correct version stable. i can't believe that all lvm2 users can't emerge lvm2 without changing package.keywords since january. lvm2 is a critical component that is installed on a lot of servers and workstations. i don't want to offend anyone but enterprise gentoo will never be a reality if bugs for important packages like this stay open for so long while the solution is very easy. just request the <arch> teams to change the keyword. sys-fs/device-mapper-1.02.03 and sys-fs/lvm2-2.02.02 is a working combination.
just another note, shouldn't this bug be assigned to the herd base-system instead of a single developer? maybe someone from the herd can set the correct keywords.
*** Bug 129983 has been marked as a duplicate of this bug. ***
hey guys sorry to push this but this is causing problems outside of base as well. Arch teams, please could you test and mark stable sys-fs/lvm2-2.02.02 where possible. Its to tie in with stable device-mapper. Also, we could do with lvm2-2.02.03 in testing to also match dm if possible. If anyone of you guys want me to help out with this please shout.
why dont you talk to to Eric, it isnt like it's hard to get a hold of him
working to stabilize 2.02.03 which is stable upstream. The ebuild has been reworked to not require the clustered lvm bits by default. This should speed stabilization of this ebuild.
is this static patch necessary on the new 2.02.03 or 2.02.04 lvm2?
Closing this bug as there is a newer lvm2 ebuild in the tree 2.02.04-r1. We are working on stabilizing it at the moment. Please open a new bug if that version is having issues for you.
*** Bug 131223 has been marked as a duplicate of this bug. ***
*** Bug 131576 has been marked as a duplicate of this bug. ***
*** Bug 132748 has been marked as a duplicate of this bug. ***
*** Bug 133029 has been marked as a duplicate of this bug. ***
*** Bug 136139 has been marked as a duplicate of this bug. ***
Stabilisation querry in bug #136172 ... since compatibility between lvm2 and device-mapper is now *solved*, stabilisation is a seperate topic IMHO.
*** Bug 146519 has been marked as a duplicate of this bug. ***