[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [Qemu-devel] [PATCH RESEND] xen: limit pkg-config to PKG_CONFIG_PATH for xen libraries
On 24/03/17 20:34, Paul Durrant wrote: >> -----Original Message----- >> From: Qemu-devel [mailto:qemu-devel- >> bounces+paul.durrant=citrix.com@xxxxxxxxxx] On Behalf Of Paul Durrant >> Sent: 24 March 2017 19:18 >> To: 'Stefano Stabellini' <sstabellini@xxxxxxxxxx>; Juergen Gross >> <jgross@xxxxxxxx> >> Cc: Anthony Perard <anthony.perard@xxxxxxxxxx>; xen- >> devel@xxxxxxxxxxxxxxxxxxxx; qemu-devel@xxxxxxxxxx >> Subject: Re: [Qemu-devel] [PATCH RESEND] xen: limit pkg-config to >> PKG_CONFIG_PATH for xen libraries >> >>> -----Original Message----- >>> From: Stefano Stabellini [mailto:sstabellini@xxxxxxxxxx] >>> Sent: 24 March 2017 19:12 >>> To: Juergen Gross <jgross@xxxxxxxx> >>> Cc: Paul Durrant <Paul.Durrant@xxxxxxxxxx>; qemu-devel@xxxxxxxxxx; >> xen- >>> devel@xxxxxxxxxxxxxxxxxxxx; Anthony Perard >> <anthony.perard@xxxxxxxxxx>; >>> Stefano Stabellini <sstabellini@xxxxxxxxxx> >>> Subject: Re: [PATCH RESEND] xen: limit pkg-config to PKG_CONFIG_PATH >> for >>> xen libraries >>> >>> On Fri, 24 Mar 2017, Juergen Gross wrote: >>>> On 24/03/17 18:20, Paul Durrant wrote: >>>>> The Xen tools Makefile has been modified to set PKG_CONFIG_PATH >>> such that >>>>> use of pkg-config in QEMU configure finds the newly built Xen libraries. >>>>> However, because older versions of Xen do not set >> PKG_CONFIG_PATH >>> in the >>>>> Makefile, the QEMU configure script will pick up any Xen libraries that >>> may >>>>> be installed in the build system rather than the newly built ones. Thus, >>>>> if Xen 4.9 is built and installed it becomes impossible to build tools for >>>>> an older version of Xen on the same system (without manual de- >>> installtion). >>>>> >>>>> This patch modifies configure to set PKG_CONFIG_LIBDIR to empty >> when >>>>> looking for Xen libraries to ensure the search is limited only to >>>>> PKG_CONFIG_PATH. This makes sure that, for versions of Xen prior to >>> 4.9, >>>>> pkg-config fails to find the Xen libraries an approriately falls back to >>>>> previous methods of probing. >>>>> >>>>> Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> >>> >>> Paul, thanks for spotting this. I didn't spot it because I don't have >>> Xen installed in my build environment, but we should not rely on that. >>> >>> >>>> NAK. You are breaking normal qemu build with installed Xen pkg-config >>>> files. >>> >>> The normal QEMU build, done as part of the xen-unstable build, is >>> actually done without Xen being installed in the system. So, if I am not >>> mistaken, the current mechanism also breaks the following entirely >>> legitimate scenario: >>> >>> - user has 4.9 installed on her system >>> - user git clones xen 4.10 >>> - user build xen 4.10 >>> - as part of the xen build, qemu is cloned and built >>> - the qemu configure script picks up the pkgconfig file from >>> /usr/share and misconfigure the xen version, setting it to 4.9 >>> instead of 4.10 >>> - the qemu build fails >>> - the xen build fails >>> >>> Am I right? >>> >> >> I think the above would actually work because the 4.10 files would be found >> before the 4.9 files. What fails is installing 4.9 and then trying to build >> 4.8. > > I should qualify that with saying 'trying to build 4.8 with a newer QEMU > (i.e. one that has a configure which knows about pkg-config). > I still think that's a legitimate use-case though. To sum it up we have to care about the following scenarios: a) Xen in-tree build, Xen >= 4.9 b) Xen in-tree build, Xen < 4.9 c) build out-of-Xen-tree combined with any of: 1) no Xen installed on build machine 2) Xen >= 4.9 installed 3) Xen < 4.9 installed 1) + c) is not supported, all other combinations should work. I suggest the following modifications of my patch: - keep the test program for detection of Xen 4.9 - scan the extra ldflags for special mentioning of tools/libxc to detect Xen in-tree build < 4.9 (will detect 4.9, too, but this is no problem), set xen_in_tree_old if found - if xen_in_tree_old found, don't use pkg-config for Xen version detection and flags - otherwise try pkg-config first This should cover all cases we need. Juergen _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |