[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] configure: use glib in glib pkg-config check.
From: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-devel] [PATCH] configure: use glib in glib pkg-config check. |
Date: |
Tue, 4 Feb 2014 09:59:18 +0000 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Tue, Feb 04, 2014 at 09:56:38AM +1100, Chris Johns wrote:
> On 3/02/2014 9:29 pm, Daniel P. Berrange wrote:
> >On Mon, Feb 03, 2014 at 03:26:15PM +1100, Chris Johns wrote:
> >>Building against with a recent glib in a custom prefix fails because
> >>the gthread cflags in the pkg-config file do not have the correct path
> >>while the glib pc file does.
> >>
> >>Signed-off-by: Chris Johns <address@hidden>
> >>---
> >> configure | 6 +++---
> >> 1 file changed, 3 insertions(+), 3 deletions(-)
> >>
> >>diff --git a/configure b/configure
> >>index b472694..12f730f 100755
> >>--- a/configure
> >>+++ b/configure
> >>@@ -2343,9 +2343,9 @@ if test "$mingw32" = yes; then
> >> else
> >> glib_req_ver=2.12
> >> fi
> >>-if $pkg_config --atleast-version=$glib_req_ver gthread-2.0; then
> >>- glib_cflags=`$pkg_config --cflags gthread-2.0`
> >>- glib_libs=`$pkg_config --libs gthread-2.0`
> >>+if $pkg_config --atleast-version=$glib_req_ver glib-2.0; then
> >>+ glib_cflags=`$pkg_config --cflags glib-2.0`
> >>+ glib_libs=`$pkg_config --libs glib-2.0`
> >> LIBS="$glib_libs $LIBS"
> >> libs_qga="$glib_libs $libs_qga"
> >> else
> >
> >This change will cause -pthread linker + compiler flag to be lost.
> >
>
> I see in gthread-2.0.pc ..
>
> Libs: -L${libdir} -lgthread-2.0
> Cflags: -D_REENTRANT
>
> and qemu includes 'glib.h'. Without the glib pc flags being used the
> build fails not being able to find 'glib.h'.
>
> I have no idea about the relationship this has with -pthread. Are
> both needed ? It is not a problem on darwin. Qemu is building and
> running the RTEMS testsuite nicely on the arm architecture (with the
> posted zync reset patch).
On Linux there are more flags present in gthread-2.0.pc that are not
present in glib-2.0.pc:
Name: GThread
Description: Thread support for GLib
Requires: glib-2.0
Version: 2.38.2
Libs: -L${libdir} -lgthread-2.0 -pthread
Cflags: -pthread
The 'Requires: glib-2.0' line there means that when QEMU asking for
flags for 'gthread-2.0', it will *also* get any flags listed in the
'glib-2.0.pc' file.
> >
> >What glib version are you seeing a problem with ?
>
> glib-2.39.3 on darwin 13.0.2 (Mavrick).
>
> >It seems we should
> >really fix glib, since this will affect countless 1000's of apps using
> >it, not try to workaround in all downstream apps.
>
> This is outside of my field of view; to me it still looks qemu specific.
I don't believe so. What QEMU is currently doing is correct so I
believe this is either a darwin specific glib bug or a flawed
build of glib on darwin.
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|