* [PATCH] qemu: OpenSUSE 13.2 configure error
@ 2015-06-30 0:16 Juro Bystricky
2015-06-30 10:32 ` Burton, Ross
0 siblings, 1 reply; 7+ messages in thread
From: Juro Bystricky @ 2015-06-30 0:16 UTC (permalink / raw)
To: openembedded-core; +Cc: richard.purdie
Under some circumstances, on OpenSUSE 13.2 qemu-native configure
can fail with the error:
ERROR: User requested feature sdl
configure was not able to find it
The following sequence can reproduce the build error:
$ bitbake libgpg-error-native
$ bitbake qemu-native
Qemu configure tests for the presence/existance of SDL by
trying to link against libSDL. libSDL in turn attempts to load
libcrypt which will then attempt to load libgpg-error.
The bitbaked libgpg-error will be built with ABI incompatible
with the one required by libcrypt.
The remedy is to force qemu configure to use the host's
libgpg-error instead. This is achieved by modifying the linker
library search order.
[YOCTO#7469]
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
---
.../qemu/files/qemu-libcrypt-search-path-fix.patch | 37 ++++++++++++++++++++++
meta/recipes-devtools/qemu/qemu_1.7.0.bb | 4 ++-
2 files changed, 40 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-devtools/qemu/files/qemu-libcrypt-search-path-fix.patch
diff --git a/meta/recipes-devtools/qemu/files/qemu-libcrypt-search-path-fix.patch b/meta/recipes-devtools/qemu/files/qemu-libcrypt-search-path-fix.patch
new file mode 100644
index 0000000..e44d883
--- /dev/null
+++ b/meta/recipes-devtools/qemu/files/qemu-libcrypt-search-path-fix.patch
@@ -0,0 +1,37 @@
+--- a/configure
++++ b/configure
+@@ -1802,6 +1802,8 @@ if test -n "$cross_prefix" && test "$(ba
+ fi
+
+ sdl_too_old=no
++sdl_cflags_ex="-L/usr/lib -L/usr/lib64 -Wl,-rpath-link,/usr/lib -Wl,-rpath-link,/usr/lib64"
++
+ if test "$sdl" != "no" ; then
+ cat > $TMPC << EOF
+ #include <SDL.h>
+@@ -1814,7 +1816,7 @@ EOF
+ else
+ sdl_libs=`$sdlconfig --libs 2> /dev/null`
+ fi
+- if compile_prog "$sdl_cflags" "$sdl_libs" ; then
++ if compile_prog "$sdl_cflags $sdl_cflags_ex" "$sdl_libs" ; then
+ if test "$_sdlversion" -lt 121 ; then
+ sdl_too_old=yes
+ else
+@@ -1853,7 +1855,7 @@ if test "$sdl" = "yes" ; then
+ #endif
+ int main(void) { return 0; }
+ EOF
+- if compile_prog "$sdl_cflags" "$sdl_libs" ; then
++ if compile_prog "$sdl_cflags $sdl_cflags_ex" "$sdl_libs" ; then
+ sdl_libs="$sdl_libs -lX11"
+ fi
+ libs_softmmu="$sdl_libs $libs_softmmu"
+@@ -4287,6 +4289,7 @@ echo "OBJCOPY=$objcopy" >> $config_host_
+ echo "LD=$ld" >> $config_host_mak
+ echo "WINDRES=$windres" >> $config_host_mak
+ echo "LIBTOOL=$libtool" >> $config_host_mak
++CFLAGS="$CFLAGS $sdl_cflags_ex"
+ echo "CFLAGS=$CFLAGS" >> $config_host_mak
+ echo "QEMU_CFLAGS=$QEMU_CFLAGS" >> $config_host_mak
+ echo "QEMU_INCLUDES=$QEMU_INCLUDES" >> $config_host_mak
diff --git a/meta/recipes-devtools/qemu/qemu_1.7.0.bb b/meta/recipes-devtools/qemu/qemu_1.7.0.bb
index a519645..a44a6f7 100644
--- a/meta/recipes-devtools/qemu/qemu_1.7.0.bb
+++ b/meta/recipes-devtools/qemu/qemu_1.7.0.bb
@@ -6,7 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
SRC_URI += "file://fxrstorssefix.patch \
file://qemu-enlarge-env-entry-size.patch \
file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch \
- file://ide-CVE-2014-2894.patch"
+ file://ide-CVE-2014-2894.patch \
+ file://qemu-libcrypt-search-path-fix.patch \
+ "
SRC_URI_prepend = "http://wiki.qemu.org/download/qemu-${PV}.tar.bz2"
SRC_URI[md5sum] = "32893941d40d052a5e649efcf06aca06"
--
2.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] qemu: OpenSUSE 13.2 configure error
2015-06-30 0:16 [PATCH] qemu: OpenSUSE 13.2 configure error Juro Bystricky
@ 2015-06-30 10:32 ` Burton, Ross
2015-06-30 10:37 ` Burton, Ross
2015-06-30 10:38 ` Richard Purdie
0 siblings, 2 replies; 7+ messages in thread
From: Burton, Ross @ 2015-06-30 10:32 UTC (permalink / raw)
To: Juro Bystricky; +Cc: Purdie, Richard, OE-core
[-- Attachment #1: Type: text/plain, Size: 957 bytes --]
On 30 June 2015 at 01:16, Juro Bystricky <juro.bystricky@intel.com> wrote:
> Qemu configure tests for the presence/existance of SDL by
> trying to link against libSDL. libSDL in turn attempts to load
> libcrypt which will then attempt to load libgpg-error.
> The bitbaked libgpg-error will be built with ABI incompatible
> with the one required by libcrypt.
> The remedy is to force qemu configure to use the host's
> libgpg-error instead. This is achieved by modifying the linker
> library search order.
>
I think seeing this summary will send Saul into a quivering wreck as this
was a massive source of pain in the previous release. Interesting solution
but I'd like Saul's opinion.
The patch should probably only be applied for native and nativesdk builds,
as I suspect that's going to break a target build quite badly. Also, it
needs signed-of-by and upstream-status (inappropriate, I imagine) tags in
the patch header.
Ross
[-- Attachment #2: Type: text/html, Size: 1453 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] qemu: OpenSUSE 13.2 configure error
2015-06-30 10:32 ` Burton, Ross
@ 2015-06-30 10:37 ` Burton, Ross
2015-06-30 10:38 ` Richard Purdie
1 sibling, 0 replies; 7+ messages in thread
From: Burton, Ross @ 2015-06-30 10:37 UTC (permalink / raw)
To: Juro Bystricky; +Cc: Purdie, Richard, OE-core
[-- Attachment #1: Type: text/plain, Size: 421 bytes --]
On 30 June 2015 at 11:32, Burton, Ross <ross.burton@intel.com> wrote:
> The patch should probably only be applied for native and nativesdk builds,
> as I suspect that's going to break a target build quite badly. Also, it
> needs signed-of-by and upstream-status (inappropriate, I imagine) tags in
> the patch header
>
Richard just pointed out I'm wrong here - apply to just native and not
nativesdk.
Ross
[-- Attachment #2: Type: text/html, Size: 780 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] qemu: OpenSUSE 13.2 configure error
2015-06-30 10:32 ` Burton, Ross
2015-06-30 10:37 ` Burton, Ross
@ 2015-06-30 10:38 ` Richard Purdie
2015-06-30 17:02 ` Saul Wold
2015-10-12 18:30 ` [daisy][PATCH v2 0/1 ] OpenSUSE 13.2 qemu configuration Juro Bystricky
1 sibling, 2 replies; 7+ messages in thread
From: Richard Purdie @ 2015-06-30 10:38 UTC (permalink / raw)
To: Burton, Ross; +Cc: OE-core
On Tue, 2015-06-30 at 11:32 +0100, Burton, Ross wrote:
>
> On 30 June 2015 at 01:16, Juro Bystricky <juro.bystricky@intel.com>
> wrote:
> Qemu configure tests for the presence/existance of SDL by
> trying to link against libSDL. libSDL in turn attempts to load
> libcrypt which will then attempt to load libgpg-error.
> The bitbaked libgpg-error will be built with ABI incompatible
> with the one required by libcrypt.
> The remedy is to force qemu configure to use the host's
> libgpg-error instead. This is achieved by modifying the linker
> library search order.
>
> I think seeing this summary will send Saul into a quivering wreck as
> this was a massive source of pain in the previous release.
> Interesting solution but I'd like Saul's opinion.
>
If backporting this means we don't have to reconfigure the autobuilder
to run old releases, Saul, Beth and I are likely all in favour.
>
> The patch should probably only be applied for native and nativesdk
> builds, as I suspect that's going to break a target build quite badly.
> Also, it needs signed-of-by and upstream-status (inappropriate, I
> imagine) tags in the patch header.
It needs a description and the patch should be native only, not
nativesdk which should link against the sysroot.
Cheers,
Richard
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] qemu: OpenSUSE 13.2 configure error
2015-06-30 10:38 ` Richard Purdie
@ 2015-06-30 17:02 ` Saul Wold
2015-10-12 18:30 ` [daisy][PATCH v2 0/1 ] OpenSUSE 13.2 qemu configuration Juro Bystricky
1 sibling, 0 replies; 7+ messages in thread
From: Saul Wold @ 2015-06-30 17:02 UTC (permalink / raw)
To: Richard Purdie, Burton, Ross; +Cc: OE-core
On 06/30/2015 03:38 AM, Richard Purdie wrote:
> On Tue, 2015-06-30 at 11:32 +0100, Burton, Ross wrote:
>>
>> On 30 June 2015 at 01:16, Juro Bystricky <juro.bystricky@intel.com>
>> wrote:
>> Qemu configure tests for the presence/existance of SDL by
>> trying to link against libSDL. libSDL in turn attempts to load
>> libcrypt which will then attempt to load libgpg-error.
>> The bitbaked libgpg-error will be built with ABI incompatible
>> with the one required by libcrypt.
>> The remedy is to force qemu configure to use the host's
>> libgpg-error instead. This is achieved by modifying the linker
>> library search order.
>>
>> I think seeing this summary will send Saul into a quivering wreck as
>> this was a massive source of pain in the previous release.
>> Interesting solution but I'd like Saul's opinion.
>>
> If backporting this means we don't have to reconfigure the autobuilder
> to run old releases, Saul, Beth and I are likely all in favour.
The quivering stop long ago when I handed this off to Juro! I am all in
favor of this patch and a backport.
Thanks Juro for figuring this out.
Sau!
>>
>> The patch should probably only be applied for native and nativesdk
>> builds, as I suspect that's going to break a target build quite badly.
>> Also, it needs signed-of-by and upstream-status (inappropriate, I
>> imagine) tags in the patch header.
>
> It needs a description and the patch should be native only, not
> nativesdk which should link against the sysroot.
>
> Cheers,
>
> Richard
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [daisy][PATCH v2 0/1 ] OpenSUSE 13.2 qemu configuration
2015-06-30 10:38 ` Richard Purdie
2015-06-30 17:02 ` Saul Wold
@ 2015-10-12 18:30 ` Juro Bystricky
2015-10-12 18:30 ` [daisy][PATCH v2 ] qemu: OpenSUSE 13.2 configure error Juro Bystricky
1 sibling, 1 reply; 7+ messages in thread
From: Juro Bystricky @ 2015-10-12 18:30 UTC (permalink / raw)
To: openembedded-core; +Cc: richard.purdie
Modified patch to fix
https://bugzilla.yoctoproject.org/show_bug.cgi?id=7469
Juro Bystricky (1):
qemu: OpenSUSE 13.2 configure error
.../qemu/files/qemu-libcrypt-search-path-fix.patch | 37 ++++++++++++++++++++++
meta/recipes-devtools/qemu/qemu_1.7.0.bb | 2 ++
2 files changed, 39 insertions(+)
create mode 100644 meta/recipes-devtools/qemu/files/qemu-libcrypt-search-path-fix.patch
--
2.1.4
^ permalink raw reply [flat|nested] 7+ messages in thread
* [daisy][PATCH v2 ] qemu: OpenSUSE 13.2 configure error
2015-10-12 18:30 ` [daisy][PATCH v2 0/1 ] OpenSUSE 13.2 qemu configuration Juro Bystricky
@ 2015-10-12 18:30 ` Juro Bystricky
0 siblings, 0 replies; 7+ messages in thread
From: Juro Bystricky @ 2015-10-12 18:30 UTC (permalink / raw)
To: openembedded-core; +Cc: richard.purdie
Under some circumstances, on OpenSUSE 13.2 qemu-native configure
can fail with the error:
ERROR: User requested feature sdl
configure was not able to find it
The following sequence can reproduce the build error:
$ bitbake libgpg-error-native
$ bitbake qemu-native
Qemu configure tests for the presence/existance of SDL by
trying to link against libSDL. libSDL in turn attempts to load
libcrypt which will then attempt to load libgpg-error.
The bitbaked libgpg-error will be built with ABI incompatible
with the one required by libcrypt.
The remedy is to force qemu configure to use the host's
libgpg-error instead. This is achieved by modifying the linker
library search order.
[YOCTO#7469]
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
---
.../qemu/files/qemu-libcrypt-search-path-fix.patch | 37 ++++++++++++++++++++++
meta/recipes-devtools/qemu/qemu_1.7.0.bb | 2 ++
2 files changed, 39 insertions(+)
create mode 100644 meta/recipes-devtools/qemu/files/qemu-libcrypt-search-path-fix.patch
diff --git a/meta/recipes-devtools/qemu/files/qemu-libcrypt-search-path-fix.patch b/meta/recipes-devtools/qemu/files/qemu-libcrypt-search-path-fix.patch
new file mode 100644
index 0000000..e44d883
--- /dev/null
+++ b/meta/recipes-devtools/qemu/files/qemu-libcrypt-search-path-fix.patch
@@ -0,0 +1,37 @@
+--- a/configure
++++ b/configure
+@@ -1802,6 +1802,8 @@ if test -n "$cross_prefix" && test "$(ba
+ fi
+
+ sdl_too_old=no
++sdl_cflags_ex="-L/usr/lib -L/usr/lib64 -Wl,-rpath-link,/usr/lib -Wl,-rpath-link,/usr/lib64"
++
+ if test "$sdl" != "no" ; then
+ cat > $TMPC << EOF
+ #include <SDL.h>
+@@ -1814,7 +1816,7 @@ EOF
+ else
+ sdl_libs=`$sdlconfig --libs 2> /dev/null`
+ fi
+- if compile_prog "$sdl_cflags" "$sdl_libs" ; then
++ if compile_prog "$sdl_cflags $sdl_cflags_ex" "$sdl_libs" ; then
+ if test "$_sdlversion" -lt 121 ; then
+ sdl_too_old=yes
+ else
+@@ -1853,7 +1855,7 @@ if test "$sdl" = "yes" ; then
+ #endif
+ int main(void) { return 0; }
+ EOF
+- if compile_prog "$sdl_cflags" "$sdl_libs" ; then
++ if compile_prog "$sdl_cflags $sdl_cflags_ex" "$sdl_libs" ; then
+ sdl_libs="$sdl_libs -lX11"
+ fi
+ libs_softmmu="$sdl_libs $libs_softmmu"
+@@ -4287,6 +4289,7 @@ echo "OBJCOPY=$objcopy" >> $config_host_
+ echo "LD=$ld" >> $config_host_mak
+ echo "WINDRES=$windres" >> $config_host_mak
+ echo "LIBTOOL=$libtool" >> $config_host_mak
++CFLAGS="$CFLAGS $sdl_cflags_ex"
+ echo "CFLAGS=$CFLAGS" >> $config_host_mak
+ echo "QEMU_CFLAGS=$QEMU_CFLAGS" >> $config_host_mak
+ echo "QEMU_INCLUDES=$QEMU_INCLUDES" >> $config_host_mak
diff --git a/meta/recipes-devtools/qemu/qemu_1.7.0.bb b/meta/recipes-devtools/qemu/qemu_1.7.0.bb
index a519645..812d372 100644
--- a/meta/recipes-devtools/qemu/qemu_1.7.0.bb
+++ b/meta/recipes-devtools/qemu/qemu_1.7.0.bb
@@ -7,6 +7,8 @@ SRC_URI += "file://fxrstorssefix.patch \
file://qemu-enlarge-env-entry-size.patch \
file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch \
file://ide-CVE-2014-2894.patch"
+
+SRC_URI_append_virtclass-native = " file://qemu-libcrypt-search-path-fix.patch"
SRC_URI_prepend = "http://wiki.qemu.org/download/qemu-${PV}.tar.bz2"
SRC_URI[md5sum] = "32893941d40d052a5e649efcf06aca06"
--
2.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-10-12 18:36 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-30 0:16 [PATCH] qemu: OpenSUSE 13.2 configure error Juro Bystricky
2015-06-30 10:32 ` Burton, Ross
2015-06-30 10:37 ` Burton, Ross
2015-06-30 10:38 ` Richard Purdie
2015-06-30 17:02 ` Saul Wold
2015-10-12 18:30 ` [daisy][PATCH v2 0/1 ] OpenSUSE 13.2 qemu configuration Juro Bystricky
2015-10-12 18:30 ` [daisy][PATCH v2 ] qemu: OpenSUSE 13.2 configure error Juro Bystricky
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.