package/osm2pgsql: needs std::future
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Tue, 10 Aug 2021 18:22:16 +0000 (20:22 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Thu, 12 Aug 2021 21:39:54 +0000 (23:39 +0200)
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@gmail.com>
Reviewed-by: Maxim Kochetkov <fido_max@inbox.ru>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/osm2pgsql/Config.in

index 1f1200cf466a07eed009e9f44dd4ac26b9b0a218..f9fafb857c1f80a245ca7ba52e6c3f1cec92bdd6 100644 (file)
@@ -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