* [Buildroot] [PATCH] package/protobuf: needs gcc >= 4.5
@ 2017-05-07 13:16 Romain Naour
2017-05-07 13:20 ` Thomas Petazzoni
0 siblings, 1 reply; 3+ messages in thread
From: Romain Naour @ 2017-05-07 13:16 UTC (permalink / raw)
To: buildroot
Even with an upstream patch from protobuf v3.3 [1], the build fail with another issue:
In file included from google/protobuf/dynamic_message.cc:80:
./google/protobuf/map_field.h: In member function 'void google::protobuf::internal::MapField<Key, T, key_wire_type, value_wire_type, default_enum_value>::Swap(google::protobuf::internal::MapFieldLite<Key, T, kKeyFieldType, kValueFieldType, default_enum_value>*)':
./google/protobuf/map_field.h:139: error: object missing in reference to 'google::protobuf::internal::MapFieldBase::repeated_field_'
./google/protobuf/map_field_inl.h:342: error: from this location
./google/protobuf/map_field.h:150: error: object missing in reference to 'google::protobuf::internal::MapFieldBase::state_'
./google/protobuf/map_field_inl.h:344: error: from this location
Add a dependency on gcc >= 4.5.
[1] https://github.com/google/protobuf/commit/a83ac8663fb8042a881bc60b12a8bd3a0c03a3ff
Fixes:
http://autobuild.buildroot.org/results/77d/77dbb6bbbc0ea9e9bcdd22b10011ef9728c20d54
http://autobuild.buildroot.org/results/21f/21f5e1ea4f37e1d174604d6da78c0e916c89f1e3
http://autobuild.buildroot.org/results/24e/24e880086c87d40b5d79a90d805acc75b33d484c
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Mario J. Rugiero <mrugiero@gmail.com>
---
package/mosh/Config.in | 7 +++++--
package/ola/Config.in | 7 +++++--
package/protobuf-c/Config.in | 6 ++++--
package/protobuf/Config.in | 7 +++++--
package/python-protobuf/Config.in | 1 +
5 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/package/mosh/Config.in b/package/mosh/Config.in
index d1fbd63..e0ff2cf 100644
--- a/package/mosh/Config.in
+++ b/package/mosh/Config.in
@@ -1,6 +1,7 @@
-comment "mosh needs a toolchain w/ C++, threads, dynamic library, wchar"
+comment "mosh needs a toolchain w/ C++, threads, dynamic library, wchar, host and target gcc >= 4.5"
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \
- || BR2_STATIC_LIBS || !BR2_USE_WCHAR
+ || BR2_STATIC_LIBS || !BR2_USE_WCHAR \
+ || !BR2_HOST_GCC_AT_LEAST_4_5 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
config BR2_PACKAGE_MOSH
@@ -8,6 +9,8 @@ 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_HOST_GCC_AT_LEAST_4_5 # protobuf
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 # 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 656e825..45e8f8f 100644
--- a/package/ola/Config.in
+++ b/package/ola/Config.in
@@ -1,6 +1,7 @@
-comment "ola needs a toolchain w/ C++, threads, dynamic library"
+comment "ola needs a toolchain w/ C++, threads, dynamic library, host and target gcc >= 4.5"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
- || BR2_STATIC_LIBS
+ || BR2_STATIC_LIBS || !BR2_HOST_GCC_AT_LEAST_4_5 \
+ || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
depends on BROKEN
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
@@ -16,6 +17,8 @@ menuconfig BR2_PACKAGE_OLA
depends on !BR2_STATIC_LIBS # protobuf
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
+ depends on BR2_HOST_GCC_AT_LEAST_4_5 # protobuf
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 # protobuf
help
Open Lighting Architecture provides applications
with a mechanism to send and receive DMX512 & RDM
diff --git a/package/protobuf-c/Config.in b/package/protobuf-c/Config.in
index a32e6cd..6f916c5 100644
--- a/package/protobuf-c/Config.in
+++ b/package/protobuf-c/Config.in
@@ -4,12 +4,14 @@ config BR2_PACKAGE_PROTOBUF_C
depends on BR2_TOOLCHAIN_HAS_THREADS
# host-protobuf only builds on certain architectures
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
+ depends on BR2_HOST_GCC_AT_LEAST_4_5 # host-protobuf
help
Code generator and runtime libraries to use Protocol Buffers
from pure C (not C++).
https://github.com/protobuf-c/protobuf-c
-comment "protobuf-c needs a toolchain w/ C++, threads"
- depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
+comment "protobuf-c needs a toolchain w/ C++, threads, host gcc >= 4.5"
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
+ || !BR2_HOST_GCC_AT_LEAST_4_5
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
diff --git a/package/protobuf/Config.in b/package/protobuf/Config.in
index 03d118c..8287035 100644
--- a/package/protobuf/Config.in
+++ b/package/protobuf/Config.in
@@ -30,6 +30,8 @@ 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_HOST_GCC_AT_LEAST_4_5
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
depends on !BR2_STATIC_LIBS
help
Protocol buffers are Google's language-neutral, platform-neutral,
@@ -37,7 +39,8 @@ config BR2_PACKAGE_PROTOBUF
https://developers.google.com/protocol-buffers
-comment "protobuf needs a toolchain w/ C++, threads, dynamic library"
+comment "protobuf needs a toolchain w/ C++, threads, dynamic library, host and target gcc >= 4.5"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
- || BR2_STATIC_LIBS
+ || BR2_STATIC_LIBS || !BR2_HOST_GCC_AT_LEAST_4_5 \
+ || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
diff --git a/package/python-protobuf/Config.in b/package/python-protobuf/Config.in
index 3cfddd3..68523e9 100644
--- a/package/python-protobuf/Config.in
+++ b/package/python-protobuf/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_PYTHON_PROTOBUF
depends on BR2_PACKAGE_PYTHON
# host-protobuf only builds on certain architectures
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
+ depends on BR2_HOST_GCC_AT_LEAST_4_5 # host-protobuf
help
Python implementation of the Google Protocol Buffers.
--
2.9.3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH] package/protobuf: needs gcc >= 4.5
2017-05-07 13:16 [Buildroot] [PATCH] package/protobuf: needs gcc >= 4.5 Romain Naour
@ 2017-05-07 13:20 ` Thomas Petazzoni
2017-05-07 13:33 ` Romain Naour
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Petazzoni @ 2017-05-07 13:20 UTC (permalink / raw)
To: buildroot
Hello,
On Sun, 7 May 2017 15:16:52 +0200, Romain Naour wrote:
> diff --git a/package/protobuf-c/Config.in b/package/protobuf-c/Config.in
> index a32e6cd..6f916c5 100644
> --- a/package/protobuf-c/Config.in
> +++ b/package/protobuf-c/Config.in
> @@ -4,12 +4,14 @@ config BR2_PACKAGE_PROTOBUF_C
> depends on BR2_TOOLCHAIN_HAS_THREADS
> # host-protobuf only builds on certain architectures
> depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
> + depends on BR2_HOST_GCC_AT_LEAST_4_5 # host-protobuf
You're adding a new dependency to protobuf-c, but protobuf-c is also
selected by a few packages:
package/collectd/Config.in: select BR2_PACKAGE_PROTOBUF_C
package/riemann-c-client/Config.in: select BR2_PACKAGE_PROTOBUF_C
You also need to propagate the dependency to these packages.
Generally speaking, when propagating new dependencies, you should not
only take care of first level reverse dependencies, but also
recursively take care of all reverse dependencies.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH] package/protobuf: needs gcc >= 4.5
2017-05-07 13:20 ` Thomas Petazzoni
@ 2017-05-07 13:33 ` Romain Naour
0 siblings, 0 replies; 3+ messages in thread
From: Romain Naour @ 2017-05-07 13:33 UTC (permalink / raw)
To: buildroot
Hi Thomas,
Le 07/05/2017 ? 15:20, Thomas Petazzoni a ?crit :
> Hello,
>
> On Sun, 7 May 2017 15:16:52 +0200, Romain Naour wrote:
>
>> diff --git a/package/protobuf-c/Config.in b/package/protobuf-c/Config.in
>> index a32e6cd..6f916c5 100644
>> --- a/package/protobuf-c/Config.in
>> +++ b/package/protobuf-c/Config.in
>> @@ -4,12 +4,14 @@ config BR2_PACKAGE_PROTOBUF_C
>> depends on BR2_TOOLCHAIN_HAS_THREADS
>> # host-protobuf only builds on certain architectures
>> depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
>> + depends on BR2_HOST_GCC_AT_LEAST_4_5 # host-protobuf
>
> You're adding a new dependency to protobuf-c, but protobuf-c is also
> selected by a few packages:
>
> package/collectd/Config.in: select BR2_PACKAGE_PROTOBUF_C
> package/riemann-c-client/Config.in: select BR2_PACKAGE_PROTOBUF_C
>
> You also need to propagate the dependency to these packages.
>
> Generally speaking, when propagating new dependencies, you should not
> only take care of first level reverse dependencies, but also
> recursively take care of all reverse dependencies.
Thanks, fixed in v2.
Best regards,
Romain
>
> Thomas
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-05-07 13:33 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-07 13:16 [Buildroot] [PATCH] package/protobuf: needs gcc >= 4.5 Romain Naour
2017-05-07 13:20 ` Thomas Petazzoni
2017-05-07 13:33 ` Romain Naour
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox