AP
2011-Oct-18 22:36 UTC
[Xen-devel] make install not creating lib entries in /usr/lib under Ubunu 11.10
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/. This is causing program like xenpaging to not find the xenctrl library (error while loading shared libraries: libxenctrl.so.4.2: cannot open shared object file: No such file or directory) Is this expected behavior or am I running in to something funny in the Ubuntu 11.10 environment that is causing the "make install" script not to create these entries? What is the fix / workaround for this? PS: I did not see this problem on 10.10 or 11.04. Thanks, AP _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
AP
2011-Oct-19 01:13 UTC
[Xen-devel] Re: make install not creating lib entries in /usr/lib under Ubunu 11.10
On Tue, Oct 18, 2011 at 3:36 PM, AP <apxeng@gmail.com> 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/. This is causing program > like xenpaging to not find the xenctrl library (error while loading > shared libraries: libxenctrl.so.4.2: cannot open shared object file: > No such file or directory) Is this expected behavior or am I running > in to something funny in the Ubuntu 11.10 environment that is causing > the "make install" script not to create these entries? What is the fix > / workaround for this?I added /usr/lib64 to /etc/ld.so.conf and ran ldconfig. That fixed the issue.> PS: I did not see this problem on 10.10 or 11.04.However I am still curious as to why the "make install" output is different on 11.10 vs 10.10/11.04> Thanks, > AP >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2011-Oct-19 08:43 UTC
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@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Jackson
2011-Oct-19 15:53 UTC
Re: [Xen-devel] make install not creating lib entries in /usr/lib under Ubunu 11.10
Ian Campbell writes ("Re: [Xen-devel] make install not creating lib entries in /> 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 ;-)At the very least we ought not to dump things in /usr/lib64 unless it already exists and is distinct from /usr/lib. We should think about multiarch too at some point. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
AP
2011-Oct-21 03:52 UTC
Re: [Xen-devel] make install not creating lib entries in /usr/lib under Ubunu 11.10
On Wed, Oct 19, 2011 at 8:53 AM, Ian Jackson <Ian.Jackson@eu.citrix.com> wrote:> Ian Campbell writes ("Re: [Xen-devel] make install not creating lib entries in /> 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 ;-) > > At the very least we ought not to dump things in /usr/lib64 unless it > already exists and is distinct from /usr/lib.I deleted my /usr/lib64 and did a "make install-tools PYTHON_PREFIX_ARG=". At the end a /usr/lib64 directory was created with Xen related libraries inside.> We should think about multiarch too at some point. > > Ian. >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Olaf Hering
2011-Oct-21 08:44 UTC
Re: [Xen-devel] make install not creating lib entries in /usr/lib under Ubunu 11.10
On Thu, Oct 20, AP wrote:> I deleted my /usr/lib64 and did a "make install-tools > PYTHON_PREFIX_ARG=". At the end a /usr/lib64 directory was created > with Xen related libraries inside.Thats the correct place for 64bit libraries. If your distro likes to put these files in a non-standard place, set LIBLEAFDIR_x86_64 to lib in your own build environment. Olaf _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
AP
2011-Oct-21 16:45 UTC
Re: [Xen-devel] make install not creating lib entries in /usr/lib under Ubunu 11.10
On Oct 21, 2011 1:44 AM, "Olaf Hering" <olaf@aepfle.de> wrote:> > On Thu, Oct 20, AP wrote: > > > I deleted my /usr/lib64 and did a "make install-tools > > PYTHON_PREFIX_ARG=". At the end a /usr/lib64 directory was created > > with Xen related libraries inside. > > Thats the correct place for 64bit libraries. If your distro likes to put > these files in a non-standard place, set LIBLEAFDIR_x86_64 to lib in > your own build environment.Looks like that its what Ubuntu is doing. All 64-bit libraries are in /use/lib on Ubuntu 11.10. It is the Xen "make install-tools" that is creating the lib64 on the system though this did not happen on 10.10 / 11.04. Everything ended up in usr/lib.> Olaf_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2011-Oct-22 12:47 UTC
Re: [Xen-devel] make install not creating lib entries in /usr/lib under Ubunu 11.10
On Fri, 2011-10-21 at 04:52 +0100, AP wrote:> On Wed, Oct 19, 2011 at 8:53 AM, Ian Jackson <Ian.Jackson@eu.citrix.com> wrote: > > Ian Campbell writes ("Re: [Xen-devel] make install not creating lib entries in /> 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 ;-) > > > > At the very least we ought not to dump things in /usr/lib64 unless it > > already exists and is distinct from /usr/lib. > > I deleted my /usr/lib64 and did a "make install-tools > PYTHON_PREFIX_ARG=". At the end a /usr/lib64 directory was created > with Xen related libraries inside.I think you need to reread my earlier reply -- I explained what is going on and provided an example of the sort of patch which fixes it. There is no reason to expect that deleting /usr/lib64 will change anything. Ian.> > > We should think about multiarch too at some point. > > > > Ian. > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
AP
2011-Oct-24 05:52 UTC
Re: [Xen-devel] make install not creating lib entries in /usr/lib under Ubunu 11.10
On Sat, Oct 22, 2011 at 5:47 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:> On Fri, 2011-10-21 at 04:52 +0100, AP wrote: >> On Wed, Oct 19, 2011 at 8:53 AM, Ian Jackson <Ian.Jackson@eu.citrix.com> wrote: >> > Ian Campbell writes ("Re: [Xen-devel] make install not creating lib entries in /> 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 ;-) >> > >> > At the very least we ought not to dump things in /usr/lib64 unless it >> > already exists and is distinct from /usr/lib. >> >> I deleted my /usr/lib64 and did a "make install-tools >> PYTHON_PREFIX_ARG=". At the end a /usr/lib64 directory was created >> with Xen related libraries inside. > > I think you need to reread my earlier reply -- I explained what is going > on and provided an example of the sort of patch which fixes it. There is > no reason to expect that deleting /usr/lib64 will change anything.Sorry, I misunderstood Ian Jackson''s comment. It made me think deleting /usr/lib64 might change something :) I now understand the point he was trying to make and your fix. Thanks for the help.> Ian. > >> >> > We should think about multiarch too at some point. >> > >> > Ian. >> > > > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Jeffrey Karrels
2012-Feb-27 23:19 UTC
Re: make install not creating lib entries in /usr/lib under Ubunu 11.10
System: Centos 6.1, xen-unstable (4.2), x86_64 Hello all, I was just wondering what the "correct" way is to go about this. I have a x86_64 centos system that has all of the libs going to /usr/lib and not /usr/lib64. It sounds like we want to keep everything in /usr/lib on purpose. Is that correct? Jeff On Sun, Oct 23, 2011 at 10:52 PM, AP <apxeng@gmail.com> wrote:> On Sat, Oct 22, 2011 at 5:47 AM, Ian Campbell <Ian.Campbell@citrix.com> > wrote: > > On Fri, 2011-10-21 at 04:52 +0100, AP wrote: > >> On Wed, Oct 19, 2011 at 8:53 AM, Ian Jackson <Ian.Jackson@eu.citrix.com> > wrote: > >> > Ian Campbell writes ("Re: [Xen-devel] make install not creating lib > entries in /> 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 ;-) > >> > > >> > At the very least we ought not to dump things in /usr/lib64 unless it > >> > already exists and is distinct from /usr/lib. > >> > >> I deleted my /usr/lib64 and did a "make install-tools > >> PYTHON_PREFIX_ARG=". At the end a /usr/lib64 directory was created > >> with Xen related libraries inside. > > > > I think you need to reread my earlier reply -- I explained what is going > > on and provided an example of the sort of patch which fixes it. There is > > no reason to expect that deleting /usr/lib64 will change anything. > > Sorry, I misunderstood Ian Jackson''s comment. It made me think > deleting /usr/lib64 might change something :) I now understand the > point he was trying to make and your fix. Thanks for the help. > > > Ian. > > > >> > >> > We should think about multiarch too at some point. > >> > > >> > Ian. > >> > > > > > > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Jeffrey Karrels
2012-Feb-27 23:46 UTC
Re: make install not creating lib entries in /usr/lib under Ubunu 11.10
In re-reading my last message by itself (without reading the referenced thread) it sounds rather confusing. What I meant to say was that upon running a ''make install'' or ''make dist'' on my Centos x86_64 machine, I find that all of the libraries (except python2.6) find their way into the /usr/lib directory rather than the /usr/lib64 directory. Is this the intended outcome? On Mon, Feb 27, 2012 at 3:19 PM, Jeffrey Karrels <karrelsj@gmail.com> wrote:> System: Centos 6.1, xen-unstable (4.2), x86_64 > > Hello all, > > I was just wondering what the "correct" way is to go about this. I have a > x86_64 centos system that has all of the libs going to /usr/lib and not > /usr/lib64. It sounds like we want to keep everything in /usr/lib on > purpose. Is that correct? > > Jeff > > > On Sun, Oct 23, 2011 at 10:52 PM, AP <apxeng@gmail.com> wrote: > >> On Sat, Oct 22, 2011 at 5:47 AM, Ian Campbell <Ian.Campbell@citrix.com> >> wrote: >> > On Fri, 2011-10-21 at 04:52 +0100, AP wrote: >> >> On Wed, Oct 19, 2011 at 8:53 AM, Ian Jackson < >> Ian.Jackson@eu.citrix.com> wrote: >> >> > Ian Campbell writes ("Re: [Xen-devel] make install not creating lib >> entries in /> 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 ;-) >> >> > >> >> > At the very least we ought not to dump things in /usr/lib64 unless it >> >> > already exists and is distinct from /usr/lib. >> >> >> >> I deleted my /usr/lib64 and did a "make install-tools >> >> PYTHON_PREFIX_ARG=". At the end a /usr/lib64 directory was created >> >> with Xen related libraries inside. >> > >> > I think you need to reread my earlier reply -- I explained what is going >> > on and provided an example of the sort of patch which fixes it. There is >> > no reason to expect that deleting /usr/lib64 will change anything. >> >> Sorry, I misunderstood Ian Jackson''s comment. It made me think >> deleting /usr/lib64 might change something :) I now understand the >> point he was trying to make and your fix. Thanks for the help. >> >> > Ian. >> > >> >> >> >> > We should think about multiarch too at some point. >> >> > >> >> > Ian. >> >> > >> > >> > >> > >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel >> > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Ian Campbell
2012-Feb-28 10:00 UTC
Re: make install not creating lib entries in /usr/lib under Ubunu 11.10
Please do not top post, it destroys the flow of the conversation. On Mon, 2012-02-27 at 23:19 +0000, Jeffrey Karrels wrote:> I was just wondering what the "correct" way is to go about this. I > have a x86_64 centos system that has all of the libs going to /usr/lib > and not /usr/lib64. It sounds like we want to keep everything > in /usr/lib on purpose. Is that correct/usr/lib vs /usr/lib64 is a distro decision which Xen has to fit in with, not a decision which we get to make. The variables under config/ are the mechanism which we provide in order to allow you as a user to make Xen fit in with your distro''s policy. Have you modified these at all? Debian and Ubuntu policy is to always use /usr/lib or /usr/lib/<gnu-triple> (with the latter being the multiarch thing). AIUI CentOS and RHEL (perhaps/probably SuSE too) always use /usr/lib for 32 bit stuff and /usr/lib64 for 64 bit stuff, regardless of whether the installation is primarily 32 bit or 64 bit. I don''t use CentOS or RHEL so I may be mistaken here (but I don''t think I am) config/StdGNU.mk implements (or is supposed to implement) the CentOS/RHEL policy by default, hence the discussion below about modifying the variables for Ubuntu. Have you changed anything here or are you saying that a pristine Xen tree when built on CentOS installs 64 bit libraries to /usr/lib instead of /usr/lib64? If so please can you be precise about what tree you are running (e.g. the exact URL you cloned and which changeset you got) and steps you took to install (e.g. what patches did you apply, what commands did you type) and what exactly you saw (e.g. what was in /usr/lib and what was in /usr/lib64). Ian.
Jeffrey Karrels
2012-Feb-28 17:51 UTC
Re: make install not creating lib entries in /usr/lib under Ubunu 11.10
> Please do not top post, it destroys the flow of the conversation.ok, sorry.> /usr/lib vs /usr/lib64 is a distro decision which Xen has to fit in > with, not a decision which we get to make.I understand that, but from this thread I was not sure what the intentions were for the xen architecture on supporting multiple distrbutions. i.e. I was going to put a patch in place, but was not sure if I was stepping on peoples feet.> Have you changed anything here or are you saying that a pristine Xen > tree when built on CentOS installs 64 bit libraries to /usr/lib instead > of /usr/lib64? If so please can you be precise about what tree you are > running (e.g. the exact URL you cloned and which changeset you got) and > steps you took to install (e.g. what patches did you apply, what > commands did you type) and what exactly you saw (e.g. what was > in /usr/lib and what was in /usr/lib64)#uname -a Linux xenbuild2.cyberlab 2.6.32-220.4.1.el6.x86_64 #1 SMP Tue Jan 24 02:13:44 GMT 2012 x86_64 x86_64 x86_64 GNU/Linux #hg clone -r 24869 http://xenbits.xen.org/hg/xen-unstable.hg #cd xen-unstable #./configure --enable-xsm --libdir=/usr/lib64 #make dist #ls dist/install/usr/lib64 python2.6 #ls dist/install/usr/lib fs libvhd.so.1.0.0 libxenstat.so.0 libblktap.a libxenctrl.a libxenstat.so.0.0 libblktapctl.a libxenctrl.so libxenstore.a libblktapctl.so libxenctrl.so.4.2 libxenstore.so libblktapctl.so.1.0 libxenctrl.so.4.2.0 libxenstore.so.3.0 libblktapctl.so.1.0.0 libxenguest.a libxenstore.so.3.0.1 libblktap.so libxenguest.so libxenvchan.a libblktap.so.3.0 libxenguest.so.4.2 libxenvchan.so libblktap.so.3.0.0 libxenguest.so.4.2.0 libxenvchan.so.1.0 libfsimage.so libxenlight.a libxenvchan.so.1.0.0 libfsimage.so.1.0 libxenlight.so libxlutil.a libfsimage.so.1.0.0 libxenlight.so.2.0 libxlutil.so libvhd.a libxenlight.so.2.0.0 libxlutil.so.1.0 libvhd.so libxenstat.a libxlutil.so.1.0.0 libvhd.so.1.0 libxenstat.so xen
Ian Campbell
2012-Feb-28 19:57 UTC
Re: make install not creating lib entries in /usr/lib under Ubunu 11.10
On Tue, 2012-02-28 at 17:51 +0000, Jeffrey Karrels wrote:> > Have you changed anything here or are you saying that a pristine Xen > > tree when built on CentOS installs 64 bit libraries to /usr/lib instead > > of /usr/lib64? If so please can you be precise about what tree you are > > running (e.g. the exact URL you cloned and which changeset you got) and > > steps you took to install (e.g. what patches did you apply, what > > commands did you type) and what exactly you saw (e.g. what was > > in /usr/lib and what was in /usr/lib64) > > #uname -a > Linux xenbuild2.cyberlab 2.6.32-220.4.1.el6.x86_64 #1 SMP Tue Jan 24 > 02:13:44 GMT 2012 x86_64 x86_64 x86_64 GNU/Linux > > #hg clone -r 24869 http://xenbits.xen.org/hg/xen-unstable.hg > #cd xen-unstable > #./configure --enable-xsm --libdir=/usr/lib64OK, so you are using something new enough to have the autoconf stuff -- I think this is simply a bug in that. I''ve CC''d Roger. Ideally configure would auto-detect the right thing for the given system and so --libdir would not be required. This would certainly be n improvement over the pre-autoconf thing.> #make dist > #ls dist/install/usr/lib64 > python2.6 > #ls dist/install/usr/lib > fs libvhd.so.1.0.0 libxenstat.so.0 > libblktap.a libxenctrl.a libxenstat.so.0.0 > libblktapctl.a libxenctrl.so libxenstore.a > libblktapctl.so libxenctrl.so.4.2 libxenstore.so > libblktapctl.so.1.0 libxenctrl.so.4.2.0 libxenstore.so.3.0 > libblktapctl.so.1.0.0 libxenguest.a libxenstore.so.3.0.1 > libblktap.so libxenguest.so libxenvchan.a > libblktap.so.3.0 libxenguest.so.4.2 libxenvchan.so > libblktap.so.3.0.0 libxenguest.so.4.2.0 libxenvchan.so.1.0 > libfsimage.so libxenlight.a libxenvchan.so.1.0.0 > libfsimage.so.1.0 libxenlight.so libxlutil.a > libfsimage.so.1.0.0 libxenlight.so.2.0 libxlutil.so > libvhd.a libxenlight.so.2.0.0 libxlutil.so.1.0 > libvhd.so libxenstat.a libxlutil.so.1.0.0 > libvhd.so.1.0 libxenstat.so xen
Roger Pau Monné
2012-Feb-29 10:18 UTC
Re: make install not creating lib entries in /usr/lib under Ubunu 11.10
2012/2/28 Ian Campbell <Ian.Campbell@citrix.com>:> On Tue, 2012-02-28 at 17:51 +0000, Jeffrey Karrels wrote: > >> > Have you changed anything here or are you saying that a pristine Xen >> > tree when built on CentOS installs 64 bit libraries to /usr/lib instead >> > of /usr/lib64? If so please can you be precise about what tree you are >> > running (e.g. the exact URL you cloned and which changeset you got) and >> > steps you took to install (e.g. what patches did you apply, what >> > commands did you type) and what exactly you saw (e.g. what was >> > in /usr/lib and what was in /usr/lib64) >> >> #uname -a >> Linux xenbuild2.cyberlab 2.6.32-220.4.1.el6.x86_64 #1 SMP Tue Jan 24 >> 02:13:44 GMT 2012 x86_64 x86_64 x86_64 GNU/Linux >> >> #hg clone -r 24869 http://xenbits.xen.org/hg/xen-unstable.hg >> #cd xen-unstable >> #./configure --enable-xsm --libdir=/usr/lib64 > > OK, so you are using something new enough to have the autoconf stuff -- > I think this is simply a bug in that. I''ve CC''d Roger. > > Ideally configure would auto-detect the right thing for the given system > and so --libdir would not be required. This would certainly be n > improvement over the pre-autoconf thing.configure was not properly parsing the libdir path and always set it to "lib", this is a fix: 8<-------------------------------------------- autoconf: fix libdir detection If user specifies a libdir it is used, if no libdir is specified configure checks if $prefix/lib64 is a directory and uses that, if not lib is used. Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu> diff -r 4758a7a94c15 tools/configure --- a/tools/configure Wed Feb 22 04:46:07 2012 +0100 +++ b/tools/configure Wed Feb 22 06:31:53 2012 +0100 @@ -3845,7 +3845,6 @@ case $host_os in *\ *) host_os=`echo "$h - # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # serial 1 (pkg-config-0.24) # @@ -6551,13 +6550,23 @@ else fi # Check library path -if test -d "$prefix/lib64"; then : - - LIB_PATH="lib64" - -else - - LIB_PATH="lib" +if test "\${exec_prefix}/lib" = "$libdir"; then : + if test "$prefix" = "NONE"; then : + prefix=$ac_default_prefix +fi + if test -d "${prefix}/lib64"; then : + + LIB_PATH="lib64" + +else + + LIB_PATH="lib" + +fi + +else + + LIB_PATH="${libdir:`expr length "$exec_prefix" + 1`}" fi diff -r 4758a7a94c15 tools/m4/default_lib.m4 --- a/tools/m4/default_lib.m4 Wed Feb 22 04:46:07 2012 +0100 +++ b/tools/m4/default_lib.m4 Wed Feb 22 06:31:53 2012 +0100 @@ -1,8 +1,12 @@ AC_DEFUN([AX_DEFAULT_LIB], -[AS_IF([test -d "$prefix/lib64"], [ - LIB_PATH="lib64" -],[ - LIB_PATH="lib" +[AS_IF([test "\${exec_prefix}/lib" = "$libdir"], + [AS_IF([test "$prefix" = "NONE"], [prefix=$ac_default_prefix]) + AS_IF([test -d "${prefix}/lib64"], [ + LIB_PATH="lib64" + ],[ + LIB_PATH="lib" + ]) +], [ + LIB_PATH="${libdir:`expr length "$exec_prefix" + 1`}" ]) AC_SUBST(LIB_PATH)]) -
Ian Campbell
2012-Feb-29 10:57 UTC
Re: make install not creating lib entries in /usr/lib under Ubunu 11.10
On Wed, 2012-02-29 at 10:18 +0000, Roger Pau Monné wrote:> 2012/2/28 Ian Campbell <Ian.Campbell@citrix.com>: > > On Tue, 2012-02-28 at 17:51 +0000, Jeffrey Karrels wrote: > > > >> > Have you changed anything here or are you saying that a pristine Xen > >> > tree when built on CentOS installs 64 bit libraries to /usr/lib instead > >> > of /usr/lib64? If so please can you be precise about what tree you are > >> > running (e.g. the exact URL you cloned and which changeset you got) and > >> > steps you took to install (e.g. what patches did you apply, what > >> > commands did you type) and what exactly you saw (e.g. what was > >> > in /usr/lib and what was in /usr/lib64) > >> > >> #uname -a > >> Linux xenbuild2.cyberlab 2.6.32-220.4.1.el6.x86_64 #1 SMP Tue Jan 24 > >> 02:13:44 GMT 2012 x86_64 x86_64 x86_64 GNU/Linux > >> > >> #hg clone -r 24869 http://xenbits.xen.org/hg/xen-unstable.hg > >> #cd xen-unstable > >> #./configure --enable-xsm --libdir=/usr/lib64 > > > > OK, so you are using something new enough to have the autoconf stuff -- > > I think this is simply a bug in that. I've CC'd Roger. > > > > Ideally configure would auto-detect the right thing for the given system > > and so --libdir would not be required. This would certainly be n > > improvement over the pre-autoconf thing. > > configure was not properly parsing the libdir path and always set it > to "lib", this is a fix:Thanks.> 8<-------------------------------------------- > > autoconf: fix libdir detection > > If user specifies a libdir it is used, if no libdir is specified > configure checks if $prefix/lib64 is a directory and uses that, if not > lib is used.The code seems to use both ${exec_prefix} and ${prefix} is that correct? Seems like an odd place to set \$prefix is all.> diff -r 4758a7a94c15 tools/m4/default_lib.m4 > --- a/tools/m4/default_lib.m4 Wed Feb 22 04:46:07 2012 +0100 > +++ b/tools/m4/default_lib.m4 Wed Feb 22 06:31:53 2012 +0100 > @@ -1,8 +1,12 @@ > AC_DEFUN([AX_DEFAULT_LIB], > -[AS_IF([test -d "$prefix/lib64"], [ > - LIB_PATH="lib64" > -],[ > - LIB_PATH="lib" > +[AS_IF([test "\${exec_prefix}/lib" = "$libdir"], > + [AS_IF([test "$prefix" = "NONE"], [prefix=$ac_default_prefix]) > + AS_IF([test -d "${prefix}/lib64"], [ > + LIB_PATH="lib64" > + ],[ > + LIB_PATH="lib" > + ]) > +], [ > + LIB_PATH="${libdir:`expr length "$exec_prefix" + 1`}" > ]) > AC_SUBST(LIB_PATH)]) > -_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Roger Pau Monné
2012-Feb-29 11:43 UTC
Re: make install not creating lib entries in /usr/lib under Ubunu 11.10
2012/2/29 Ian Campbell <Ian.Campbell@citrix.com>:> The code seems to use both ${exec_prefix} and ${prefix} is that correct? > Seems like an odd place to set \$prefix is all.$prefix is set by passing the command line option or by default when calling AC_OUTPUT, but since AC_OUTPUT is called at the end, this is not really helpful, so we have to set $exec_prefix manually to the correct value, either $prefix if different than NONE or $ac_default_prefix. I agree that the previous patch was a bit of a mess with $prefix and $exec_prefix, this is more "correct" 8<-------------------------------------------- autoconf: fix libdir detection If user specifies a libdir it is used, if no libdir is specified configure checks if $exec_prefix/lib64 is a directory and uses that, if not lib is used. Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu> diff -r 4758a7a94c15 tools/configure --- a/tools/configure Wed Feb 22 04:46:07 2012 +0100 +++ b/tools/configure Wed Feb 22 07:55:48 2012 +0100 @@ -3845,7 +3845,6 @@ case $host_os in *\ *) host_os=`echo "$h - # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # serial 1 (pkg-config-0.24) # @@ -6551,13 +6550,26 @@ else fi # Check library path -if test -d "$prefix/lib64"; then : - - LIB_PATH="lib64" - -else - - LIB_PATH="lib" +if test "\${exec_prefix}/lib" = "$libdir"; then : + if test "$exec_prefix" = "NONE" && test "$prefix" != "NONE"; then : + exec_prefix=$prefix +fi + if test "$exec_prefix" = "NONE"; then : + exec_prefix=$ac_default_prefix +fi + if test -d "${exec_prefix}/lib64"; then : + + LIB_PATH="lib64" + +else + + LIB_PATH="lib" + +fi + +else + + LIB_PATH="${libdir:`expr length "$exec_prefix" + 1`}" fi diff -r 4758a7a94c15 tools/m4/default_lib.m4 --- a/tools/m4/default_lib.m4 Wed Feb 22 04:46:07 2012 +0100 +++ b/tools/m4/default_lib.m4 Wed Feb 22 07:55:48 2012 +0100 @@ -1,8 +1,14 @@ AC_DEFUN([AX_DEFAULT_LIB], -[AS_IF([test -d "$prefix/lib64"], [ - LIB_PATH="lib64" -],[ - LIB_PATH="lib" +[AS_IF([test "\${exec_prefix}/lib" = "$libdir"], + [AS_IF([test "$exec_prefix" = "NONE" && test "$prefix" != "NONE"], + [exec_prefix=$prefix]) + AS_IF([test "$exec_prefix" = "NONE"], [exec_prefix=$ac_default_prefix]) + AS_IF([test -d "${exec_prefix}/lib64"], [ + LIB_PATH="lib64" + ],[ + LIB_PATH="lib" + ]) +], [ + LIB_PATH="${libdir:`expr length "$exec_prefix" + 1`}" ]) AC_SUBST(LIB_PATH)]) -
Jeffrey Karrels
2012-Feb-29 17:01 UTC
Re: make install not creating lib entries in /usr/lib under Ubunu 11.10
> $prefix is set by passing the command line option or by default when > calling AC_OUTPUT, but since AC_OUTPUT is called at the end, this is > not really helpful, so we have to set $exec_prefix manually to the > correct value, either $prefix if different than NONE or > $ac_default_prefix. I agree that the previous patch was a bit of a > mess with $prefix and $exec_prefix, this is more "correct"I applied this patch to my local system and it corrected the issue. Thanks Roger.
Ian Jackson
2012-Mar-01 17:03 UTC
Re: make install not creating lib entries in /usr/lib under Ubunu 11.10
Roger Pau Monné writes ("Re: [Xen-devel] make install not creating lib entries in /usr/lib under Ubunu 11.10"):> autoconf: fix libdir detectionCommitted-by: Ian Jackson <ian.jackson@eu.citrix.com> I also included part of your explanation in the commit message, as it seemed useful. Thanks, Ian.