Summary: | dev-libs/xerces-c-3.2.4-r3 fails to compile with dev-libs/icu-75.1: /usr/include/unicode/localpointer.h:561:26: error: ‘auto’ parameter not permitted in this context | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Kostadin Shishmanov <kocelfc> |
Component: | Current packages | Assignee: | No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 931089, 932510 | ||
Attachments: |
build log
Patch which fixes the build failure |
Created attachment 892182 [details, diff]
Patch which fixes the build failure
Adding -std=gnu++17 or -std=c++17 to CXXFLAGS does nothing since it gets overriden by CMakeLists.txt.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4b23e98d6eec2b7ba230f9fc8e51402605856e5d commit 4b23e98d6eec2b7ba230f9fc8e51402605856e5d Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2024-05-22 16:45:17 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2024-05-22 16:45:50 +0000 dev-libs/xerces-c: Fix build w/ ICU-75 Closes: https://bugs.gentoo.org/931105 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> dev-libs/xerces-c/files/xerces-c-3.2.5-cxx17.patch | 11 +++++++++++ dev-libs/xerces-c/xerces-c-3.2.5.ebuild | 1 + 2 files changed, 12 insertions(+) |
Created attachment 892181 [details] build log FAILED: src/CMakeFiles/xerces-c.dir/xercesc/util/PlatformUtils.cpp.o /usr/bin/x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H=1 -DXERCES_BUILDING_LIBRARY=1 -D_FILE_OFFSET_BITS=64 -Dxerces_c_EXPORTS -I/var/tmp/portage/dev-libs/xerces-c-3.2.4-r3/work/xerces-c-3.2.4_build -I/var/tmp/portage/dev-libs/xerces-c-3.2.4-r3/work/xerces-c-3.2.4/src -I/var/tmp/portage/dev-libs/xerces-c-3.2.4-r3/work/xerces-c-3.2.4_build/src -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk -O3 -pipe -falign-functions=32 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -fno-strict-aliasing -Wall -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Wextra -Wformat=2 -Wmissing-declarations -Wno-long-long -Woverlength-strings -Woverloaded-virtual -Wredundant-decls -Wreorder -Wswitch-default -Wunused-variable -Wwrite-strings -Wno-variadic-macros -msse2 -std=gnu++14 -fPIC -MD -MT src/CMakeFiles/xerces-c.dir/xercesc/util/PlatformUtils.cpp.o -MF src/CMakeFiles/xerces-c.dir/xercesc/util/PlatformUtils.cpp.o.d -o src/CMakeFiles/xerces-c.dir/xercesc/util/PlatformUtils.cpp.o -c /var/tmp/portage/dev-libs/xerces-c-3.2.4-r3/work/xerces-c-3.2.4/src/xercesc/util/PlatformUtils.cpp In file included from /var/tmp/portage/dev-libs/xerces-c-3.2.4-r3/work/xerces-c-3.2.4/src/xercesc/util/XMLNetAccessor.hpp:26, from /var/tmp/portage/dev-libs/xerces-c-3.2.4-r3/work/xerces-c-3.2.4/src/xercesc/util/PlatformUtils.cpp:82: /var/tmp/portage/dev-libs/xerces-c-3.2.4-r3/work/xerces-c-3.2.4/src/xercesc/util/XMLURL.hpp: In member function ‘const XMLCh* xercesc_3_2::XMLURL::getURLText() const’: /var/tmp/portage/dev-libs/xerces-c-3.2.4-r3/work/xerces-c-3.2.4/src/xercesc/util/XMLURL.hpp:277:10: warning: cast from type ‘const xercesc_3_2::XMLURL*’ to type ‘xercesc_3_2::XMLURL*’ casts away qualifiers [-Wcast-qual] 277 | ((XMLURL*)this)->buildFullText(); | ^~~~~~~~~~~~~ In file included from /usr/include/unicode/uenum.h:25, from /usr/include/unicode/uloc.h:27, from /usr/include/unicode/ures.h:30, from /var/tmp/portage/dev-libs/xerces-c-3.2.4-r3/work/xerces-c-3.2.4/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.hpp:26, from /var/tmp/portage/dev-libs/xerces-c-3.2.4-r3/work/xerces-c-3.2.4/src/xercesc/util/PlatformUtils.cpp:99: /usr/include/unicode/localpointer.h: At global scope: /usr/include/unicode/localpointer.h:561:26: error: ‘auto’ parameter not permitted in this context 561 | template <typename Type, auto closeFunction> | ^~~~ /usr/include/unicode/localpointer.h:573:76: error: template argument 2 is invalid 573 | explicit LocalOpenPointer(std::unique_ptr<Type, decltype(closeFunction)> &&p) | ^ /usr/include/unicode/localpointer.h:583:78: error: template argument 2 is invalid 583 | LocalOpenPointer &operator=(std::unique_ptr<Type, decltype(closeFunction)> &&p) { | ^ /usr/include/unicode/localpointer.h:599:59: error: template argument 2 is invalid 599 | operator std::unique_ptr<Type, decltype(closeFunction)> () && { | ^ /usr/include/unicode/uenum.h:69:1: note: invalid template non-type parameter 69 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, uenum_close); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/unicode/ures.h:268:1: note: invalid template non-type parameter 268 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUResourceBundlePointer, UResourceBundle, ures_close); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/unicode/unistr.h:39, from /usr/include/unicode/ures.h:798: /usr/include/unicode/stringpiece.h:134:23: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’? 134 | (std::is_same_v<decltype(T().data()), const char*> | ^~~~~~~~~ | is_same /usr/include/unicode/stringpiece.h:134:66: error: template argument 1 is invalid 134 | (std::is_same_v<decltype(T().data()), const char*> | ^ /usr/include/unicode/stringpiece.h:138:17: error: expected ‘>’ before ‘)’ token 138 | ) && | ^ /usr/include/unicode/stringpiece.h:138:17: error: expected unqualified-id before ‘)’ toke