package/re2: needs threads
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Sat, 12 Sep 2020 17:04:20 +0000 (19:04 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Sun, 13 Sep 2020 16:56:47 +0000 (18:56 +0200)
re2 unconditionally uses -pthread and add it to re2.pc

Moreover, it fails to buid without threads on:

In file included from /home/peko/autobuild/instance-0/output-1/per-package/re2/host/opt/ext-toolchain/arm-buildroot-linux-uclibcgnueabihf/include/c++/8.3.0/arm-buildroot-linux-uclibcgnueabihf/bits/os_defines.h:39,
                 from /home/peko/autobuild/instance-0/output-1/per-package/re2/host/opt/ext-toolchain/arm-buildroot-linux-uclibcgnueabihf/include/c++/8.3.0/arm-buildroot-linux-uclibcgnueabihf/bits/c++config.h:508,
                 from /home/peko/autobuild/instance-0/output-1/per-package/re2/host/opt/ext-toolchain/arm-buildroot-linux-uclibcgnueabihf/include/c++/8.3.0/bits/stl_algobase.h:59,
                 from /home/peko/autobuild/instance-0/output-1/per-package/re2/host/opt/ext-toolchain/arm-buildroot-linux-uclibcgnueabihf/include/c++/8.3.0/memory:62,
                 from /home/peko/autobuild/instance-0/output-1/build/re2-2020-08-01/re2/filtered_re2.h:24,
                 from /home/peko/autobuild/instance-0/output-1/build/re2-2020-08-01/re2/filtered_re2.cc:5:
/home/peko/autobuild/instance-0/output-1/per-package/re2/host/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/features.h:218:5: warning: #warning requested reentrant code, but thread support was disabled [-Wcpp]
 #   warning requested reentrant code, but thread support was disabled
     ^~~~~~~
In file included from /home/peko/autobuild/instance-0/output-1/build/re2-2020-08-01/re2/prog.h:22,
                 from /home/peko/autobuild/instance-0/output-1/build/re2-2020-08-01/re2/bitstate.cc:28:
/home/peko/autobuild/instance-0/output-1/build/re2-2020-08-01/re2/re2.h:768:16: error: 'once_flag' in namespace 'std' does not name a type
   mutable std::once_flag rprog_once_;
                ^~~~~~~~~
/home/peko/autobuild/instance-0/output-1/build/re2-2020-08-01/re2/re2.h:768:11: note: 'std::once_flag' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
/home/peko/autobuild/instance-0/output-1/build/re2-2020-08-01/re2/re2.h:218:1:
+#include <mutex>

Fixes:
 - http://autobuild.buildroot.org/results/7d7c6dcac3cb8ea6deb753178e85eb1c5c74c8e3

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Reviewed-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/grpc/Config.in
package/re2/Config.in

index 2eb7c1de1c6f4888e69e70e63801ed3214ee9efd..0270b38c35bfcfaf664a98e7c1a0f30fd5281234 100644 (file)
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_GRPC
        bool "grpc"
        depends on BR2_INSTALL_LIBSTDCPP
-       depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf
+       depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf, re2
        depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf
        depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # protobuf, re2
        depends on !BR2_STATIC_LIBS # protobuf, libabseil-cpp
index 004185a4b660fe113772975aaadafb68ac857899..64217e8aa23f2cd53fe759951af9da606b938b91 100644 (file)
@@ -2,6 +2,7 @@ config BR2_PACKAGE_RE2
        bool "re2"
        depends on BR2_INSTALL_LIBSTDCPP
        depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # needs C++11
+       depends on BR2_TOOLCHAIN_HAS_THREADS
        help
          RE2 is a fast, safe, thread-friendly alternative
          to backtracking regular expression engines like
@@ -10,5 +11,7 @@ config BR2_PACKAGE_RE2
 
          https://github.com/google/re2
 
-comment "re2 needs a toolchain w/ C++, gcc >= 4.8"
-       depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+comment "re2 needs a toolchain w/ C++, threads, gcc >= 4.8"
+       depends on !BR2_INSTALL_LIBSTDCPP || \
+               !BR2_TOOLCHAIN_HAS_THREADS || \
+               !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8