diff mbox

mpd: disable for sparcv8

Message ID 20160119224338.GA16884@waldemar-brodkorb.de
State Rejected
Headers show

Commit Message

Waldemar Brodkorb Jan. 19, 2016, 10:43 p.m. UTC
Even the main source code in mpd requires some missing
atomic ops. So only disable some failing plugins, does not
solve the following autobuild error:
http://autobuild.buildroot.net/results/e2207280f3a177e12dba502b1c01f5aeb431d04c/

Leon3 works fine.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
---
 package/mpd/Config.in |    2 ++
 1 file changed, 2 insertions(+)

Comments

Thomas Petazzoni Jan. 20, 2016, 9:18 a.m. UTC | #1
Dear Waldemar Brodkorb,

On Tue, 19 Jan 2016 23:43:38 +0100, Waldemar Brodkorb wrote:
> Even the main source code in mpd requires some missing
> atomic ops. So only disable some failing plugins, does not
> solve the following autobuild error:
> http://autobuild.buildroot.net/results/e2207280f3a177e12dba502b1c01f5aeb431d04c/
> 
> Leon3 works fine.
> 
> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
> ---
>  package/mpd/Config.in |    2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/package/mpd/Config.in b/package/mpd/Config.in
> index be0843f..b88c0ca 100644
> --- a/package/mpd/Config.in
> +++ b/package/mpd/Config.in
> @@ -6,6 +6,7 @@ menuconfig BR2_PACKAGE_MPD
>  	depends on BR2_USE_MMU # libglib2
>  	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
>  	depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
> +	depends on !BR2_sparc_v8 # feature need atomic ops

To be honest, I don't really like this solution. I know it is the
easiest quick fix, but it's not the long-term proper solution.

Instead, I've started looking at all architectures, to see which of the
__sync_*() and __atomic_*() builtins are supported, when -latomic is
needed or not needed, etc. Once we have this picture, we can then
design how such dependencies should be expressed rather than adding
more and more architecture exclusions.

Best regards,

Thomas
Waldemar Brodkorb Jan. 22, 2016, 5:46 p.m. UTC | #2
Hi Thomas,
Thomas Petazzoni wrote,

> Dear Waldemar Brodkorb,
> 
> On Tue, 19 Jan 2016 23:43:38 +0100, Waldemar Brodkorb wrote:
> > Even the main source code in mpd requires some missing
> > atomic ops. So only disable some failing plugins, does not
> > solve the following autobuild error:
> > http://autobuild.buildroot.net/results/e2207280f3a177e12dba502b1c01f5aeb431d04c/
> > 
> > Leon3 works fine.
> > 
> > Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
> > ---
> >  package/mpd/Config.in |    2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/package/mpd/Config.in b/package/mpd/Config.in
> > index be0843f..b88c0ca 100644
> > --- a/package/mpd/Config.in
> > +++ b/package/mpd/Config.in
> > @@ -6,6 +6,7 @@ menuconfig BR2_PACKAGE_MPD
> >  	depends on BR2_USE_MMU # libglib2
> >  	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
> >  	depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
> > +	depends on !BR2_sparc_v8 # feature need atomic ops
> 
> To be honest, I don't really like this solution. I know it is the
> easiest quick fix, but it's not the long-term proper solution.
> 
> Instead, I've started looking at all architectures, to see which of the
> __sync_*() and __atomic_*() builtins are supported, when -latomic is
> needed or not needed, etc. Once we have this picture, we can then
> design how such dependencies should be expressed rather than adding
> more and more architecture exclusions.

May be we can add this patch now and when you figured everything out
to do a clean solution, you just use grep to find the problematic
packages disabled for sparc/sparc64.

Therefore we have some fewer autobuild failures meanwhile.
Other atomic related patches got applied, so we should do this until
your refactoring.

best regards
 Waldemar
Thomas Petazzoni Jan. 22, 2016, 6:06 p.m. UTC | #3
Hello,

On Fri, 22 Jan 2016 18:46:52 +0100, Waldemar Brodkorb wrote:

> May be we can add this patch now and when you figured everything out
> to do a clean solution, you just use grep to find the problematic
> packages disabled for sparc/sparc64.
> 
> Therefore we have some fewer autobuild failures meanwhile.
> Other atomic related patches got applied, so we should do this until
> your refactoring.

Agreed. Then it would be good to make sure to annotate such
dependencies in a systematic way, so that we can easily grep for them
in the future.

Best regards,

Thomas
Thomas Petazzoni Feb. 7, 2016, 9:04 p.m. UTC | #4
Dear Waldemar Brodkorb,

On Tue, 19 Jan 2016 23:43:38 +0100, Waldemar Brodkorb wrote:
> Even the main source code in mpd requires some missing
> atomic ops. So only disable some failing plugins, does not
> solve the following autobuild error:
> http://autobuild.buildroot.net/results/e2207280f3a177e12dba502b1c01f5aeb431d04c/
> 
> Leon3 works fine.
> 
> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>

I've applied what I believe is a better solution:

  https://git.busybox.net/buildroot/commit/?id=84533029c70a4dffb2cd2e4f05e3903fd1b8fcd9

(it allows to build mpd on SPARCv8)

So I've marked your patch as rejected.

Thanks!

Thomas
diff mbox

Patch

diff --git a/package/mpd/Config.in b/package/mpd/Config.in
index be0843f..b88c0ca 100644
--- a/package/mpd/Config.in
+++ b/package/mpd/Config.in
@@ -6,6 +6,7 @@  menuconfig BR2_PACKAGE_MPD
 	depends on BR2_USE_MMU # libglib2
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
 	depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
+	depends on !BR2_sparc_v8 # feature need atomic ops
 	select BR2_PACKAGE_BOOST
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
@@ -303,6 +304,7 @@  config BR2_PACKAGE_MPD_UPNP
 endif
 
 comment "mpd needs a toolchain w/ C++, threads, wchar, gcc >= 4.6"
+	depends on !BR2_sparc_v8 # feature need atomic ops
 	depends on BR2_USE_MMU
 	depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \