From: "Jörg Krause" <joerg.krause@embedded.rocks>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] package/protobuf: uses fork(), not available on no-MMU platforms
Date: Sat, 27 Aug 2016 20:01:36 +0200 [thread overview]
Message-ID: <1472320896.3953.4.camel@embedded.rocks> (raw)
In-Reply-To: <20160827151211.3984639c@free-electrons.com>
On Sa, 2016-08-27 at 15:12 +0200, Thomas Petazzoni wrote:
> Hello,
>
> On Sat, 27 Aug 2016 02:17:03 +0200, J?rg Krause wrote:
> >
> > Propagate the dependency to the packages mosh and ola.
> >
> > Fixes:
> > http://autobuild.buildroot.net/results/2c1/2c151e84d7854a810465dc16
> > 869023e0ada2d586/
> >
> > Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
>
> At first, I was a bit surprised as to why we're seeing this only now,
> so I investigated a bit, and came to the following conclusion, which
> I
> added to the commit log:
>
> """
> ????This was not noticed until now because:
> ????
> ?????1/ The older Blackfin toolchain doesn't have libatomic, so it
> didn't
> ????????provide the atomic operations that protobuf needs, so
> protobuf was
> ????????never built.
> ????
> ?????2/ The ARM Cortex-M toolchain is static-only, and protobuf
> requires
> ????????dynamic library support.
> ????
> ????So it's only with the new Blackfin toolchain, which is based on
> gcc
> ????6.x (and therefore provides libatomic) and is FDPIC-based (and
> therefore
> ????has dynamic library support) that this problem appeared.
>
> """
>
>
> >
> > diff --git a/package/protobuf/Config.in
> > b/package/protobuf/Config.in
> > index 3215a07..4a8d1ef 100644
> > --- a/package/protobuf/Config.in
> > +++ b/package/protobuf/Config.in
> > @@ -33,6 +33,7 @@ config BR2_PACKAGE_PROTOBUF
> > ? depends on BR2_INSTALL_LIBSTDCPP
> > ? depends on BR2_TOOLCHAIN_HAS_THREADS
> > ? depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
> > + depends on BR2_USE_MMU # fork()
> > ? depends on !BR2_STATIC_LIBS
> > ? help
> > ? ??Protocol buffers are Google's language-neutral,
> > platform-neutral,
>
> When you add a new dependency, you must also propagate it to the
> Config.in comment so that those comments don't appear on no-MMU
> platforms.
>
> *However*, in this specific case, there was already a
> BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS, to which it makes a lot of sense
> to
> add the BR2_USE_MMU dependency: it's an architecture dependency, and
> by
> doing so, it's automatically propagated to the existing comments and
> reverse dependencies.
Many thanks for improving the commit! However, there a some packages
which have an architecture dependency where the no-MMU dependency is
not added to the architecture dependency, e.g. gauche. Should those
packages be revised, too?
J?rg
next prev parent reply other threads:[~2016-08-27 18:01 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-27 0:17 [Buildroot] [PATCH] package/protobuf: uses fork(), not available on no-MMU platforms Jörg Krause
2016-08-27 13:12 ` Thomas Petazzoni
2016-08-27 18:01 ` Jörg Krause [this message]
2016-08-27 19:37 ` Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1472320896.3953.4.camel@embedded.rocks \
--to=joerg.krause@embedded.rocks \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox