Message ID | 20240317094037.41936-1-fontaine.fabrice@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [1/1] package/poco: needs C++17 | expand |
On 17/03/2024 10:40, Fabrice Fontaine wrote: > poco needs C++17 and gcc >=8 since bump to version 1.13.2 in commit > 433c4fd38b15efcf74b410e5068e2e51eeba6e46 and > https://github.com/pocoproject/poco/commit/78234857bf416b718455496800d1b7be3a0d0a53 > https://github.com/pocoproject/poco/commit/10f41c06d9416a6ae0884c4827ea2a91bf5d2cf8 > resulting in the following build failure with gcc 7: > > In file included from src/Thread.cpp:28:0: > src/Thread_POSIX.cpp: In member function 'void Poco::ThreadImpl::setNameImpl(const string&)': > src/Thread_POSIX.cpp:162:56: error: no matching function for call to 'std::__cxx11::basic_string<char>::append(const string&, std::__cxx11::basic_string<char>::size_type)' > truncName.append(threadName, threadName.size() - half); > ^ > > Fixes: 433c4fd38b15efcf74b410e5068e2e51eeba6e46 > - http://autobuild.buildroot.org/results/7b1c144f39a8be4ce8f964aa13a52d0bf62dd0aa > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Applied to master, thanks, but I have a question below. > --- > package/poco/Config.in | 6 +++--- > package/poco/poco.mk | 1 - > 2 files changed, 3 insertions(+), 4 deletions(-) > > diff --git a/package/poco/Config.in b/package/poco/Config.in > index 7cb9987ec7..9bdef125ad 100644 > --- a/package/poco/Config.in > +++ b/package/poco/Config.in > @@ -12,7 +12,7 @@ config BR2_PACKAGE_POCO > bool "poco" > depends on BR2_INSTALL_LIBSTDCPP > depends on BR2_USE_WCHAR > - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14 > + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 > # pthread_condattr_setclock > depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL > depends on !BR2_STATIC_LIBS # dlopen() > @@ -116,8 +116,8 @@ config BR2_PACKAGE_POCO_ZIP > > endif # BR2_PACKAGE_POCO > > -comment "poco needs a toolchain w/ wchar, NPTL, C++, dynamic library, gcc >= 5 w/ C++14" > +comment "poco needs a toolchain w/ wchar, NPTL, C++, dynamic library, gcc >= 8" > depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP \ > || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ > - || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 > + || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 > depends on BR2_PACKAGE_POCO_ARCH_SUPPORTS > diff --git a/package/poco/poco.mk b/package/poco/poco.mk > index cc8a22fc2a..233252c67b 100644 > --- a/package/poco/poco.mk > +++ b/package/poco/poco.mk > @@ -68,7 +68,6 @@ define POCO_CONFIGURE_CMDS > (cd $(@D); $(TARGET_MAKE_ENV) ./configure \ > --config=Linux \ > --prefix=/usr \ > - --cflags=-std=c++14 \ So the build system now passes -std=c++17 by itself? Or is C++17 already the default in GCC8? Regards, Arnout > --ldflags="$(POCO_LDFLAGS)" \ > --omit="$(POCO_OMIT)" \ > $(POCO_CONF_OPTS) \
Hello, Le dim. 17 mars 2024 à 22:41, Arnout Vandecappelle <arnout@mind.be> a écrit : > > > > On 17/03/2024 10:40, Fabrice Fontaine wrote: > > poco needs C++17 and gcc >=8 since bump to version 1.13.2 in commit > > 433c4fd38b15efcf74b410e5068e2e51eeba6e46 and > > https://github.com/pocoproject/poco/commit/78234857bf416b718455496800d1b7be3a0d0a53 > > https://github.com/pocoproject/poco/commit/10f41c06d9416a6ae0884c4827ea2a91bf5d2cf8 > > resulting in the following build failure with gcc 7: > > > > In file included from src/Thread.cpp:28:0: > > src/Thread_POSIX.cpp: In member function 'void Poco::ThreadImpl::setNameImpl(const string&)': > > src/Thread_POSIX.cpp:162:56: error: no matching function for call to 'std::__cxx11::basic_string<char>::append(const string&, std::__cxx11::basic_string<char>::size_type)' > > truncName.append(threadName, threadName.size() - half); > > ^ > > > > Fixes: 433c4fd38b15efcf74b410e5068e2e51eeba6e46 > > - http://autobuild.buildroot.org/results/7b1c144f39a8be4ce8f964aa13a52d0bf62dd0aa > > > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > > Applied to master, thanks, but I have a question below. > > > --- > > package/poco/Config.in | 6 +++--- > > package/poco/poco.mk | 1 - > > 2 files changed, 3 insertions(+), 4 deletions(-) > > > > diff --git a/package/poco/Config.in b/package/poco/Config.in > > index 7cb9987ec7..9bdef125ad 100644 > > --- a/package/poco/Config.in > > +++ b/package/poco/Config.in > > @@ -12,7 +12,7 @@ config BR2_PACKAGE_POCO > > bool "poco" > > depends on BR2_INSTALL_LIBSTDCPP > > depends on BR2_USE_WCHAR > > - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14 > > + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 > > # pthread_condattr_setclock > > depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL > > depends on !BR2_STATIC_LIBS # dlopen() > > @@ -116,8 +116,8 @@ config BR2_PACKAGE_POCO_ZIP > > > > endif # BR2_PACKAGE_POCO > > > > -comment "poco needs a toolchain w/ wchar, NPTL, C++, dynamic library, gcc >= 5 w/ C++14" > > +comment "poco needs a toolchain w/ wchar, NPTL, C++, dynamic library, gcc >= 8" > > depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP \ > > || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ > > - || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 > > + || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 > > depends on BR2_PACKAGE_POCO_ARCH_SUPPORTS > > diff --git a/package/poco/poco.mk b/package/poco/poco.mk > > index cc8a22fc2a..233252c67b 100644 > > --- a/package/poco/poco.mk > > +++ b/package/poco/poco.mk > > @@ -68,7 +68,6 @@ define POCO_CONFIGURE_CMDS > > (cd $(@D); $(TARGET_MAKE_ENV) ./configure \ > > --config=Linux \ > > --prefix=/usr \ > > - --cflags=-std=c++14 \ > > So the build system now passes -std=c++17 by itself? Or is C++17 already the > default in GCC8? Build system already passes -std=c++17 by itself since at least version 1.13.0 and https://github.com/pocoproject/poco/commit/6dad8502d365cb20cc2224dc5d922fb021898ccb > > Regards, > Arnout > > > --ldflags="$(POCO_LDFLAGS)" \ > > --omit="$(POCO_OMIT)" \ > > $(POCO_CONF_OPTS) \ Best Regards, Fabrice
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes: > poco needs C++17 and gcc >=8 since bump to version 1.13.2 in commit > 433c4fd38b15efcf74b410e5068e2e51eeba6e46 and > https://github.com/pocoproject/poco/commit/78234857bf416b718455496800d1b7be3a0d0a53 > https://github.com/pocoproject/poco/commit/10f41c06d9416a6ae0884c4827ea2a91bf5d2cf8 > resulting in the following build failure with gcc 7: > In file included from src/Thread.cpp:28:0: > src/Thread_POSIX.cpp: In member function 'void Poco::ThreadImpl::setNameImpl(const string&)': > src/Thread_POSIX.cpp:162:56: error: no matching function for call to 'std::__cxx11::basic_string<char>::append(const string&, std::__cxx11::basic_string<char>::size_type)' > truncName.append(threadName, threadName.size() - half); > ^ > Fixes: 433c4fd38b15efcf74b410e5068e2e51eeba6e46 > - http://autobuild.buildroot.org/results/7b1c144f39a8be4ce8f964aa13a52d0bf62dd0aa > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Committed to 2024.02.x, 2023.02.x and 2023.11.x, thanks.
diff --git a/package/poco/Config.in b/package/poco/Config.in index 7cb9987ec7..9bdef125ad 100644 --- a/package/poco/Config.in +++ b/package/poco/Config.in @@ -12,7 +12,7 @@ config BR2_PACKAGE_POCO bool "poco" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 # pthread_condattr_setclock depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on !BR2_STATIC_LIBS # dlopen() @@ -116,8 +116,8 @@ config BR2_PACKAGE_POCO_ZIP endif # BR2_PACKAGE_POCO -comment "poco needs a toolchain w/ wchar, NPTL, C++, dynamic library, gcc >= 5 w/ C++14" +comment "poco needs a toolchain w/ wchar, NPTL, C++, dynamic library, gcc >= 8" depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP \ || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 + || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 depends on BR2_PACKAGE_POCO_ARCH_SUPPORTS diff --git a/package/poco/poco.mk b/package/poco/poco.mk index cc8a22fc2a..233252c67b 100644 --- a/package/poco/poco.mk +++ b/package/poco/poco.mk @@ -68,7 +68,6 @@ define POCO_CONFIGURE_CMDS (cd $(@D); $(TARGET_MAKE_ENV) ./configure \ --config=Linux \ --prefix=/usr \ - --cflags=-std=c++14 \ --ldflags="$(POCO_LDFLAGS)" \ --omit="$(POCO_OMIT)" \ $(POCO_CONF_OPTS) \
poco needs C++17 and gcc >=8 since bump to version 1.13.2 in commit 433c4fd38b15efcf74b410e5068e2e51eeba6e46 and https://github.com/pocoproject/poco/commit/78234857bf416b718455496800d1b7be3a0d0a53 https://github.com/pocoproject/poco/commit/10f41c06d9416a6ae0884c4827ea2a91bf5d2cf8 resulting in the following build failure with gcc 7: In file included from src/Thread.cpp:28:0: src/Thread_POSIX.cpp: In member function 'void Poco::ThreadImpl::setNameImpl(const string&)': src/Thread_POSIX.cpp:162:56: error: no matching function for call to 'std::__cxx11::basic_string<char>::append(const string&, std::__cxx11::basic_string<char>::size_type)' truncName.append(threadName, threadName.size() - half); ^ Fixes: 433c4fd38b15efcf74b410e5068e2e51eeba6e46 - http://autobuild.buildroot.org/results/7b1c144f39a8be4ce8f964aa13a52d0bf62dd0aa Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> --- package/poco/Config.in | 6 +++--- package/poco/poco.mk | 1 - 2 files changed, 3 insertions(+), 4 deletions(-)