On 3/20/23 15:50, Kerrison, Adam wrote:
I’ve been trying to build 0.10.4 on Windows using VS 2015 Update 3
(community) as we are moving things to OpenSSL 3.x
Here is what I am running (from a VS developer prompt):
cmake -G "Visual Studio 14 2015 Win64" C:\srclibssh-0.10.4
-DCMAKE_INSTALL_PREFIX=C:\builds -DCMAKE_BUILD_TYPE=Releasee
-DCMAKE_SYSTEM_VERSION=6.1 -DOPENSSL_ROOT_DIR=C:\pkgs\openssl-3.0.8
-DZLIB_INCLUDE_DIR=C:\pkgs\zlib-1.2.11\include
-DZLIB_LIBRARY_DEBUG=C:\pkgs\zlib-1.2.11\lib\zlibwapi.lib
-DZLIB_LIBRARY_RELEASE=C:\pkgs\zlib-1.2.11\lib\zlibwapi.lib
-DCMAKE_USE_WIN32_THREADS_INIT=1 -DWITH_SERVER=ON -DWITH_GSSAPI=ON
And I get:
-- The C compiler identification is unknown
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: C:\Program Files (x86)\Microsoft Visual
Studio 14.0\VC\BIN\x86_amd64\cl.exe
-- Check for working C compiler: C:\Program Files (x86)\Microsoft Visual
Studio 14.0\VC\BIN\x86_amd64\cl.exe - broken
CMake Error at C:/Program
Files/CMake/share/cmake-3.26/Modules/CMakeTestCCompiler.cmake:67 (message):
The C compiler
"C:\Program Files (x86)\Microsoft Visual Studio
14.0\VC\BIN\x86_amd64\cl.exe"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: C:/builds/CMakeFiles/CMakeScratch/TryCompile-ix1aqv
Run Build Command(s):C:/Program Files
(x86)/MSBuild/14.0/bin/MSBuild.exe cmTC_7d48c.vcxproj
/p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=14.0 /v:n
&& Microsoft (R) Build Engine version 14.0.25420.1
Copyright (C) Microsoft Corporation. All rights reserved.
Build started 20/03/2023 14:36:06.
Project
"C:\builds\CMakeFiles\CMakeScratch\TryCompile-ix1aqv\cmTC_7d48c.vcxproj"
on node 1 (default targets).
PrepareForBuild:
Creating directory "cmTC_7d48c.dir\Debug\".
Creating directory
"C:\builds\CMakeFiles\CMakeScratch\TryCompile-ix1aqv\Debug\".
Creating directory "cmTC_7d48c.dir\Debug\cmTC_7d48c.tlog\".
InitializeBuildStatus:
Creating "cmTC_7d48c.dir\Debug\cmTC_7d48c.tlog\unsuccessfulbuild"
because "AlwaysCreate" was specified.
ClCompile:
C:\Program Files (x86)\Microsoft Visual Studio
14.0\VC\bin\x86_amd64\CL.exe /c /W1 /WX- /O2 /D _MBCS /D
"CMAKE_INTDIR=\"Debug\"" /Gm- /MD /GS /fp:precise /Zc:wchar_t
/Zc:forScope /Zc:inline /Fo"cmTC_7d48c.dir\Debug\\"
/Fd"cmTC_7d48c.dir\Debug\vc140.pdb" /Gd /TC /errorReport:queue
"C:\builds\CMakeFiles\CMakeScratch\TryCompile-ix1aqv\testCCompiler.c"
TRACKER : error TRK0002: Failed to execute command: ""C:\Program
Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\CL.exe"
@C:\Users\adam\AppData\Local\Temp\tmpb254535fb3324f56bea10ac7806c08c6.rsp". The operation completed successfully. [C:\builds\CMakeFiles\CMakeScratch\TryCompile-ix1aqv\cmTC_7d48c.vcxproj]
Its failed but the operation completed successfully!? I found the C code
its trying to compile and I can compile that manually without issue.
I don’t know enough about cmake to debug this – can anyone give me some
pointers?
I realize this is an old compiler but it was already installed so I was
trying to use it for some tests … I can upgrade but I would like to
avoid that if there is a simpler solution
Hi,
I am not a windows developer so I do not have much experience with
building with VS. The version 14 is not one of the latest so before
debugging further, I would try with some newer compiler. We are now
running a CI with VS 15 and it works just ok:
https://gitlab.com/libssh/libssh-mirror/-/jobs/3963003368
You can check how the libssh is built in the ci also in our gitlab
configuration to make sure all dependencies are installed on your side:
https://gitlab.com/libssh/libssh-mirror/-/blob/master/.gitlab-ci.yml#L459
Regards,
--
Jakub Jelen
Crypto Team, Security Engineering
Red Hat, Inc.