diff options
author | Yann E. MORIN <yann.morin.1998@free.fr> | 2015-08-18 21:23:18 +0200 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2015-08-18 21:41:12 +0200 |
commit | 8d3e126e8303d9db52b3f0030d07bd337c6c660a (patch) | |
tree | 6b25627cb0684085d9916a1d4f16022d7a895d12 /package/protobuf | |
parent | e1bd76412d815b21ff373a8bdbc4b6c0cb7bbe98 (diff) |
package/protobuf: needs dynamic libraries
Eventhough it should be theoretically possible to build protobuf in
static-only, configure.ac includes an m4 macro, ACX_PTHREAD defined in
m4/acx_pthread.m4, which forcibly checks for threads *with* shared libs,
and is completely broken for static-only (as it forces -shared whatever
the user selection), ending up with these configure results:
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking whether to check for GCC pthread/shared inconsistencies... yes
checking whether -pthread is sufficient with -shared... no
checking whether -lpthread fixes that... no
checking whether -lc_r fixes that... no
configure: WARNING: Impossible to determine how to use pthreads with shared libraries
checking whether what we have so far is sufficient with -nostdlib... no
checking whether -lpthread saves the day... no
configure: WARNING: Impossible to determine how to use pthreads with shared libraries and -nostdlib
Fixing this macro is far from trivial; protobuf in a static-only
scenario is probably not too common. So, just disable protobuf for
static-only builds.
Fixes:
http://autobuild.buildroot.org/results/3ef/3efb86c7e8ec2db5d953d634470cafae79bd34cf/
http://autobuild.buildroot.org/results/96a/96ae1108fc3193df2a93a779057130b774379655/
http://autobuild.buildroot.org/results/00c/00c29795980319d38823eec1301e9ebd860ebd2a/
...
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Nimai Mahajan <nimaim@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/protobuf')
-rw-r--r-- | package/protobuf/Config.in | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/package/protobuf/Config.in b/package/protobuf/Config.in index bbb927f26..9ee7e7df4 100644 --- a/package/protobuf/Config.in +++ b/package/protobuf/Config.in @@ -7,13 +7,15 @@ config BR2_PACKAGE_PROTOBUF depends on BR2_arm || BR2_i386 || BR2_mipsel || BR2_x86_64 # host-protobuf only builds on certain architectures depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on !BR2_STATIC_LIBS help Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. https://developers.google.com/protocol-buffers -comment "protobuf needs a toolchain w/ C++, threads" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS +comment "protobuf needs a toolchain w/ C++, threads, dynamic library" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ + || BR2_STATIC_LIBS depends on BR2_arm || BR2_i386 || BR2_mipsel || BR2_x86_64 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" |