[Buildroot] [git commit branch/next] package/osm2pgsql: needs std::future

Thomas Petazzoni thomas.petazzoni at bootlin.com
Thu Aug 12 21:39:54 UTC 2021


commit: https://git.buildroot.net/buildroot/commit/?id=6c4aee714f5bf5d40365d2677b5a9cd35b66b849
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/next

osm2pgsql needs std::future since its addition in commit
46c42042867e672eb21b386eb5e29747c30e80ca to avoid the following build
failure:

In file included from /home/buildroot/autobuild/run/instance-3/output-1/build/osm2pgsql-1.4.2/src/db-copy.cpp:12:0:
/home/buildroot/autobuild/run/instance-3/output-1/build/osm2pgsql-1.4.2/src/db-copy.hpp:218:24: error: field 'barrier' has incomplete type
     std::promise<void> barrier;
                        ^
/home/buildroot/autobuild/run/instance-3/output-1/build/osm2pgsql-1.4.2/src/db-copy.hpp: In constructor 'db_cmd_sync_t::db_cmd_sync_t(std::promise<void>&&)':
/home/buildroot/autobuild/run/instance-3/output-1/build/osm2pgsql-1.4.2/src/db-copy.hpp:221:37: error: class 'db_cmd_sync_t' does not have any field named 'barrier'
     : db_cmd_t(db_cmd_t::Cmd_sync), barrier(std::move(b))
                                     ^
In file included from /home/buildroot/autobuild/run/instance-3/output-1/build/osm2pgsql-1.4.2/src/middle.hpp:18:0,
                 from /home/buildroot/autobuild/run/instance-3/output-1/build/osm2pgsql-1.4.2/src/dependency-manager.cpp:11:
/home/buildroot/autobuild/run/instance-3/output-1/build/osm2pgsql-1.4.2/src/thread-pool.hpp: In member function 'void thread_pool_t::check_for_exceptions()':
/home/buildroot/autobuild/run/instance-3/output-1/build/osm2pgsql-1.4.2/src/thread-pool.hpp:49:19: error: invalid use of incomplete type 'class std::future<void>'
             result.get();
                   ^

Fixes:
 - http://autobuild.buildroot.org/results/69528232ceba128a2e60aa778bb0943fdefc2ed1

Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
Reviewed-by: Maxim Kochetkov <fido_max at inbox.ru>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
---
 package/osm2pgsql/Config.in | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/osm2pgsql/Config.in b/package/osm2pgsql/Config.in
index 1f1200cf46..f9fafb857c 100644
--- a/package/osm2pgsql/Config.in
+++ b/package/osm2pgsql/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_OSM2PGSQL
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11, libosmium, protozero
 	depends on BR2_TOOLCHAIN_HAS_THREADS # boost, libosmium
 	depends on BR2_USE_WCHAR # boost, fmt, libosmium
+	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future
 	select BR2_PACKAGE_BOOST
 	select BR2_PACKAGE_BOOST_SYSTEM
 	select BR2_PACKAGE_BOOST_FILESYSTEM
@@ -24,3 +25,6 @@ config BR2_PACKAGE_OSM2PGSQL
 comment "osm2pgsql needs a toolchain w/ C++,  wchar, threads, gcc >= 4.7"
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
 		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || !BR2_TOOLCHAIN_HAS_THREADS
+
+comment "osm2pgsql needs a toolchain not affected by GCC bug 64735"
+	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735


More information about the buildroot mailing list