[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] make install not creating lib entries in /usr/lib under Ubunu 11.10



On Tue, 2011-10-18 at 23:36 +0100, AP wrote:
> I am building xen-unstable (23860:a422e2a4451e) on Ubuntu 11.10. I
> noticed that the "make install" does not create lib entries in
> /usr/lib/. I see them only in /usr/lib64/.

/usr/lib64 is a Red Hat-ism (or perhaps RPM-ism?). I thought that Xen's
build system was supposed to figure this out and Do The Right Thing but
it seems that it doesn't (I usually build 32 bit tools so I guess I just
don't notice).

The Debian Xen packaging uses the following patch. I suspect you want
most of it but not the e.g. bit which adds $(XEN_VERSION) to private
prefix (at least not without a raft of other Debian patches).

It might be nice if there was a single variable which could be set to
control this behaviour, or even better if it can be automatically
detected. I'm also inclined to suggest that the default should be to
use /usr/lib and leave the lib64 thing as a RH special case, but then
I'm a Debian user so I would think that ;-)

> PS: I did not see this problem on 10.10 or 11.04.

Did they perhaps have a /usr/lib64->lib compatibility symlink which has
gone away (perhaps due to multiarch landing?). Debian Squeeze seems to
have such a symlink (from libc6) while Debian Sid does not, I bet Ubuntu
has followed a similar path.

Ian.

That patch:


--- a/config/StdGNU.mk
+++ b/config/StdGNU.mk
@@ -26,22 +26,19 @@
 PREFIX ?= /usr
 BINDIR = $(PREFIX)/bin
 INCLUDEDIR = $(PREFIX)/include
-LIBLEAFDIR = lib
-LIBLEAFDIR_x86_32 = lib
-LIBLEAFDIR_x86_64 = lib64
-LIBDIR = $(PREFIX)/$(LIBLEAFDIR)
-LIBDIR_x86_32 = $(PREFIX)/$(LIBLEAFDIR_x86_32)
-LIBDIR_x86_64 = $(PREFIX)/$(LIBLEAFDIR_x86_64)
-LIBEXEC = $(LIBDIR_x86_32)/xen/bin
+LIBDIR = $(PREFIX)/lib
 SHAREDIR = $(PREFIX)/share
 MANDIR = $(SHAREDIR)/man
 MAN1DIR = $(MANDIR)/man1
 MAN8DIR = $(MANDIR)/man8
 SBINDIR = $(PREFIX)/sbin
-XENFIRMWAREDIR = $(LIBDIR_x86_32)/xen/boot
 
-PRIVATE_PREFIX = $(LIBDIR)/xen
+PRIVATE_PREFIX = $(LIBDIR)/xen-$(XEN_VERSION)
 PRIVATE_BINDIR = $(PRIVATE_PREFIX)/bin
+PRIVATE_LIBDIR = $(PRIVATE_PREFIX)/lib
+
+XENFIRMWAREDIR = $(PRIVATE_PREFIX)/boot
+LIBEXEC = $(PRIVATE_LIBDIR)
 
 ifeq ($(PREFIX),/usr)
 CONFIG_DIR = /etc
--- a/config/x86_64.mk
+++ b/config/x86_64.mk
@@ -10,11 +10,6 @@
 
 CFLAGS += -m64
 
-LIBLEAFDIR = $(LIBLEAFDIR_x86_64)
-LIBDIR = $(LIBDIR_x86_64)
-
-SunOS_LIBDIR = $(SunOS_LIBDIR_x86_64)
-
 # Use only if calling $(LD) directly.
 ifeq ($(XEN_OS),OpenBSD)
 LDFLAGS_DIRECT += -melf_x86_64_obsd
--- a/Config.mk
+++ b/Config.mk
@@ -32,14 +32,14 @@
 
 ifneq ($(EXTRA_PREFIX),)
 EXTRA_INCLUDES += $(EXTRA_PREFIX)/include
-EXTRA_LIB += $(EXTRA_PREFIX)/$(LIBLEAFDIR)
+EXTRA_LIB += $(EXTRA_LIBDIR)
 endif
 
 BISON  ?= bison
 FLEX   ?= flex
 
 PYTHON      ?= python
-PYTHON_PREFIX_ARG ?= --prefix="$(PREFIX)"
+PYTHON_PREFIX_ARG ?= --home="$(PRIVATE_PREFIX)"
 # The above requires that PREFIX contains *no spaces*. This variable is
here
 # to permit the user to set PYTHON_PREFIX_ARG to '' to workaround this
bug:
 #  https://bugs.launchpad.net/ubuntu/+bug/362570



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.