Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.11
-
None
-
* Windows 10 x64,
* ICC 2018 Update 1,
* MSVC 2017 15.5.0,
* mingw-w64 x86_64 posix seh 7.2.0,
* Windows SDK 10.0.16299.15,
* Qt5-dev ([9cb9e7654a8be9e53c52c1bf2ff46ad65ad1802a|http://code.qt.io/cgit/qt/qt5.git/commit/?h=dev&id=9cb9e7654a8be9e53c52c1bf2ff46ad65ad1802a]), QtBase-dev ([f104d5273721c19257e0b0f38978d4112b2e3e5d|http://code.qt.io/cgit/qt/qtbase.git/commit/?h=dev&id=f104d5273721c19257e0b0f38978d4112b2e3e5d]).* Windows 10 x64, * ICC 2018 Update 1, * MSVC 2017 15.5.0, * mingw-w64 x86_64 posix seh 7.2.0, * Windows SDK 10.0.16299.15, * Qt5-dev ([9cb9e7654a8be9e53c52c1bf2ff46ad65ad1802a| http://code.qt.io/cgit/qt/qt5.git/commit/?h=dev&id=9cb9e7654a8be9e53c52c1bf2ff46ad65ad1802a ]), QtBase-dev ([f104d5273721c19257e0b0f38978d4112b2e3e5d| http://code.qt.io/cgit/qt/qtbase.git/commit/?h=dev&id=f104d5273721c19257e0b0f38978d4112b2e3e5d ]).
-
bc008afb0e3724a89890e9bd68451b1903bc8e17
Description
Hello, everyone,
For builds using mingw-w64 and MSVC got errors:
configure -v -prefix "%CD%\..\MSVC64RH" -opensource -confirm-license -release -force-asserts -developer-build -shared -platform win32-msvc -c++std c++11 -avx2 -no-pch -dbus-runtime -icu ICU_PREFIX="%CD%\..\..\libICU-61.1-dev\MSVC64RH" -zlib ZLIB_PREFIX="%CD%\..\..\libZLIB-1.2.11\MSVC64RH" -openssl-linked OPENSSL_PREFIX="%CD%\..\..\libOPENSSL-1.1.0g\MSVC64RH" -opengl dynamic -skip qtwebengine && jom <snip> cd qtimezone\ && ( if not exist Makefile C:\libQT-5.11-dev\build\qtbase\bin\qmake.exe -o Makefile C:\libQT-5.11-dev\build\qtbase\tests\auto\corelib\tools\qtimezone\qtimezone.pro ) && C:\Windows\jom.exe -f Makefile C:\Windows\jom.exe -f Makefile.Release cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -O2 -MD -utf-8 -EHsc -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_USE_ICU -DQT_NO_DEBUG -DQT_FORCE_ASSERTS -DQT_TESTLIB_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR="\"C:/libQT-5.11-dev/build/qtbase/tests/auto/corelib/tools/qtimezone\"" -DNDEBUG -I. -I..\..\..\..\..\include\QtCore\5.11.0 -I..\..\..\..\..\include\QtCore\5.11.0\QtCore -I..\..\..\..\..\include -I..\..\..\..\..\include\QtTest -I..\..\..\..\..\include\QtCore -I.moc\release -I..\..\..\..\..\mkspecs\win32-msvc -Fo.obj\release\ @C:\Users\test\AppData\Local\Temp\tst_qtimezone.obj.7896.15.jom tst_qtimezone.cpp C:\libqt-5.11-dev\build\qtbase\include\qtcore\5.11.0\qtcore\private\../../../../../src/corelib/tools/qtimezoneprivate_p.h(60): fatal error C1083: Cannot open include file: 'unicode/ucal.h': No such file or directory jom: C:\libQT-5.11-dev\build\qtbase\tests\auto\corelib\tools\qtimezone\Makefile.Release [.obj\release\tst_qtimezone.obj] Error 2 jom: C:\libQT-5.11-dev\build\qtbase\tests\auto\corelib\tools\qtimezone\Makefile [release] Error 2 jom: C:\libQT-5.11-dev\build\qtbase\tests\auto\corelib\tools\Makefile [sub-qtimezone-make_first] Error 2 jom: C:\libQT-5.11-dev\build\qtbase\tests\auto\corelib\Makefile [sub-tools-make_first] Error 2 jom: C:\libQT-5.11-dev\build\qtbase\tests\auto\Makefile [sub-corelib-make_first] Error 2 jom: C:\libQT-5.11-dev\build\qtbase\tests\Makefile [sub-auto-make_first] Error 2 jom: C:\libQT-5.11-dev\build\qtbase\Makefile [sub-tests-make_first] Error 2 jom: C:\libQT-5.11-dev\build\Makefile [module-qtbase-make_first] Error 2
Although it's odd, that for tests
qtbase\tests\auto\corelib\tools\qcollator
qtbase\tests\auto\corelib\tools\qstring
condition
qtConfig(icu): DEFINES += QT_USE_ICU
works fine to enable ICU support, while for
qtbase\tests\auto\corelib\tools\qtimezone
it fails.
Remembering, that similar error was reported for -- and fixed with Change #208026, tried to add conditionQTBUG-62944
QMAKE_USE_PRIVATE += icu
into file 'qtbase/tests/auto/corelib/tools/qtimezone/qtimezone.pro', and got errors:
cd qtimezone\ && ( if not exist Makefile C:\libQT-5.11-dev\build\qtbase\bin\qmake.exe -o Makefile C:\libQT-5.11-dev\build\qtbase\tests\auto\corelib\tools\qtimezone\qtimezone.pro ) && C:\Windows\jom.exe -f Makefile C:\Windows\jom.exe -f Makefile.Release link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:release\tst_qtimezone.exe @C:\Users\test\AppData\Local\Temp\tst_qtimezone.exe.10188.63.jom tst_qtimezone.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl QWinTimeZonePrivate::QWinTimeZonePrivate(void)" (__imp_??0QWinTimeZonePrivate@@QEAA@XZ) referenced in function "private: void __cdecl tst_QTimeZone::winTest(void)" (?winTest@tst_QTimeZone@@AEAAXXZ) tst_qtimezone.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl QWinTimeZonePrivate::QWinTimeZonePrivate(class QByteArray const &)" (__imp_??0QWinTimeZonePrivate@@QEAA@AEBVQByteArray@@@Z) referenced in function "private: void __cdecl tst_QTimeZone::winTest(void)" (?winTest@tst_QTimeZone@@AEAAXXZ) tst_qtimezone.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __cdecl QWinTimeZonePrivate::~QWinTimeZonePrivate(void)" (__imp_??1QWinTimeZonePrivate@@UEAA@XZ) referenced in function "private: void __cdecl tst_QTimeZone::winTest(void)" (?winTest@tst_QTimeZone@@AEAAXXZ) tst_qtimezone.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual class QString __cdecl QWinTimeZonePrivate::displayName(enum QTimeZone::TimeType,enum QTimeZone::NameType,class QLocale const &)const " (__imp_?displayName@QWinTimeZonePrivate@@UEBA?AVQString@@W4TimeType@QTimeZone@@W4NameType@4@AEBVQLocale@@@Z) referenced in function "private: void __cdecl tst_QTimeZone::winTest(void)" (?winTest@tst_QTimeZone@@AEAAXXZ) tst_qtimezone.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual class QString __cdecl QWinTimeZonePrivate::abbreviation(__int64)const " (__imp_?abbreviation@QWinTimeZonePrivate@@UEBA?AVQString@@_J@Z) referenced in function "private: void __cdecl tst_QTimeZone::winTest(void)" (?winTest@tst_QTimeZone@@AEAAXXZ) release\tst_qtimezone.exe : fatal error LNK1120: 5 unresolved externals jom: C:\libQT-5.11-dev\build\qtbase\tests\auto\corelib\tools\qtimezone\Makefile.Release [release\tst_qtimezone.exe] Error 1120 jom: C:\libQT-5.11-dev\build\qtbase\tests\auto\corelib\tools\qtimezone\Makefile [release] Error 2 jom: C:\libQT-5.11-dev\build\qtbase\tests\auto\corelib\tools\Makefile [sub-qtimezone-make_first] Error 2
The source of error is missing 'QWinTimeZonePrivate' symbol in 'Qt5Cored.dll' binary, which is a result of recently merged Change #217191.
Reproduced for:
- builds using mingw-w64 and MSVC with '-developer-build' flag,
not reproduced for:
- builds using mingw-w64 and MSVC without '-developer-build' flag.
Best,
Alexander
Attachments
Issue Links
- resulted from
-
QTBUG-42021 Incorrect calculation of next/previous transition in time zone on Windows
- Closed
For Gerrit Dashboard: QTBUG-66367 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
220310,7 | Adjust tst_QTimeZone's Q_OS_WIN #if-ery now that ICU is the default | dev | qt/qtbase | Status: MERGED | +2 | 0 |