[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Xen-devel] [PATCH 2/2] configure: use pkg-config for o
From: |
Paul Durrant |
Subject: |
Re: [Qemu-devel] [Xen-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version |
Date: |
Fri, 24 Mar 2017 15:44:21 +0000 |
> -----Original Message-----
> From: Juergen Gross [mailto:address@hidden
> Sent: 24 March 2017 15:35
> To: Paul Durrant <address@hidden>; 'Stefano Stabellini'
> <address@hidden>
> Cc: Anthony Perard <address@hidden>; xen-
> address@hidden; address@hidden; address@hidden
> Subject: Re: [Xen-devel] [PATCH 2/2] configure: use pkg-config for obtaining
> xen version
>
> On 24/03/17 16:12, Paul Durrant wrote:
> >> -----Original Message-----
> >> From: Stefano Stabellini [mailto:address@hidden
> >> Sent: 22 March 2017 18:22
> >> To: Juergen Gross <address@hidden>
> >> Cc: Stefano Stabellini <address@hidden>; qemu-
> address@hidden;
> >> address@hidden; Anthony Perard
> >> <address@hidden>; address@hidden; Paul Durrant
> >> <address@hidden>
> >> Subject: Re: [PATCH 2/2] configure: use pkg-config for obtaining xen
> version
> >>
> >> On Wed, 22 Mar 2017, Juergen Gross wrote:
> >>> On 21/03/17 19:54, Stefano Stabellini wrote:
> >>>> On Tue, 21 Mar 2017, Juergen Gross wrote:
> >>>>> On 17/03/17 19:33, Stefano Stabellini wrote:
> >>>>>> On Fri, 17 Mar 2017, Juergen Gross wrote:
> >>>>>>> On 16/03/17 21:20, Stefano Stabellini wrote:
> >>>>>>>> On Thu, 16 Mar 2017, Juergen Gross wrote:
> >>>>>>>>> Instead of trying to guess the Xen version to use by compiling
> >> various
> >>>>>>>>> test programs first just ask the system via pkg-config. Only if it
> >>>>>>>>> can't return the version fall back to the test program scheme.
> >>>>>>>>
> >>>>>>>> That's OK, but why did you remove the Xen unstable test?
> >>>>>>>
> >>>>>>> >From Xen 4.9 on pkg-config will return the needed information.
> >> There is
> >>>>>>> no longer a need for a test program to determine the Xen version.
> >> After
> >>>>>>> all this was the main objective of my series adding the pkg-config
> >>>>>>> files to Xen.
> >>>>>>
> >>>>>> I was going to say something like "yeah, but is pkg-config always
> >>>>>> available?" In reality, QEMU already has pkg-config as build
> >>>>>> dependency, so I guess there is no problem with that.
> >>>>>>
> >>>>>> Please add a note about this to the commit message.
> >>>>>>
> >>>>>
> >>>>> Okay.
> >>>>
> >>>> Sorry to point this out only now, and I realize that it might be
> >>>> unimportant for production builds, but it is important to me, and
> >>>> developers in general, to be able to test a single QEMU tree against a
> >>>> number of Xen trees (all releases from 4.3 onward).
> >>>>
> >>>> With this change (specifically dropping the 4.9 build test), out of tree
> >>>> builds don't work anymore. I would like to be able to do:
> >>>>
> >>>> ./configure --enable-xen --target-list=i386-softmmu \
> >>>> --extra-cflags="-I$DIR/tools/include \
> >>>> -I$DIR/tools/libs/toollog/include \
> >>>> -I$DIR/tools/libs/evtchn/include \
> >>>> -I$DIR/tools/libs/gnttab/include \
> >>>> -I$DIR/tools/libs/foreignmemory/include \
> >>>> -I$DIR/tools/libs/devicemodel/include \
> >>>> -I$DIR/tools/libxc/include \
> >>>> -I$DIR/tools/xenstore/include \
> >>>> -I$DIR/tools/xenstore/compat/include" \
> >>>> --extra-ldflags="-L$DIR/tools/libxc \
> >>>> -L$DIR/tools/xenstore \
> >>>> -L$DIR/tools/libs/evtchn \
> >>>> -L$DIR/tools/libs/gnttab \
> >>>> -L$DIR/tools/libs/foreignmemory \
> >>>> -L$DIR/tools/libs/devicemodel \
> >>>> -Wl,-rpath-link=$DIR/tools/libs/toollog \
> >>>> -Wl,-rpath-link=$DIR/tools/libs/evtchn \
> >>>> -Wl,-rpath-link=$DIR/tools/libs/gnttab \
> >>>> -Wl,-rpath-link=$DIR/tools/libs/call \
> >>>> -Wl,-rpath-link=$DIR/tools/libs/foreignmemory \
> >>>> -Wl,-rpath-link=$DIR/tools/libs/devicemodel" \
> >>>> --disable-kvm
> >>>> make
> >>>>
> >>>> And the make should succeed. Is there a way to do that with pkg-
> config?
> >>>
> >>> Sure, for Xen 4.9 just do:
> >>>
> >>> PKG_CONFIG_PATH=$(DIR)/tools/pkg-config ./configure \
> >>> --enable-xen --target-list=i386-softmmu \
> >>> --disable-kvm
> >>> make
> >>
> >> Yes, that works, thanks! I committed it to my next branch adding
> >> "pkg-config, which is already a build dependency of QEMU, will be used
> >> exclusively to determine the Xen version from Xen 4.9 onward." to the
> >> commit message.
> >
> > A further question...
> >
> > I have a xen tree which I've been using to build and install master against
> my own checked out QEMU repo. No problem with that. I've now reverted
> my tree to 4.7.0 and cannot build tools (even after a make distclean) because
> QEMU's configure is still getting up a xen_ctrl_version of 40900. This is
> because pkg-config is still finding a 4.9.0 xencontrol package? Where is it
> getting this from?
>
> Hmm, could it be you have Xen unstable installed on your machine?
I do indeed. I build on my test machine.
>
> Didn't think of this problem. I can think of 3 solutions:
>
> a) delete the xencontrol.pc file (on my system under
> /usr/share/pkgconfig/ )
>
I just found mine using pkg-config --debug... /usr/local/share/pkgconfig for me
> b) we add a patch to qemu to test an environment variable whether
> pkg-config should be ignored for Xen version detection
>
> c) set the environment variable PKG_CONFIG_LIBDIR to a local directory
> and copy all but the xen*.pc files from /usr/share/pkgconfig/ (or
> your correct directory) to it (or link them to avoid missing updates)
>
> OTOH this is something you have to be aware of for other packages as
> well: mixing the build environment and the target environment can lead
> to bad results. Now Xen has been added to the list.
>
That's a change in behaviour that I, and probably others, have long been used
to. What we really want, presumably, is to have pkg-config just look under
tools/pkgconfig when querying for the version of xencontrol. Could that not be
done by simply setting PKG_CONFIG_LIBDIR in QEMU's configure script, or would
it still mean picking up installed libraries before ones just built?
Paul
>
> Juergen
- Re: [Qemu-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version, (continued)
- Re: [Qemu-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version, Stefano Stabellini, 2017/03/16
- Re: [Qemu-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version, Juergen Gross, 2017/03/17
- Re: [Qemu-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version, Stefano Stabellini, 2017/03/17
- Re: [Qemu-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version, Juergen Gross, 2017/03/21
- Re: [Qemu-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version, Stefano Stabellini, 2017/03/21
- Re: [Qemu-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version, Juergen Gross, 2017/03/22
- Re: [Qemu-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version, Stefano Stabellini, 2017/03/22
- Re: [Qemu-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version, Paul Durrant, 2017/03/24
- Re: [Qemu-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version, Paul Durrant, 2017/03/24
- Re: [Qemu-devel] [Xen-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version, Juergen Gross, 2017/03/24
- Re: [Qemu-devel] [Xen-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version,
Paul Durrant <=
- Re: [Qemu-devel] [Xen-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version, Juergen Gross, 2017/03/24
- Re: [Qemu-devel] [Xen-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version, Juergen Gross, 2017/03/24
- Re: [Qemu-devel] [Xen-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version, Paul Durrant, 2017/03/24
- Re: [Qemu-devel] [Xen-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version, Paul Durrant, 2017/03/24
- Re: [Qemu-devel] [Xen-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version, Juergen Gross, 2017/03/24
[Qemu-devel] [PATCH 1/2] xen: use 5 digit xen versions, Juergen Gross, 2017/03/16