[QGIS-Developer] Building QGIS with Ninja on Windows - python37_d.lib

Olivier Dalang olivier.dalang at gmail.com
Tue May 7 09:15:38 PDT 2019


Dear List,

I was able to compile QGIS from source without issue on Windows by
following the instructions. The only issue is rebuilding time. Even for a
very small change, it takes over 2-3 minutes, making iterations very slow.

I found Nathan's article
<https://nathanw.net/2016/05/26/speeding-up-qgis-build-times-with-ninja/>
on how to compile with Ninja. With a few adaptations (using cmake instead
of ccmake), the compilation starts. But after a while (1830/4896), it
errors, with the following error (see below).

It looks like it can't link to python37_d.lib. I checked, but couldn't find
the file in OSGeo4W64\apps\Python37\libs nor on my system's python, so I
installed the python debug binaries (using the normal python installers for
windows), and tried to copy the file over to the OSGeo4W python install,
but it didn't work. I still get the same error, and some other messages
that may be linked).

Any idea on how to fix this ? I've googled the issue, but couldn't find any
useful information...

Thanks !!

Olivier

[1829/4896] Linking CXX shared module output\python\qgis\_core.pyd
FAILED: output/python/qgis/_core.pyd
cmd.exe /C "cd . && "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_dll
--intdir=python\CMakeFiles\python_module_qgis__core.dir --manifests  --
C:\PROGRA~2\MICROS~1.0\VC\bin\amd64\link.exe /nologo
python\CMakeFiles\python_module_qgis__core.dir\core\sip_corepart0.cpp.obj
python\CMakeFiles\python_module_qgis__core.dir\core\sip_corepart1.cpp.obj
python\CMakeFiles\python_module_qgis__core.dir\core\sip_corepart2.cpp.obj
python\CMakeFiles\python_module_qgis__core.dir\core\sip_corepart3.cpp.obj
/out:output\python\qgis\_core.pyd /implib:python\_core.lib
/pdb:output\python\qgis\_core.pdb /dll /version:0.0 /machine:x64 /debug
/INCREMENTAL -LIBPATH:C:\Users\Olivier\Documents\QGIS\build\src\core
-LIBPATH:C:\Users\Olivier\Documents\QGIS\build\src\gui
C:\OSGeo4W64\apps\Python37\libs\python37.lib src\core\qgis_core.lib
C:\OSGeo4W64\lib\opencl.lib wsock32.lib "C:\Program Files (x86)\Windows
Kits\10\Lib\10.0.14393.0\um\x64\SetupAPI.Lib" dbghelp.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5Xmld.lib C:\OSGeo4W64\apps\Qt5\lib\Qt5Svgd.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5WebKitWidgets.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5PrintSupportd.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5Widgetsd.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5WebKit.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5Guid.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5Networkd.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5Sqld.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5Concurrentd.lib
C:\OSGeo4W64\apps\Qt5\lib\qca-qt5.lib
C:\OSGeo4W64\apps\Qt5\lib\qt5keychain.lib C:\OSGeo4W64\lib\proj_i.lib
C:\OSGeo4W64\lib\geos_c.lib C:\OSGeo4W64\lib\gdal_i.lib
C:\OSGeo4W64\lib\spatialindex-64.lib C:\OSGeo4W64\lib\expat.lib
C:\OSGeo4W64\lib\sqlite3_i.lib C:\OSGeo4W64\lib\spatialite_i.lib
C:\OSGeo4W64\lib\zip.lib C:\OSGeo4W64\apps\Qt5\lib\Qt5SerialPortd.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5Positioningd.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5Cored.lib kernel32.lib user32.lib gdi32.lib
winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib
advapi32.lib  && cmd.exe /C "cd /D
C:\Users\Olivier\Documents\QGIS\build\python && "C:\Program
Files\CMake\bin\cmake.exe" -E echo "Copying extension _core" && "C:\Program
Files\CMake\bin\cmake.exe" -E copy_if_different
C:/Users/Olivier/Documents/QGIS/build/output/python/qgis/_core.pyd
C:/Users/Olivier/Documents/QGIS/build/output/python/qgis/_core.pyd""
LINK Pass 1: command "C:\PROGRA~2\MICROS~1.0\VC\bin\amd64\link.exe /nologo
python\CMakeFiles\python_module_qgis__core.dir\core\sip_corepart0.cpp.obj
python\CMakeFiles\python_module_qgis__core.dir\core\sip_corepart1.cpp.obj
python\CMakeFiles\python_module_qgis__core.dir\core\sip_corepart2.cpp.obj
python\CMakeFiles\python_module_qgis__core.dir\core\sip_corepart3.cpp.obj
/out:output\python\qgis\_core.pyd /implib:python\_core.lib
/pdb:output\python\qgis\_core.pdb /dll /version:0.0 /machine:x64 /debug
/INCREMENTAL -LIBPATH:C:\Users\Olivier\Documents\QGIS\build\src\core
-LIBPATH:C:\Users\Olivier\Documents\QGIS\build\src\gui
C:\OSGeo4W64\apps\Python37\libs\python37.lib src\core\qgis_core.lib
C:\OSGeo4W64\lib\opencl.lib wsock32.lib C:\Program Files (x86)\Windows
Kits\10\Lib\10.0.14393.0\um\x64\SetupAPI.Lib dbghelp.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5Xmld.lib C:\OSGeo4W64\apps\Qt5\lib\Qt5Svgd.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5WebKitWidgets.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5PrintSupportd.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5Widgetsd.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5WebKit.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5Guid.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5Networkd.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5Sqld.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5Concurrentd.lib
C:\OSGeo4W64\apps\Qt5\lib\qca-qt5.lib
C:\OSGeo4W64\apps\Qt5\lib\qt5keychain.lib C:\OSGeo4W64\lib\proj_i.lib
C:\OSGeo4W64\lib\geos_c.lib C:\OSGeo4W64\lib\gdal_i.lib
C:\OSGeo4W64\lib\spatialindex-64.lib C:\OSGeo4W64\lib\expat.lib
C:\OSGeo4W64\lib\sqlite3_i.lib C:\OSGeo4W64\lib\spatialite_i.lib
C:\OSGeo4W64\lib\zip.lib C:\OSGeo4W64\apps\Qt5\lib\Qt5SerialPortd.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5Positioningd.lib
C:\OSGeo4W64\apps\Qt5\lib\Qt5Cored.lib kernel32.lib user32.lib gdi32.lib
winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib
advapi32.lib /MANIFEST
/MANIFESTFILE:python\CMakeFiles\python_module_qgis__core.dir/intermediate.manifest
python\CMakeFiles\python_module_qgis__core.dir/manifest.res" failed (exit
code 1104) with the following output:
LINK : fatal error LNK1104: cannot open file 'python37_d.lib'
[1831/4896] Building CXX object
src\gui\CMakeFiles\qgis_gui.dir\qgspresetcolorrampdialog.cpp.obj
ninja: build stopped: subcommand failed.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20190507/d1b07592/attachment-0001.html>


More information about the QGIS-Developer mailing list