Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.9
-
None
-
* Windows 10 x64,
* mingw-w64 6.3.0,
* MSVC 2015 Update 3,
* Windows SDK 10.0.14393.33.
-
79a068c3964db79979821bb9e9bad6eb7ab6211c
Description
Hello, everyone,
After -- was fixed next blockers appeared.QTBUG-62150
For builds using mingw-w64:
Checking for ICU... Trying source 0 (type inline) of library icu ... + cd /d C:\libQT-5.9-dev\build\config.tests\unix\icu && C:\libQT-5.9-dev\build\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += static console single_arch" "LIBS += -Lc:\\libQT-5.9-dev\\build\\..\\..\\libICU-59.1\\GCC64RT/lib " "LIBS_DEBUG += -lsicuind -lsicuucd -lsicudtd" "LIBS_RELEASE += -lsicuin -lsicuuc -lsicudt" "INCLUDEPATH *= c:\\libQT-5.9-dev\\build\\..\\..\\libICU-59.1\\GCC64RT/include" C:/libQT-5.9-dev/build/qtbase/config.tests/unix/icu + cd /d C:\libQT-5.9-dev\build\config.tests\unix\icu && set MAKEFLAGS=& mingw32-make > g++ -c -fno-keep-inline-dllexport -O2 -Wextra -Wall -W -fexceptions -mthreads -DUNICODE -D_UNICODE -IC:\libQT-5.9-dev\build\qtbase\config.tests\unix\icu -I. -IC:\libICU-59.1\GCC64RT\include -IC:\libQT-5.9-dev\build\qtbase\mkspecs\win32-g++ -o icu.o C:\libQT-5.9-dev\build\qtbase\config.tests\unix\icu\icu.cpp > g++ -Wl,-s -Wl,-subsystem,console -static -mthreads -o icu.exe icu.o -LC:\libICU-59.1\GCC64RT\lib -lsicuin -lsicuuc C:\libICU-59.1\GCC64RT\lib\sicudt.a => source accepted. test config.corelib.libraries.icu succeeded <snip> mingw32-make[4]: Entering directory 'C:/libQT-5.9-dev/build/qtbase/src/tools/qdbusxml2cpp' g++ -Wl,--gc-sections -Wl,-s -Wl,-subsystem,console -static -o ..\..\..\bin\qdbusxml2cpp.exe .obj/release/qdbusxml2cpp.o -LC:\libQT-5.9-dev\build\qtbase\lib C:\libQT-5.9-dev\build\qtbase\lib\libQt5DBus.a -LC:\libICU-59.1\GCC64RT\lib -lnetapi32 C:\libQT-5.9-dev\build\qtbase\lib\libQt5Core.a -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 -lmpr -lversion -lwinmm -lz -l"sicuin -lsicuuc -lsicudt" C:\libQT-5.9-dev\build\qtbase\lib\libqtpcre2.a .obj\release\qdbusxml2cpp_resource_res.o mingw32-make[4]: Entering directory 'C:/libQT-5.9-dev/build/qtbase/src/tools/qdbuscpp2xml' g++ -Wl,--gc-sections -Wl,-s -Wl,-subsystem,console -static -o ..\..\..\bin\qdbuscpp2xml.exe .obj/release/moc.o .obj/release/preprocessor.o .obj/release/generator.o .obj/release/parser.o .obj/release/token.o .obj/release/qdbuscpp2xml.o -LC:\libQT-5.9-dev\build\qtbase\lib C:\libQT-5.9-dev\build\qtbase\lib\libQt5DBus.a -LC:\libICU-59.1\GCC64RT\lib -lnetapi32 C:\libQT-5.9-dev\build\qtbase\lib\libQt5Core.a -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 -lmpr -lversion -lwinmm -lz -l"sicuin -lsicuuc -lsicudt" C:\libQT-5.9-dev\build\qtbase\lib\libqtpcre2.a .obj\release\qdbuscpp2xml_resource_res.o C:/ProgramData/Mingw64/bin/../lib/gcc/x86_64C-:w64/-ProgramDatamingw32//Mingw646.3.0//bin./../../.lib//.gcc.//x86_64.-.w64/-x86_64mingw32-/w646.3.0-/mingw32./.bin//.ld.exe.:/ .cannot. /find. .-/lsicuinx86_64 --w64lsicuuc- mingw32-/lsicudtbin /collect2.exe: error: ld returned 1 exit status ld.exe: cannot find -lsicuin -lsicuuc -lsicudt collect2.exe: error: ld returned 1 exit status Makefile.Release:85: recipe for target '..\..\..\bin\qdbuscpp2xml.exe' failed mingw32-make[4]: *** [..\..\..\bin\qdbuscpp2xml.exe] Error 1 mingw32-make[4]: Leaving directory 'C:/libQT-5.9-dev/build/qtbase/src/tools/qdbuscpp2xml' Makefile.Release:63: recipe for target '..\..\..\bin\qdbusxml2cpp.exe' failed mingw32-make[4]: *** [..\..\..\bin\qdbusxml2cpp.exe] Error 1 mingw32-make[4]: Leaving directory 'C:/libQT-5.9-dev/build/qtbase/src/tools/qdbusxml2cpp' Makefile:36: recipe for target 'release' failed mingw32-make[3]: *** [release] Error 2 mingw32-make[3]: Leaving directory 'C:/libQT-5.9-dev/build/qtbase/src/tools/qdbuscpp2xml' Makefile:36: recipe for target 'release' failed mingw32-make[3]: *** [release] Error 2 mingw32-make[3]: Leaving directory 'C:/libQT-5.9-dev/build/qtbase/src/tools/qdbusxml2cpp' Makefile:398: recipe for target 'sub-qdbusxml2cpp-make_first' failed mingw32-make[2]: *** [sub-qdbusxml2cpp-make_first] Error 2 Makefile:423: recipe for target 'sub-qdbuscpp2xml-make_first' failed mingw32-make[2]: *** [sub-qdbuscpp2xml-make_first] Error 2 mingw32-make[4]: Entering directory 'C:/libQT-5.9-dev/build/qtbase/src/gui' mingw32-make[4]: Nothing to be done for 'first'. mingw32-make[4]: Leaving directory 'C:/libQT-5.9-dev/build/qtbase/src/gui' mingw32-make[3]: Leaving directory 'C:/libQT-5.9-dev/build/qtbase/src/gui' mingw32-make[2]: Leaving directory 'C:/libQT-5.9-dev/build/qtbase/src' Makefile:44: recipe for target 'sub-src-make_first' failed mingw32-make[1]: *** [sub-src-make_first] Error 2 mingw32-make[1]: Leaving directory 'C:/libQT-5.9-dev/build/qtbase' Makefile:78: recipe for target 'module-qtbase-make_first' failed mingw32-make: *** [module-qtbase-make_first] Error 2
For builds using MSVC:
Checking for ICU... Trying source 0 (type inline) of library icu ... + cd /d C:\libQT-5.9-dev\build\config.tests\unix\icu && C:\libQT-5.9-dev\build\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += static console single_arch" "LIBS += -Lc:\\libQT-5.9-dev\\build\\..\\..\\libICU-59.1\\MSVC64RT/lib " "LIBS_DEBUG += -lsicuind -lsicuucd -lsicudtd" "LIBS_RELEASE += -lsicuin -lsicuuc -lsicudt" "INCLUDEPATH *= c:\\libQT-5.9-dev\\build\\..\\..\\libICU-59.1\\MSVC64RT/include" C:/libQT-5.9-dev/build/qtbase/config.tests/unix/icu + cd /d C:\libQT-5.9-dev\build\config.tests\unix\icu && set MAKEFLAGS=& jom > jom 1.1.2 - empower your cores > cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -O2 -MT -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DNDEBUG -IC:\libQT-5.9-dev\build\qtbase\config.tests\unix\icu -I. -IC:\libICU-59.1\MSVC64RT\include -IC:\libQT-5.9-dev\build\qtbase\mkspecs\win32-msvc -Fo @C:\Users\test\AppData\Local\Temp\icu.obj.9372.15.jom > icu.cpp > 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:icu.exe @C:\Users\test\AppData\Local\Temp\icu.exe.9372.109.jom > Creating library icu.lib and object icu.exp > sicuuc.lib(umapfile.ao) : error LNK2019: unresolved external symbol __imp_InitializeSecurityDescriptor referenced in function uprv_mapFile_59 > sicuuc.lib(umapfile.ao) : error LNK2019: unresolved external symbol __imp_SetSecurityDescriptorDacl referenced in function uprv_mapFile_59 > sicuuc.lib(wintz.ao) : error LNK2019: unresolved external symbol __imp_RegCloseKey referenced in function "long __cdecl getSTDName(char const *,char *,int)" (?getSTDName@@YAJPEBDPEADH@Z) > sicuuc.lib(wintz.ao) : error LNK2019: unresolved external symbol __imp_RegOpenKeyExA referenced in function "long __cdecl getSTDName(char const *,char *,int)" (?getSTDName@@YAJPEBDPEADH@Z) > sicuuc.lib(wintz.ao) : error LNK2019: unresolved external symbol __imp_RegQueryValueExA referenced in function "long __cdecl getSTDName(char const *,char *,int)" (?getSTDName@@YAJPEBDPEADH@Z) > icu.exe : fatal error LNK1120: 5 unresolved externals > jom: C:\libQT-5.9-dev\build\config.tests\unix\icu\Makefile [icu.exe] Error 1120 => source failed verification. Trying source 1 (type inline) of library icu ... => source failed condition 'config.win32 && features.shared'. Trying source 2 (type inline) of library icu ... => source failed condition '!config.win32'. test config.corelib.libraries.icu FAILED
which could be fixed by adding -ladvapi32 key to lines:
"debug": "-lsicuind -lsicuucd -lsicudtd", "release": "-lsicuin -lsicuuc -lsicudt"
in file qtbase/src/corelib/configure.json. Then next blocker appeared:
Checking for ICU... Trying source 0 (type inline) of library icu ... + cd /d C:\libQT-5.9-dev\build\config.tests\unix\icu && C:\libQT-5.9-dev\build\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += static console single_arch" "LIBS += -Lc:\\libQT-5.9-dev\\build\\..\\..\\libICU-59.1\\MSVC64RT/lib " "LIBS_DEBUG += -lsicuind -lsicuucd -lsicudtd" "LIBS_RELEASE += -ladvapi32 -lsicuin -lsicuuc -lsicudt" "INCLUDEPATH *= c:\\libQT-5.9-dev\\build\\..\\..\\libICU-59.1\\MSVC64RT/include" C:/libQT-5.10-dev/build/qtbase/config.tests/unix/icu + cd /d C:\libQT-5.9-dev\build\config.tests\unix\icu && set MAKEFLAGS=& jom > jom 1.1.2 - empower your cores > cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -O2 -MT -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DNDEBUG -IC:\libQT-5.9-dev\build\qtbase\config.tests\unix\icu -I. -IC:\libICU-59.1\MSVC64RT\include -IC:\libQT-5.9-dev\build\qtbase\mkspecs\win32-msvc -Fo @C:\Users\test\AppData\Local\Temp\icu.obj.9136.0.jom > icu.cpp > 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:icu.exe @C:\Users\test\AppData\Local\Temp\icu.exe.9136.94.jom > Creating library icu.lib and object icu.exp => source accepted. test config.corelib.libraries.icu succeeded <snip> 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='*'" /VERSION:5.9 /MANIFEST:embed /OUT:..\..\..\bin\qlalr.exe @C:\Users\test\AppData\Local\Temp\nm5CF6.tmp LINK : fatal error LNK1181: cannot open input file 'advapi32 -lsicuin -lsicuuc -lsicudt.lib' NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\link.EXE"' : return code '0x49d' Stop. NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\nmake.exe"' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop.
Reproduced for Qt builds with ICU and Static layout. Not reproduced for builds with Shared layout.
Alexander
Attachments
Issue Links
- resulted from
-
QTBUG-62150 Linking ICU libs to static Qt build fails in configuration checks
-
- Closed
-
For Gerrit Dashboard: QTBUG-62521 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
212546,2 | configure: fix over-quoting in library exporting | 5.9 | qt/qtbase | Status: MERGED | +2 | 0 |