qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Juergen Gross <jgross@suse.com>
To: Paul Durrant <Paul.Durrant@citrix.com>,
	'Stefano Stabellini' <sstabellini@kernel.org>
Cc: Anthony Perard <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"kraxel@redhat.com" <kraxel@redhat.com>
Subject: Re: [Qemu-devel] [Xen-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version
Date: Fri, 24 Mar 2017 16:34:48 +0100	[thread overview]
Message-ID: <550ea61e-c9ba-5afc-12b5-438a2a57af6e@suse.com> (raw)
In-Reply-To: <2fb1da9d14c14eb4826a87657f7d0eb1@AMSPEX02CL03.citrite.net>

On 24/03/17 16:12, Paul Durrant wrote:
>> -----Original Message-----
>> From: Stefano Stabellini [mailto:sstabellini@kernel.org]
>> Sent: 22 March 2017 18:22
>> To: Juergen Gross <jgross@suse.com>
>> Cc: Stefano Stabellini <sstabellini@kernel.org>; qemu-devel@nongnu.org;
>> xen-devel@lists.xenproject.org; Anthony Perard
>> <anthony.perard@citrix.com>; kraxel@redhat.com; Paul Durrant
>> <Paul.Durrant@citrix.com>
>> 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?

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/ )

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.


Juergen

  parent reply	other threads:[~2017-03-24 15:34 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-16 14:19 [Qemu-devel] [PATCH 0/2] xen: use pkg-config for configure Juergen Gross
2017-03-16 14:19 ` [Qemu-devel] [PATCH 1/2] xen: use 5 digit xen versions Juergen Gross
2017-03-16 20:19   ` Stefano Stabellini
2017-03-16 14:19 ` [Qemu-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version Juergen Gross
2017-03-16 20:20   ` Stefano Stabellini
2017-03-17  4:49     ` Juergen Gross
2017-03-17 18:33       ` Stefano Stabellini
2017-03-21  5:34         ` Juergen Gross
2017-03-21 18:54           ` Stefano Stabellini
2017-03-22  5:02             ` Juergen Gross
2017-03-22 18:21               ` Stefano Stabellini
2017-03-24 15:12                 ` Paul Durrant
2017-03-24 15:24                   ` Paul Durrant
2017-03-24 15:34                   ` Juergen Gross [this message]
2017-03-24 15:44                     ` [Qemu-devel] [Xen-devel] " Paul Durrant
2017-03-24 15:51                       ` Juergen Gross
2017-03-24 15:54                         ` Juergen Gross
2017-03-24 15:56                           ` Paul Durrant
2017-03-24 16:42                           ` Paul Durrant
2017-03-24 18:43                             ` Juergen Gross

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=550ea61e-c9ba-5afc-12b5-438a2a57af6e@suse.com \
    --to=jgross@suse.com \
    --cc=Paul.Durrant@citrix.com \
    --cc=anthony.perard@citrix.com \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).