speex, speexdsp: 1.2rc1 -> 1.2rc2/1.2rc3
cover speex, speexdsp: 1.2rc1 -> 1.2rc2/1.2rc3
These patches update speex to 1.2rc2 and speexdsp to 1.2rc3. speexdsp was previously included in speex, but now it's in a separate source tree, so a new recipe is needed.
The following changes since commit dd09fab685de2eaf04aa5ab60f8220b89c1deae9:
tune-core2.inc: set X86ARCH32 to i686 (instead of i586) (2015-07-02 23:08:27 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib tanuk/speex
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=tanuk/speex
Tanu Kaskinen (3):
speexdsp: initial recipe
speex: 1.2rc1 -> 1.2rc2
alsa-plugins, pulseaudio: depend on speexdsp, not speex
.../recipes-multimedia/alsa/alsa-plugins_1.0.29.bb | 4 +-
meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 2 +-
meta/recipes-multimedia/speex/speex-fpu.inc | 4 --
.../speex/{speex_1.2rc1.bb => speex_1.2rc2.bb} | 18 +++----
...ely-on-HAVE_STDINT_H-et-al.-being-defined.patch | 63 ++++++++++++++++++++++
meta/recipes-multimedia/speex/speexdsp_1.2rc3.bb | 39 ++++++++++++++
6 files changed, 112 insertions(+), 18 deletions(-)
delete mode 100644 meta/recipes-multimedia/speex/speex-fpu.inc
rename meta/recipes-multimedia/speex/{speex_1.2rc1.bb => speex_1.2rc2.bb} (51%)
create mode 100644 meta/recipes-multimedia/speex/speexdsp/0001-Don-t-rely-on-HAVE_STDINT_H-et-al.-being-defined.patch
create mode 100644 meta/recipes-multimedia/speex/speexdsp_1.2rc3.bbSignature · 1 line
1.9.3
PATCH 1/3 speexdsp: initial recipe
speexdsp was split off from speex in 1.2rc2, so we need a separate recipe for speexdsp when before we can upgrade speex.
The speex recipe has so far used the --enable-fixed-point configure option unconditionally, but I believe that was a mistake, so I dropped that. The option is still enabled if TARGET_FPU is set to "soft". Commit e8f707f16a38d85535593a32efff6dcbf4ddb203 added the TARGET_FPU check, and I think that commit should have removed --enable-fixed-point from the static configure options, like it removed --disable-float-api.
The NEON code caused a build failure on qemuarm64. As a workaround, I disabled NEON optimizations when building for aarch64.
I added a patch that fixes a build failure in alsa-plugins. Compiling alsa-plugins against the new speexdsp version without the patch resulted in this error:
In file included from .../usr/include/speex/speexdsp_types.h:122:0,
from .../usr/include/speex/speex_preprocess.h:46,
from .../alsa-plugins-1.0.29/speex/pcm_speex.c:23:.../usr/include/speex/speexdsp_config_types.h:13:9: error: unknown type name 'uint16_t'
typedef uint16_t spx_uint16_t;
^--- ...ely-on-HAVE_STDINT_H-et-al.-being-defined.patch | 63 ++++++++++++++++++++++ meta/recipes-multimedia/speex/speexdsp_1.2rc3.bb | 39 ++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 meta/recipes-multimedia/speex/speexdsp/0001-Don-t-rely-on-HAVE_STDINT_H-et-al.-being-defined.patch create mode 100644 meta/recipes-multimedia/speex/speexdsp_1.2rc3.bb
meta/recipes-multimedia/speex/speexdsp/0001-Don-t-rely-on-HAVE_STDINT_H-et-al.-being-defined.patch new file +63 -0
@@ -0,0 +1,63 @@ +From c73370ceafd138becee8ca3c688ba75756830bfe Mon Sep 17 00:00:00 2001 +From: Tanu Kaskinen <[email protected]> +Date: Sun, 5 Jul 2015 17:48:16 +0300 +Subject: [PATCH] Don't rely on HAVE_STDINT_H et al. being defined + +Not everyone who includes speexdsp_config_types.h will have a test +which defines those, and if we've chosen to use the stdint types at +configure time then we know exactly which header(s) are available, so +just choose the best one then and generate the header to use it. + +This patch, including the above text, is copied from a commit in the +speex repository[1]. The original commit for speex was made by Ron +<[email protected]>. + +[1] https://git.xiph.org/?p=speex.git;a=commitdiff;h=774c87d6cb7dd8dabdd17677fc6da753ecf4aa87 + +Upstream-Status: Backport + +Signed-off-by: Tanu Kaskinen <[email protected]> +--- + configure.ac | 6 ++++++ + include/speex/speexdsp_config_types.h.in | 8 +------- + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 2cd2d1e..1de0c23 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -334,6 +334,12 @@ AC_SUBST([USIZE16]) + AC_SUBST([SIZE32]) + AC_SUBST([USIZE32]) + ++AS_IF([test "$ac_cv_header_stdint_h" = "yes"], [INCLUDE_STDINT="#include <stdint.h>"], ++ [test "$ac_cv_header_inttypes_h" = "yes"], [INCLUDE_STDINT="#include <inttypes.h>"], ++ [test "$ac_cv_header_sys_types_h" = "yes"], [INCLUDE_STDINT="#include <sys/types.h>"]) ++ ++AC_SUBST([INCLUDE_STDINT]) ++ + AC_CONFIG_FILES([ + Makefile libspeexdsp/Makefile doc/Makefile SpeexDSP.spec + include/Makefile include/speex/Makefile speexdsp.pc +diff --git a/include/speex/speexdsp_config_types.h.in b/include/speex/speexdsp_config_types.h.in +index 02b82fd..5ea7b55 100644 +--- a/include/speex/speexdsp_config_types.h.in ++++ b/include/speex/speexdsp_config_types.h.in +@@ -1,13 +1,7 @@ + #ifndef __SPEEX_TYPES_H__ + #define __SPEEX_TYPES_H__ + +-#if defined HAVE_STDINT_H +-# include <stdint.h> +-#elif defined HAVE_INTTYPES_H +-# include <inttypes.h> +-#elif defined HAVE_SYS_TYPES_H +-# include <sys/types.h> +-#endif ++@INCLUDE_STDINT@ + + typedef @SIZE16@ spx_int16_t; + typedef @USIZE16@ spx_uint16_t; +-- +1.9.3 +
meta/recipes-multimedia/speex/speexdsp_1.2rc3.bb new file +39 -0
@@ -0,0 +1,39 @@ +SUMMARY = "A patent-free DSP library" +DESCRIPTION = "SpeexDSP is a patent-free, Open Source/Free Software DSP library." +HOMEPAGE = "http://www.speex.org" +SECTION = "libs" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=314649d8ba9dd7045dfb6683f298d0a8" + +SRC_URI = "http://downloads.xiph.org/releases/speex/speexdsp-${PV}.tar.gz \ + file://0001-Don-t-rely-on-HAVE_STDINT_H-et-al.-being-defined.patch" + +SRC_URI[md5sum] = "70d9d31184f7eb761192fd1ef0b73333" +SRC_URI[sha256sum] = "4ae688600039f5d224bdf2e222d2fbde65608447e4c2f681585e4dca6df692f1" + +inherit autotools pkgconfig + +EXTRA_OECONF = "\ + --disable-examples \ + ${@bb.utils.contains('TARGET_FPU', 'soft', '--enable-fixed-point --disable-float-api', '', d)} \ +" + +# Workaround for a build failure when building with MACHINE=qemuarm64. I think +# aarch64 is supposed to support NEON just fine, but building for qemuarm64 +# fails in NEON code: +# +# .../speexdsp-1.2rc3/libspeexdsp/resample_neon.h:148:5: error: impossible constraint in 'asm' +# asm volatile (" cmp %[len], #0\n" +# ^ +# +# I sent an email about the issue to speex-dev. At the time of writing there +# are no responses yet: +# http://thread.gmane.org/gmane.comp.audio.compression.speex.devel/7360 +EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--disable-neon', '', d)}" + +# speexdsp was split off from speex in 1.2rc2. Older versions of speex can't +# be installed together with speexdsp, since they contain overlapping files. +RCONFLICTS_${PN} = "speex (< 1.2rc2)" +RCONFLICTS_${PN}-dbg = "speex-dbg (< 1.2rc2)" +RCONFLICTS_${PN}-dev = "speex-dev (< 1.2rc2)" +RCONFLICTS_${PN}-staticdev = "speex-staticdev (< 1.2rc2)"
Signature · 1 line
1.9.3
PATCH 2/3 speex: 1.2rc1 -> 1.2rc2
In reply to Tanu KaskinenDropped speex-fpu.inc, since it's simpler to put the logic directly in the .bb file.
LIC_FILES_CHKSUM changed due to whitespace changes only.
Dropped PR.
Added a dependency on speexdsp. The speexdsp functionality used to be included in speex, but upstream split the speexdsp package off into a separate source tree. speexdsp could otherwise be an optional dependency, but the upstream configure script doesn't support disabling it explicitly, and relying on automatic detection would make builds nondeterministic, so it's better to always enable it.
--enable-fixed-point was previously included in the configure options unconditionally, but the option should be used only when TARGET_FPU is set to "soft".
--with-ogg-libraries, --with-ogg-includes and --disable-oggtest aren't supported anymore, since speex now uses pkg-config to find libogg.
---
meta/recipes-multimedia/speex/speex-fpu.inc | 4 ----
.../speex/{speex_1.2rc1.bb => speex_1.2rc2.bb} | 18 +++++++-----------
2 files changed, 7 insertions(+), 15 deletions(-)
delete mode 100644 meta/recipes-multimedia/speex/speex-fpu.inc
rename meta/recipes-multimedia/speex/{speex_1.2rc1.bb => speex_1.2rc2.bb} (51%)meta/recipes-multimedia/speex/speex-fpu.inc deleted +0 -4
@@ -1,4 +0,0 @@ -def get_speex_fpu_setting(bb, d): - if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: - return "--enable-fixed-point --disable-float-api --disable-vbr" - return ""
meta/recipes-multimedia/speex/speex_1.2rc2.bb renamed from meta/recipes-multimedia/speex/speex_1.2rc1.bb +7 -11
@@ -4,20 +4,16 @@ HOMEPAGE = "http://www.speex.org" SECTION = "libs" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=314649d8ba9dd7045dfb6683f298d0a8 \ - file://include/speex/speex.h;beginline=1;endline=34;md5=a68129f78d7fe66e07163f73aba143b3" -DEPENDS = "libogg" - -PR = "r2" + file://include/speex/speex.h;beginline=1;endline=34;md5=ef8c8ea4f7198d71cf3509c6ed05ea50" +DEPENDS = "libogg speexdsp" SRC_URI = "http://downloads.us.xiph.org/releases/speex/speex-${PV}.tar.gz" -SRC_URI[md5sum] = "c4438b22c08e5811ff10e2b06ee9b9ae" -SRC_URI[sha256sum] = "342f30dc57bd4a6dad41398365baaa690429660b10d866b7d508e8f1179cb7a6" +SRC_URI[md5sum] = "6ae7db3bab01e1d4b86bacfa8ca33e81" +SRC_URI[sha256sum] = "caa27c7247ff15c8521c2ae0ea21987c9e9710a8f2d3448e8b79da9806bce891" inherit autotools pkgconfig lib_package -EXTRA_OECONF = " --enable-fixed-point --with-ogg-libraries=${STAGING_LIBDIR} \ - --with-ogg-includes=${STAGING_INCDIR} --disable-oggtest" - -require speex-fpu.inc -EXTRA_OECONF += "${@get_speex_fpu_setting(bb, d)}" +EXTRA_OECONF = "\ + ${@bb.utils.contains('TARGET_FPU', 'soft', '--enable-fixed-point --disable-float-api --disable-vbr', '', d)} \ +"
Signature · 1 line
1.9.3
PATCH 3/3 alsa-plugins, pulseaudio: depend on speexdsp, not speex
In reply to Tanu KaskinenSpeexdsp was split off from speex, and alsa-plugins and pulseaudio only depend on the speexdsp library.
--- meta/recipes-multimedia/alsa/alsa-plugins_1.0.29.bb | 4 ++-- meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
meta/recipes-multimedia/alsa/alsa-plugins_1.0.29.bb +2 -2
@@ -29,7 +29,7 @@ inherit autotools pkgconfig PACKAGECONFIG ??= "\ samplerate \ - speex \ + speexdsp \ ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \ " PACKAGECONFIG[avcodec] = "--enable-avcodec,--disable-avcodec,libav"
@@ -38,7 +38,7 @@ PACKAGECONFIG[maemo-plugin] = "--enable-maemo-plugin,--disable-maemo-plugin" PACKAGECONFIG[maemo-resource-manager] = "--enable-maemo-resource-manager,--disable-maemo-resource-manager,dbus" PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio" PACKAGECONFIG[samplerate] = "--enable-samplerate,--disable-samplerate,libsamplerate0" -PACKAGECONFIG[speex] = "--with-speex=lib,--with-speex=no,speex" +PACKAGECONFIG[speexdsp] = "--with-speex=lib,--with-speex=no,speexdsp" PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}"
meta/recipes-multimedia/pulseaudio/pulseaudio.inc +1 -1
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://GPL;md5=4325afd396febcb659c36b49533135d4 \ DEPENDS = "libatomics-ops liboil libsndfile1 libtool" # optional DEPENDS += "udev alsa-lib glib-2.0 dbus gconf" -DEPENDS += "json-c gdbm speex libxml-parser-perl-native libcap" +DEPENDS += "json-c gdbm speexdsp libxml-parser-perl-native libcap" inherit autotools pkgconfig useradd gettext perlnative bluetooth systemd
Signature · 1 line
1.9.3
Quoted 3 lines · Tanu Kaskinen
These patches update speex to 1.2rc2 and speexdsp to 1.2rc3. speexdsp was previously included in speex, but now it's in a separate source tree, so a new recipe is needed.
The gap between rc1 and rc2 has been six *years*, and rc2 has been released 7 *months* ago. The upstream clearly doesn't know the definition of 'release candidate' :)
I'm totally fine with your patches, just in case.
Alex
Quoted 4 lines · Tanu Kaskinen
These patches update speex to 1.2rc2 and speexdsp to 1.2rc3. speexdsp was previously included in speex, but now it's in a separate source tree, so a new recipe is needed.
Quoted 8 lines
The following changes since commit
dd09fab685de2eaf04aa5ab60f8220b89c1deae9:tune-core2.inc: set X86ARCH32 to i686 (instead of i586) (2015-07-02 23:08:27 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contribtanuk/speex
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=tanuk/speex
I included these patches on the autobuilder in master-next and saw:
and also what looks like a another separate but related issue:
https://autobuilder.yoctoproject.org/main/builders/nightly-world-lsb/builds/107/steps/BuildImages/logs/stdio
https://autobuilder.yoctoproject.org/main/builders/nightly-world/builds/387/steps/BuildImages/logs/stdio
https://autobuilder.yoctoproject.org/main/builders/nightly-multilib/builds/383/steps/BuildImages_2/logs/stdio
Could you take a look and see if we can figure out the issue there please?
Cheers,
Richard
Quoted 18 lines · Richard Purdie
Quoted 4 lines · Tanu Kaskinen
These patches update speex to 1.2rc2 and speexdsp to 1.2rc3. speexdsp was previously included in speex, but now it's in a separate source tree, so a new recipe is needed.
Quoted 8 lines
The following changes since commit
dd09fab685de2eaf04aa5ab60f8220b89c1deae9:tune-core2.inc: set X86ARCH32 to i686 (instead of i586) (2015-07-02 23:08:27 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contribtanuk/speex
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=tanuk/speexI included these patches on the autobuilder in master-next and saw:
Quoted 8 lines
and also what looks like a another separate but related issue:
https://autobuilder.yoctoproject.org/main/builders/nightly-world-lsb/builds/107/steps/BuildImages/logs/stdio
https://autobuilder.yoctoproject.org/main/builders/nightly-world/builds/387/steps/BuildImages/logs/stdio
https://autobuilder.yoctoproject.org/main/builders/nightly-multilib/builds/383/steps/BuildImages_2/logs/stdioCould you take a look and see if we can figure out the issue there please?
Yes, I'll investigate.
Signature · 1 line
Tanu
Quoted 21 lines · Tanu Kaskinen
Quoted 20 lines · Richard Purdie
Quoted 4 lines · Tanu Kaskinen
These patches update speex to 1.2rc2 and speexdsp to 1.2rc3. speexdsp was previously included in speex, but now it's in a separate source tree, so a new recipe is needed.
Quoted 8 lines
The following changes since commit
dd09fab685de2eaf04aa5ab60f8220b89c1deae9:tune-core2.inc: set X86ARCH32 to i686 (instead of i586) (2015-07-02 23:08:27 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contribtanuk/speex
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=tanuk/speexI included these patches on the autobuilder in master-next and saw:
and also what looks like a another separate but related issue:
Quoted 8 lines
Quoted 6 lines
https://autobuilder.yoctoproject.org/main/builders/nightly-world-lsb/builds/107/steps/BuildImages/logs/stdio
https://autobuilder.yoctoproject.org/main/builders/nightly-world/builds/387/steps/BuildImages/logs/stdio
https://autobuilder.yoctoproject.org/main/builders/nightly-multilib/builds/383/steps/BuildImages_2/logs/stdioCould you take a look and see if we can figure out the issue there please?
Yes, I'll investigate.
I sent now v2 of the patches, which should fix the alsa-plugins build failures.
The libspeexdsp-dev problem is more difficult, and I don't really know how to debug it further. The error message was:
error: Can't install pulseaudio-dev-6.0-r0@core2_32: no package provides libspeexdsp-dev
However, "bitbake speexdsp" seems to generate the libspeexdsp-dev package just fine (libspeexdsp-dev_1.2rc3-r0_core2-64.ipk appears in the deploy directory).
Signature · 1 line
Tanu
Quoted 2 lines · Tanu Kaskinen
I sent now v2 of the patches, which should fix the alsa-plugins build failures.
Thanks, those do indeed seem resolved.
Quoted 8 lines
The libspeexdsp-dev problem is more difficult, and I don't really know how to debug it further. The error message was:
error: Can't install pulseaudio-dev-6.0-r0@core2_32: no package provides libspeexdsp-dev
However, "bitbake speexdsp" seems to generate the libspeexdsp-dev package just fine (libspeexdsp-dev_1.2rc3-r0_core2-64.ipk appears in the deploy directory).
Oddly enough, it happened again with the new patches:
It only seems to happen on x86-lsb, not any other architecture. Why? No idea as yet :/.
Cheers,
Richard
Quoted 7 lines · Tanu Kaskinen
Quoted 5 lines · Tanu Kaskinen
Quoted 4 lines · Richard Purdie
I included these patches on the autobuilder in master-next and saw:
Quoted 8 lines
The libspeexdsp-dev problem is more difficult, and I don't really know how to debug it further. The error message was:
error: Can't install pulseaudio-dev-6.0-r0@core2_32: no package provides libspeexdsp-dev
However, "bitbake speexdsp" seems to generate the libspeexdsp-dev package just fine (libspeexdsp-dev_1.2rc3-r0_core2-64.ipk appears in the deploy directory).
This one is a little crazy to debug. What you need to do is build something i586 (like qemux86), then build something core2_32 (like genericx86), then "bitbake core-image-lsb core-image-lsb-sdk -c rootfs" and hope the -lsb image builds before -lsb-sdk (I hacked runqueue to ensure that). Then you see this error.
genericx86 is seeing two copies of libspeexdsp-dev, one from the i586 feed and one from the core2_32 feed and somehow they confuse it, perhaps due to the RCONFLICTS or something.
Obviously this isn't really a bug in the libspeexdsp recipe, its a bug in smart combined with a second bug where genericx86 shouldn't be seeing the i586 packages.
I'll continue to try and narrow it down and produce a test case which is more easily replicable. I'll not block your upgrades on this though, this needs fixing elsewhere.
Cheers,
Richard
(going quietly insane with the number of AB 'random' failures)
Quoted 23 lines · Richard Purdie
Quoted 7 lines · Tanu Kaskinen
Quoted 5 lines · Tanu Kaskinen
Quoted 4 lines · Richard Purdie
I included these patches on the autobuilder in master-next and saw:
Quoted 8 lines
The libspeexdsp-dev problem is more difficult, and I don't really know how to debug it further. The error message was:
error: Can't install pulseaudio-dev-6.0-r0@core2_32: no package provides libspeexdsp-dev
However, "bitbake speexdsp" seems to generate the libspeexdsp-dev package just fine (libspeexdsp-dev_1.2rc3-r0_core2-64.ipk appears in the deploy directory).
This one is a little crazy to debug. What you need to do is build something i586 (like qemux86), then build something
core2_32(like genericx86), then "bitbake core-image-lsb core-image-lsb-sdk -c rootfs" and hope the -lsb image builds before -lsb-sdk (I hacked runqueue to ensure that). Then you see this error.
Quoted 7 lines
genericx86 is seeing two copies of libspeexdsp-dev, one from the i586 feed and one from the
core2_32feed and somehow they confuse it, perhaps due to the RCONFLICTS or something.Obviously this isn't really a bug in the libspeexdsp recipe, its a bug in smart combined with a second bug where genericx86 shouldn't be seeing the i586 packages.
Not sure if it's related, but tune-core2.inc deliberately includes PACKAGE_EXTRA_ARCHS_tune-i586 when defining PACKAGE_EXTRA_ARCHS_tune-core2-32, which seems to be correct according to conf/machine/include/README:
"PACKAGE_EXTRA_ARCHS_tune-<tune> - List all of the package architectures that are compatible with this specific tune. The package arch of this tune must be in the list."
Quoted 15 lines
I'll continue to try and narrow it down and produce a test case which is more easily replicable. I'll not block your upgrades on this though, this needs fixing elsewhere.
Cheers,
Richard
(going quietly insane with the number of AB 'random' failures)--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Quoted 33 lines · Andre McCurdy
Quoted 23 lines · Richard Purdie
Quoted 7 lines · Tanu Kaskinen
Quoted 5 lines · Tanu Kaskinen
Quoted 4 lines · Richard Purdie
I included these patches on the autobuilder in master-next and saw:
Quoted 8 lines
The libspeexdsp-dev problem is more difficult, and I don't really know how to debug it further. The error message was:
error: Can't install pulseaudio-dev-6.0-r0@core2_32: no package provides libspeexdsp-dev
However, "bitbake speexdsp" seems to generate the libspeexdsp-dev package just fine (libspeexdsp-dev_1.2rc3-r0_core2-64.ipk appears in the deploy directory).
This one is a little crazy to debug. What you need to do is build something i586 (like qemux86), then build something
core2_32(like genericx86), then "bitbake core-image-lsb core-image-lsb-sdk -c rootfs" and hope the -lsb image builds before -lsb-sdk (I hacked runqueue to ensure that). Then you see this error.Quoted 7 lines
genericx86 is seeing two copies of libspeexdsp-dev, one from the i586 feed and one from the
core2_32feed and somehow they confuse it, perhaps due to the RCONFLICTS or something.Obviously this isn't really a bug in the libspeexdsp recipe, its a bug in smart combined with a second bug where genericx86 shouldn't be seeing the i586 packages.
Quoted 8 lines
Not sure if it's related, but tune-core2.inc deliberately includes PACKAGE_EXTRA_ARCHS_tune-i586 when defining PACKAGE_EXTRA_ARCHS_tune-core2-32, which seems to be correct according to conf/machine/include/README:
"PACKAGE_EXTRA_ARCHS_tune-<tune> - List all of the package architectures that are compatible with this specific tune. The package arch of this tune must be in the list."
As we define things today, its certainly correct. I do continue to wonder if there shouldn't be two different fields, the list of arches to use at build time and the complete list of compatible arches which would be separate.
How we'd go about such an invasive change is the real issue.
Cheers,
Richard