* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox