Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] openpgm: disable on AVR32
@ 2013-10-31  8:59 Alexander Lukichev
  2013-10-31 17:39 ` Arnout Vandecappelle
  2013-11-01 14:37 ` Thomas Petazzoni
  0 siblings, 2 replies; 6+ messages in thread
From: Alexander Lukichev @ 2013-10-31  8:59 UTC (permalink / raw)
  To: buildroot

openpgm doesn't build correctly on AVR32 using
gcc-4.2.2-avr32-2.1.5 toolchain: it is configured to call
intrinsic atomic functions not provided by the toolchain,
so they are propagated as unresolved external symbols in the
built openpgm libraries. This breaks programs that try to link
openpgm, because they do not know where to get those either. For
instance, it breaks building zeromq tests when PGM support is
selected.

This commit disables openpgm on AVR32 due to apparent absence of
interest in this package on that architecture and it breaking too
many test builds.

Fixes http://autobuild.buildroot.net/results/5a3261109ea63ba17375003eabd8b5d88757865f/
(at least)

Signed-off-by: Alexander Lukichev <alexander.lukichev@gmail.com>
---
 package/openpgm/Config.in | 5 +++++
 package/zeromq/Config.in  | 1 +
 2 files changed, 6 insertions(+)

diff --git a/package/openpgm/Config.in b/package/openpgm/Config.in
index cae74f7..94733cd 100644
--- a/package/openpgm/Config.in
+++ b/package/openpgm/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_OPENPGM
 	bool "openpgm"
+	depends on !BR2_avr32
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_INET_IPV6
 	depends on BR2_USE_WCHAR
@@ -14,3 +15,7 @@ config BR2_PACKAGE_OPENPGM
 
 comment "openpgm needs a toolchain w/ wchar, threads, IPv6"
 	depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_INET_IPV6 && BR2_USE_WCHAR)
+	depends on !BR2_avr32
+
+comment "openpgm is BROKEN on AVR32"
+	depends on BR2_avr32
diff --git a/package/zeromq/Config.in b/package/zeromq/Config.in
index 42e13d2..3e8516c 100644
--- a/package/zeromq/Config.in
+++ b/package/zeromq/Config.in
@@ -30,6 +30,7 @@ config BR2_PACKAGE_ZEROMQ
 config BR2_PACKAGE_ZEROMQ_PGM
 	bool "PGM/EPGM support"
 	depends on BR2_PACKAGE_ZEROMQ
+	depends on !BR2_avr32
 	select BR2_PACKAGE_OPENPGM
 	help
 	  Add support for Pragmatic General Multicast protocol (RFC 3208)
-- 
1.8.0.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH 1/1] openpgm: disable on AVR32
  2013-10-31  8:59 [Buildroot] [PATCH 1/1] openpgm: disable on AVR32 Alexander Lukichev
@ 2013-10-31 17:39 ` Arnout Vandecappelle
  2013-11-03 11:10   ` Alexander Lukichev
  2013-11-01 14:37 ` Thomas Petazzoni
  1 sibling, 1 reply; 6+ messages in thread
From: Arnout Vandecappelle @ 2013-10-31 17:39 UTC (permalink / raw)
  To: buildroot

On 31/10/13 09:59, Alexander Lukichev wrote:
> openpgm doesn't build correctly on AVR32 using
> gcc-4.2.2-avr32-2.1.5 toolchain: it is configured to call
> intrinsic atomic functions not provided by the toolchain,
> so they are propagated as unresolved external symbols in the
> built openpgm libraries. This breaks programs that try to link
> openpgm, because they do not know where to get those either. For
> instance, it breaks building zeromq tests when PGM support is
> selected.
>
> This commit disables openpgm on AVR32 due to apparent absence of
> interest in this package on that architecture and it breaking too
> many test builds.
>
> Fixes http://autobuild.buildroot.net/results/5a3261109ea63ba17375003eabd8b5d88757865f/
> (at least)
>
> Signed-off-by: Alexander Lukichev <alexander.lukichev@gmail.com>

  Good plan! However, your patch is incomplete.

> ---
>   package/openpgm/Config.in | 5 +++++
>   package/zeromq/Config.in  | 1 +
>   2 files changed, 6 insertions(+)
>
> diff --git a/package/openpgm/Config.in b/package/openpgm/Config.in
> index cae74f7..94733cd 100644
> --- a/package/openpgm/Config.in
> +++ b/package/openpgm/Config.in
> @@ -1,5 +1,6 @@
>   config BR2_PACKAGE_OPENPGM
>   	bool "openpgm"
> +	depends on !BR2_avr32
>   	depends on BR2_TOOLCHAIN_HAS_THREADS
>   	depends on BR2_INET_IPV6
>   	depends on BR2_USE_WCHAR
> @@ -14,3 +15,7 @@ config BR2_PACKAGE_OPENPGM
>
>   comment "openpgm needs a toolchain w/ wchar, threads, IPv6"
>   	depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_INET_IPV6 && BR2_USE_WCHAR)
> +	depends on !BR2_avr32
> +
> +comment "openpgm is BROKEN on AVR32"
> +	depends on BR2_avr32

  This comment isn't needed. We don't do it for other packages, and 
adding it would make it even more work to disable architectures.

> diff --git a/package/zeromq/Config.in b/package/zeromq/Config.in
> index 42e13d2..3e8516c 100644
> --- a/package/zeromq/Config.in
> +++ b/package/zeromq/Config.in
> @@ -30,6 +30,7 @@ config BR2_PACKAGE_ZEROMQ
>   config BR2_PACKAGE_ZEROMQ_PGM
>   	bool "PGM/EPGM support"
>   	depends on BR2_PACKAGE_ZEROMQ
> +	depends on !BR2_avr32

  zeromq has a lot of reverse dependencies: cppzmq, czmq, filemq, 
mongrel2, [python-pyzmq not necessary because python needs MMU], [zmqpp 
already disabled for avr32]. And there's one more transitive dependency 
to zyre. So all these should also be disabled.

  Regards,
  Arnout

>   	select BR2_PACKAGE_OPENPGM
>   	help
>   	  Add support for Pragmatic General Multicast protocol (RFC 3208)
>


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH 1/1] openpgm: disable on AVR32
  2013-10-31  8:59 [Buildroot] [PATCH 1/1] openpgm: disable on AVR32 Alexander Lukichev
  2013-10-31 17:39 ` Arnout Vandecappelle
@ 2013-11-01 14:37 ` Thomas Petazzoni
  1 sibling, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2013-11-01 14:37 UTC (permalink / raw)
  To: buildroot

Dear Alexander Lukichev,

On Thu, 31 Oct 2013 10:59:16 +0200, Alexander Lukichev wrote:

>  config BR2_PACKAGE_OPENPGM
>  	bool "openpgm"
> +	depends on !BR2_avr32

Would be good to add a comment explaining why we have this (compiler
too old, missing intrinsics)

>  	depends on BR2_TOOLCHAIN_HAS_THREADS
>  	depends on BR2_INET_IPV6
>  	depends on BR2_USE_WCHAR
> @@ -14,3 +15,7 @@ config BR2_PACKAGE_OPENPGM
>  
>  comment "openpgm needs a toolchain w/ wchar, threads, IPv6"
>  	depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_INET_IPV6 && BR2_USE_WCHAR)
> +	depends on !BR2_avr32
> +
> +comment "openpgm is BROKEN on AVR32"
> +	depends on BR2_avr32

We generally don't add comments for such cases (i.e package not
available on the selected architecture).

> diff --git a/package/zeromq/Config.in b/package/zeromq/Config.in
> index 42e13d2..3e8516c 100644
> --- a/package/zeromq/Config.in
> +++ b/package/zeromq/Config.in
> @@ -30,6 +30,7 @@ config BR2_PACKAGE_ZEROMQ
>  config BR2_PACKAGE_ZEROMQ_PGM
>  	bool "PGM/EPGM support"
>  	depends on BR2_PACKAGE_ZEROMQ
> +	depends on !BR2_avr32

Maybe:

	depends on !BR2_avr32 # openpgm

>  	select BR2_PACKAGE_OPENPGM
>  	help
>  	  Add support for Pragmatic General Multicast protocol (RFC 3208)

Can you fix these minor comments and resend an updated version?

Thanks a lot!

Thomas Petazzoni
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH 1/1] openpgm: disable on AVR32
  2013-10-31 17:39 ` Arnout Vandecappelle
@ 2013-11-03 11:10   ` Alexander Lukichev
  2013-11-03 11:18     ` Thomas Petazzoni
  0 siblings, 1 reply; 6+ messages in thread
From: Alexander Lukichev @ 2013-11-03 11:10 UTC (permalink / raw)
  To: buildroot

Hi Arnout,

10/31/2013 07:39 PM, Arnout Vandecappelle wrote:
>> +comment "openpgm is BROKEN on AVR32"
>> +    depends on BR2_avr32
>  This comment isn't needed. We don't do it for other packages, and
> adding it would make it even more work to disable architectures.
Understood. I was angry at openpgm :)

>>   config BR2_PACKAGE_ZEROMQ_PGM
>>       bool "PGM/EPGM support"
>>       depends on BR2_PACKAGE_ZEROMQ
>> +    depends on !BR2_avr32
>  zeromq has a lot of reverse dependencies: cppzmq, czmq, filemq,
> mongrel2, [python-pyzmq not necessary because python needs MMU], [zmqpp
> already disabled for avr32]. And there's one more transitive dependency
> to zyre. So all these should also be disabled.

I do not understand. Why should they be disabled? This patch does not
disable the zeromq library, merely PGM support in it. I may be mistaken
but "users" of zeromq that we have in Buildroot do not actually require
this feature (PGM support). Or am I missing the point?

Thanks for your comments!

--
Best regards,
  Alexander Lukichev

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH 1/1] openpgm: disable on AVR32
  2013-11-03 11:10   ` Alexander Lukichev
@ 2013-11-03 11:18     ` Thomas Petazzoni
  2013-11-03 17:46       ` Arnout Vandecappelle
  0 siblings, 1 reply; 6+ messages in thread
From: Thomas Petazzoni @ 2013-11-03 11:18 UTC (permalink / raw)
  To: buildroot

Dear Alexander Lukichev,

On Sun, 03 Nov 2013 13:10:27 +0200, Alexander Lukichev wrote:

> >>   config BR2_PACKAGE_ZEROMQ_PGM
> >>       bool "PGM/EPGM support"
> >>       depends on BR2_PACKAGE_ZEROMQ
> >> +    depends on !BR2_avr32
> >  zeromq has a lot of reverse dependencies: cppzmq, czmq, filemq,
> > mongrel2, [python-pyzmq not necessary because python needs MMU], [zmqpp
> > already disabled for avr32]. And there's one more transitive dependency
> > to zyre. So all these should also be disabled.
> 
> I do not understand. Why should they be disabled? This patch does not
> disable the zeromq library, merely PGM support in it. I may be mistaken
> but "users" of zeromq that we have in Buildroot do not actually require
> this feature (PGM support). Or am I missing the point?

You're correct, I believe Arnout missed the fact that the dependency is
added on a sub-option of the ZeroMQ package, and not on the ZeroMQ
package itself, and there is nothing that selects
BR2_PACKAGE_ZEROMQ_PGM.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH 1/1] openpgm: disable on AVR32
  2013-11-03 11:18     ` Thomas Petazzoni
@ 2013-11-03 17:46       ` Arnout Vandecappelle
  0 siblings, 0 replies; 6+ messages in thread
From: Arnout Vandecappelle @ 2013-11-03 17:46 UTC (permalink / raw)
  To: buildroot

On 03/11/13 12:18, Thomas Petazzoni wrote:
> Dear Alexander Lukichev,
>
> On Sun, 03 Nov 2013 13:10:27 +0200, Alexander Lukichev wrote:
>
>>>>    config BR2_PACKAGE_ZEROMQ_PGM
>>>>        bool "PGM/EPGM support"
>>>>        depends on BR2_PACKAGE_ZEROMQ
>>>> +    depends on !BR2_avr32
>>>   zeromq has a lot of reverse dependencies: cppzmq, czmq, filemq,
>>> mongrel2, [python-pyzmq not necessary because python needs MMU], [zmqpp
>>> already disabled for avr32]. And there's one more transitive dependency
>>> to zyre. So all these should also be disabled.
>>
>> I do not understand. Why should they be disabled? This patch does not
>> disable the zeromq library, merely PGM support in it. I may be mistaken
>> but "users" of zeromq that we have in Buildroot do not actually require
>> this feature (PGM support). Or am I missing the point?
>
> You're correct, I believe Arnout missed the fact that the dependency is
> added on a sub-option of the ZeroMQ package, and not on the ZeroMQ
> package itself, and there is nothing that selects
> BR2_PACKAGE_ZEROMQ_PGM.

  Indeed, sorry for the noise.

  Regards,
  Arnout


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-11-03 17:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-31  8:59 [Buildroot] [PATCH 1/1] openpgm: disable on AVR32 Alexander Lukichev
2013-10-31 17:39 ` Arnout Vandecappelle
2013-11-03 11:10   ` Alexander Lukichev
2013-11-03 11:18     ` Thomas Petazzoni
2013-11-03 17:46       ` Arnout Vandecappelle
2013-11-01 14:37 ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox