Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
3.1.13
-
None
-
Windows 10
Description
When following documentation https://mariadb.com/kb/en/building-mariadb-connectorodbc-from-source/
steps are ( I added for out of source, the same is happening for in source):
> mkdir bld
|
> cd bld
|
> cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCONC_WITH_UNIT_TESTS=Off .
|
> cmake --build . --config RelWithDebInfo
|
We are ending with no ".msi" files created.
Note that when you run --build second time you can see the error too:
The system cannot find the path specified.
|
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(230
|
,5): error MSB6006: "cmd.exe" exited with code 3. [D:\mariadb-connector-odbc\wininstall\ODBC_WIX.vcxproj]
|
odbc_basic.vcxproj -> D:\mariadb-connector-odbc\test\RelWithDebInfo\odbc_basic.exe
|
Also when you add CONC_WITH_MSI=ON the same happens.
When you run with cmake --build . --target MSI the error si:
D:\mariadb-connector-odbc\bld>cmake --build . --target MSI
|
Microsoft (R) Build Engine version 16.3.2+e481bbf88 for .NET Framework
|
Copyright (C) Microsoft Corporation. All rights reserved.
|
MSBUILD : error MSB1009: Project file does not exist.
|
Switch: MSI.vcxproj
|
Note you can create the logs to inspect with following command (note example is used for ".msi.vcxproj"project file , since there is no msi created() which doesn't make sense, but just as demo example how to create the logs) :
> msiexec.exe /i "D:\mariadb-connector-odbc\bld\wininstall\mariadb-connector-odbc-3.1.14-win64.msi.vcxproj" /L*V "D:\package.log"
|
Do you have WiX Toolset installed?
That's probably has to be added to Build instructions. Then cmake expects either WIX_DIR parameter with path to WiX binaries, or WIX env variable pointing to WiX directory.
Cmake neither looks up for wix binaries, nor check the correctness of the mentioned above parameters, as msi generation is not considered mandatory for build process.
On a side note - I think the name of the generated by cmake project for msi creation is PACKAGE, not MSI.