Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 285360 - sys-fs/lvm2-2.02.51-r1 fails to compile, if sys-fs/device-mapper is installed
Summary: sys-fs/lvm2-2.02.51-r1 fails to compile, if sys-fs/device-mapper is installed
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Robin Johnson
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-17 20:30 UTC by Thomas Sachau
Modified: 2009-11-04 08:15 UTC (History)
2 users (show)

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


Attachments
build.log (build.log,395.66 KB, text/plain)
2009-09-18 12:08 UTC, Thomas Sachau
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Sachau gentoo-dev 2009-09-17 20:30:24 UTC
It seems like lvm2 prefers system libs over its own code from build dir, which results in the above build error.

Step to reproduce:

have device-mapper installed and install lvm2 (portage does first install lvm2 before removing device-mapper during soft-blocker-resolution)

workaround: uninstall device-mapper before installing lvm2
Comment 1 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-09-17 22:26:29 UTC
tommy:
please include the actual compile error output?
(just attach your log if you have it).
Comment 2 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-09-18 02:06:38 UTC
I've updated the deps, but I still want the compile-fail logs
Comment 3 Thomas Sachau gentoo-dev 2009-09-18 12:08:15 UTC
Created attachment 204513 [details]
build.log

I created a showcase for the problem. Since i have a multilib-portage, i installed device-mapper only 64bit, but tried to install lvm2 for both 32bit and 64bit. So the 32bit phase should run fine while the 64bit phase should fail. And as you can see in the build log, this is exactly what happens.
Comment 4 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-11-04 08:15:40 UTC
tommy:
your CFLAGS are borked.

From the log you gave, your CFLAGS is set to:
-march=nocona -O2 -pipe -m32 -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib 

You're adding a library path yourself, and this is being used BEFORE the additional library paths -L../libdm, so the paths you specify are being used as a source.

Here's a snippet of your compile output
set -e; \
	FILE=`echo datastruct/bitset.d | sed 's/\\//\\\\\\//g;s/\\.d//g'`; \
	DEPS=`echo ../make.tmpl ../VERSION Makefile ../include/.symlinks_created | sed -e 's/\\//\\\\\\//g'`; \
	x86_64-pc-linux-gnu-gcc -MM -Iioctl -I. -I. -I../include -DDM_DEVICE_UID=0 -DDM_DEVICE_GID=0 -DDM_DEVICE_MODE=0600 -DHAVE_CONFIG_H -DDM_IOCTLS -march=nocona -O2 -pipe -m32 -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib -march=nocona -O2 -pipe -m32 -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib -fPIC -Wall -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wmissing-noreturn -Wformat-security -O2 datastruct/bitset.c | \
	sed "s/\(.*\)\.o[ :]*/$FILE.o $FILE.d $FILE.pot: $DEPS /g" > datastruct/bitset.d; \
	[ -s datastruct/bitset.d ] || rm -f datastruct/bitset.d


here's the same compile output on mine:
set -e; \
	FILE=`echo datastruct/bitset.d | sed 's/\\//\\\\\\//g;s/\\.d//g'`; \
	DEPS=`echo ../make.tmpl ../VERSION Makefile ../include/.symlinks_created | sed -e 's/\\//\\\\\\//g'`; \
	x86_64-pc-linux-gnu-gcc -MM -Iioctl -I. -I. -I../include -DDM_DEVICE_UID=0 -DDM_DEVICE_GID=0 -DDM_DEVICE_MODE=0600 -DHAVE_CONFIG_H -DDM_IOCTLS -march=nocona -O2 -pipe -g -march=nocona -O2 -pipe -g -fPIC -Wall -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wmissing-noreturn -Wformat-security -O2 datastruct/bitset.c | \
	sed "s/\(.*\)\.o[ :]*/$FILE.o $FILE.d $FILE.pot: $DEPS /g" > datastruct/bitset.d; \
	[ -s datastruct/bitset.d ] || rm -f datastruct/bitset.d


My CFLAGS are: -march=nocona -O2 -pipe -g