Message ID | 20160827001703.18155-1-joerg.krause@embedded.rocks |
---|---|
State | Accepted |
Headers | show |
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/2c151e84d7854a810465dc16869023e0ada2d586/ > > 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. Applied with those changes. Thanks! Thomas
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
Hello, On Sat, 27 Aug 2016 20:01:36 +0200, Jörg Krause wrote: > 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? Yes, I'd say so. Thomas
diff --git a/package/mosh/Config.in b/package/mosh/Config.in index b4189ee..e9f68ce 100644 --- a/package/mosh/Config.in +++ b/package/mosh/Config.in @@ -8,6 +8,7 @@ config BR2_PACKAGE_MOSH depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS depends on BR2_INSTALL_LIBSTDCPP # protobuf depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf + depends on BR2_USE_MMU # protobuf depends on !BR2_STATIC_LIBS # protobuf depends on BR2_USE_WCHAR select BR2_PACKAGE_PROTOBUF diff --git a/package/ola/Config.in b/package/ola/Config.in index 7b56f5c..9fbf22b 100644 --- a/package/ola/Config.in +++ b/package/ola/Config.in @@ -9,6 +9,7 @@ menuconfig BR2_PACKAGE_OLA select BR2_PACKAGE_UTIL_LINUX_LIBUUID select BR2_PACKAGE_UTIL_LINUX depends on BR2_INSTALL_LIBSTDCPP # protobuf + depends on BR2_USE_MMU # protobuf depends on !BR2_STATIC_LIBS # protobuf depends on BR2_USE_WCHAR # util-linux depends on BR2_TOOLCHAIN_HAS_THREADS 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,
Propagate the dependency to the packages mosh and ola. Fixes: http://autobuild.buildroot.net/results/2c1/2c151e84d7854a810465dc16869023e0ada2d586/ Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> --- package/mosh/Config.in | 1 + package/ola/Config.in | 1 + package/protobuf/Config.in | 1 + 3 files changed, 3 insertions(+)