Opened 5 years ago
Closed 5 years ago
#59434 closed defect (fixed)
qt53-qtbase @5.3.2_2: build fails against icu @65.1_0: error: expected ';' at end of declaration list
Reported by: | kencu (Ken) | Owned by: | kencu (Ken) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) | |
Port: | qt5 |
Description
ICU auto-detection... () /opt/local/bin/clang++-mp-5.0 -c -pipe -stdlib=libc++ -arch x86_64 -Os -isysroot /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -Wall -W -fPIE -DNS_BUILD_32_LIKE_64 -I../../../mkspecs/macx-clang -I. -o icu.o icu.cpp In file included from icu.cpp:43: In file included from /opt/local/include/unicode/ucol.h:17: In file included from /opt/local/include/unicode/unorm.h:25: In file included from /opt/local/include/unicode/unorm2.h:34: /opt/local/include/unicode/localpointer.h:71:51: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions] static void* U_EXPORT2 operator new(size_t) = delete; ^ /opt/local/include/unicode/localpointer.h:72:53: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions] static void* U_EXPORT2 operator new[](size_t) = delete; ^ /opt/local/include/unicode/localpointer.h:74:58: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions] static void* U_EXPORT2 operator new(size_t, void*) = delete; ^ /opt/local/include/unicode/localpointer.h:224:34: warning: rvalue references are a C++11 extension [-Wc++11-extensions] LocalPointer(LocalPointer<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { ^ /opt/local/include/unicode/localpointer.h:224:40: error: expected ';' at end of declaration list LocalPointer(LocalPointer<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { ^ ; /opt/local/include/unicode/localpointer.h:405:30: warning: rvalue references are a C++11 extension [-Wc++11-extensions] LocalArray(LocalArray<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { ^ /opt/local/include/unicode/localpointer.h:405:36: error: expected ';' at end of declaration list LocalArray(LocalArray<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { ^ ; In file included from icu.cpp:43: In file included from /opt/local/include/unicode/ucol.h:17: In file included from /opt/local/include/unicode/unorm.h:25: In file included from /opt/local/include/unicode/unorm2.h:36: /opt/local/include/unicode/uset.h:330:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions] U_DEFINE_LOCAL_OPEN_POINTER(LocalUSetPointer, USet, uset_close); ^ /opt/local/include/unicode/localpointer.h:568:53: note: expanded from macro 'U_DEFINE_LOCAL_OPEN_POINTER' LocalPointerClassName(LocalPointerClassName &&src) U_NOEXCEPT \ ^ In file included from icu.cpp:43: In file included from /opt/local/include/unicode/ucol.h:17: In file included from /opt/local/include/unicode/unorm.h:25: In file included from /opt/local/include/unicode/unorm2.h:36: /opt/local/include/unicode/uset.h:330:1: error: expected ';' at end of declaration list /opt/local/include/unicode/localpointer.h:568:60: note: expanded from macro 'U_DEFINE_LOCAL_OPEN_POINTER' LocalPointerClassName(LocalPointerClassName &&src) U_NOEXCEPT \ ^ /opt/local/include/unicode/platform.h:529:23: note: expanded from macro 'U_NOEXCEPT' # define U_NOEXCEPT noexcept ^ In file included from icu.cpp:43: In file included from /opt/local/include/unicode/ucol.h:17: In file included from /opt/local/include/unicode/unorm.h:25: /opt/local/include/unicode/unorm2.h:261:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions] U_DEFINE_LOCAL_OPEN_POINTER(LocalUNormalizer2Pointer, UNormalizer2, unorm2_close); ^ /opt/local/include/unicode/localpointer.h:568:53: note: expanded from macro 'U_DEFINE_LOCAL_OPEN_POINTER' LocalPointerClassName(LocalPointerClassName &&src) U_NOEXCEPT \ ^ In file included from icu.cpp:43: In file included from /opt/local/include/unicode/ucol.h:17: In file included from /opt/local/include/unicode/unorm.h:25: /opt/local/include/unicode/unorm2.h:261:1: error: expected ';' at end of declaration list /opt/local/include/unicode/localpointer.h:568:60: note: expanded from macro 'U_DEFINE_LOCAL_OPEN_POINTER' LocalPointerClassName(LocalPointerClassName &&src) U_NOEXCEPT \ ^ /opt/local/include/unicode/platform.h:529:23: note: expanded from macro 'U_NOEXCEPT' # define U_NOEXCEPT noexcept ^ In file included from icu.cpp:43: In file included from /opt/local/include/unicode/ucol.h:20: In file included from /opt/local/include/unicode/uloc.h:27: /opt/local/include/unicode/uenum.h:68:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions] U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, uenum_close); ^ /opt/local/include/unicode/localpointer.h:568:53: note: expanded from macro 'U_DEFINE_LOCAL_OPEN_POINTER' LocalPointerClassName(LocalPointerClassName &&src) U_NOEXCEPT \ ^ In file included from icu.cpp:43: In file included from /opt/local/include/unicode/ucol.h:20: In file included from /opt/local/include/unicode/uloc.h:27: /opt/local/include/unicode/uenum.h:68:1: error: expected ';' at end of declaration list /opt/local/include/unicode/localpointer.h:568:60: note: expanded from macro 'U_DEFINE_LOCAL_OPEN_POINTER' LocalPointerClassName(LocalPointerClassName &&src) U_NOEXCEPT \ ^ /opt/local/include/unicode/platform.h:529:23: note: expanded from macro 'U_NOEXCEPT' # define U_NOEXCEPT noexcept ^ In file included from icu.cpp:43: /opt/local/include/unicode/ucol.h:540:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions] U_DEFINE_LOCAL_OPEN_POINTER(LocalUCollatorPointer, UCollator, ucol_close); ^ /opt/local/include/unicode/localpointer.h:568:53: note: expanded from macro 'U_DEFINE_LOCAL_OPEN_POINTER' LocalPointerClassName(LocalPointerClassName &&src) U_NOEXCEPT \ ^ In file included from icu.cpp:43: /opt/local/include/unicode/ucol.h:540:1: error: expected ';' at end of declaration list /opt/local/include/unicode/localpointer.h:568:60: note: expanded from macro 'U_DEFINE_LOCAL_OPEN_POINTER' LocalPointerClassName(LocalPointerClassName &&src) U_NOEXCEPT \ ^ /opt/local/include/unicode/platform.h:529:23: note: expanded from macro 'U_NOEXCEPT' # define U_NOEXCEPT noexcept ^ 9 warnings and 6 errors generated. make: *** [icu.o] Error 1 ICU disabled. The ICU library support cannot be enabled. Turn on verbose messaging (-v) to ./configure to see the final report. If you believe this message is in error you may use the continue switch (-continue) to ./configure to continue.
Attachments (2)
Change History (9)
Changed 5 years ago by kencu (Ken)
Attachment: | qt53-qtbase-fail-1068-icu.log added |
---|
comment:1 Changed 5 years ago by kencu (Ken)
comment:2 Changed 5 years ago by kencu (Ken)
removed. the failure was with qt53-qtwebkit, my apologies; it rolled right into that.
qt53-qtbase
did complete with clang-9.0
. So now will move on to qt53-qtwebkit
fixes.
Changed 5 years ago by kencu (Ken)
Attachment: | qt53-qtbase-fail-clang9.log added |
---|
apologies; the previous was an error. The failure was actually qt53-qtwebkit
comment:3 Changed 5 years ago by kencu (Ken)
Resolution: | → worksforme |
---|---|
Status: | assigned → closed |
Using the current default of clang-9.0, qt53-qtbase will build through to completion. On compilers that do not default to c++11, it will likely continue to fail in the icu detection code.
comment:4 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)
Port: | qt5 added; qt53-qtbase removed |
---|---|
Resolution: | worksforme |
Status: | closed → reopened |
This is still a problem; please see https://build.macports.org/builders/ports-10.15_x86_64-builder/builds/3629/steps/install-port/logs/stdio. The port already uses compiler.cxx_standard 2011
so it probably just needs to add configure.cxxflags-append -std=c++11
.
comment:5 Changed 5 years ago by kencu (Ken)
Ah -- if only qt5 was so simple ... well, as Catalina users should be able to build qt53 if they darned-well want to, let me see if I can sort this out for those retro Catalina users out there (you know who you are!). Marcus showed the way not long ago with the qt4-build-with-clang-9.0-fixes, I think...
comment:6 Changed 5 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
There is a pull request that attempt to fix this problem.
I think it is safe to merge, but I would be happy to wait if Ken would like to take a look first.
comment:7 Changed 5 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Oh, but much to my happy surprise, using the default
clang-9.0
instead ofclang-5.0
, the ICU auto-detection works, and the build proceeds:This would be due to the fact that ICU now requires
c++11
, andclang-9.0
defaults to (greater than)c++11
, whereasclang-5.0
does not, and there is no-std=c++11
presently in theqt53-qtbase
build.Perhaps with luck, then, clang-9.0 might be able to complete this build of
qt53-qtbase
and we'll be in business.