Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

file not found during make #789

Closed
Kc9jjj opened this issue Feb 28, 2024 · 5 comments · Fixed by #790
Closed

file not found during make #789

Kc9jjj opened this issue Feb 28, 2024 · 5 comments · Fixed by #790
Labels
bug report Something isn't working

Comments

@Kc9jjj
Copy link

Kc9jjj commented Feb 28, 2024

I'm trying to build the latest version using vscode on windows 11 and I keep getting the below error.
CMake Error at man/cmake_install.cmake:164 (file):
file INSTALL cannot find
"C:/Users/Darren/libfido2/build/x64/dynamic/man/eddsa_pk_free.3.gz": No
error.
Call Stack (most recent call first):
cmake_install.cmake:41 (include)

C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): error MSB3073: The command "setlocal [C:\Users\Darren\libfid
o2\build\x64\dynamic\install.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): error MSB3073: "C:\Program Files\Microsoft Visual Studio\202
2\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -DBUILD_TYPE=Release -P cmake_install.cmake [C:\Users\Darren\libfido2\build\x64\dynamic\install.vcxp
roj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd [C:\Users\D
arren\libfido2\build\x64\dynamic\install.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): error MSB3073: :cmEnd [C:\Users\Darren\libfido2\build\x64\dy
namic\install.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% &
goto :cmDone [C:\Users\Darren\libfido2\build\x64\dynamic\install.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): error MSB3073: :cmErrorLevel [C:\Users\Darren\libfido2\build
\x64\dynamic\install.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): error MSB3073: exit /b %1 [C:\Users\Darren\libfido2\build\x6
4\dynamic\install.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): error MSB3073: :cmDone [C:\Users\Darren\libfido2\build\x64\d
ynamic\install.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd [C:\Users\D
arren\libfido2\build\x64\dynamic\install.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): error MSB3073: :VCEnd" exited with code 1. [C:\Users\Darren\
libfido2\build\x64\dynamic\install.vcxproj]
Done Building Project "C:\Users\Darren\libfido2\build\x64\dynamic\install.vcxproj" (default targets) -- FAILED.
I looked in the folder and the size of that file is 0 bytes I was wondering if it was a typo or somethingthanks

What version of libfido2 are you using?

What operating system are you running?

What application are you using in conjunction with libfido2?

How does the problem manifest itself?

Is the problem reproducible?

What are the steps that lead to the problem?

Does the problem happen with different authenticators?

Please include the output of fido2-token -L.

fido2-token -L
$ fido2-token -L

Please include the output of fido2-token -I.

fido2-token -I
$ fido2-token -I <device>

Please include the output of FIDO_DEBUG=1.

FIDO_DEBUG=1
$ export FIDO_DEBUG=1
$ <command1>
$ <command2>
(...)
$ <commandn>
@Kc9jjj Kc9jjj added the bug report Something isn't working label Feb 28, 2024
@LDVG
Copy link
Contributor

LDVG commented Feb 28, 2024

I cannot reproduce this error in my test environment. Please provide more information about how you have set up your project and steps needed to reproduce. If you wish to avoid building the man pages, you could set the CMake option -DBUILD_MANPAGES=OFF.

As an aside, for our own releases we typically use the scripts under windows/ to build libfido2.

@Kc9jjj
Copy link
Author

Kc9jjj commented Feb 28, 2024

I'm building using the build.ps1 script in the windows directory. The only things I have changed are the locations of the dependancies at the top of th file. thanks

@LDVG
Copy link
Contributor

LDVG commented Feb 28, 2024

Please show your modifications, the invocation of, and full output of the command. Please also indicate whether you're building from the Git repository (if so, which commit?) or from a release tarball. What version of CMake are you running?

@Kc9jjj
Copy link
Author

Kc9jjj commented Feb 28, 2024

[string]$CMakePath = "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe",
[string]$GitPath = "C:\Program Files\Git\bin\git.exe",
[string]$SevenZPath = "C:\Program Files\7-Zip\7z.exe",
[string]$GPGPath = "C:\Program Files (x86)\GnuPG\bin\gpg.exe",
[string]$WinSDK = "",
[string]$Config = "Release",
[string]$Arch = "x64",
[string]$Type = "dynamic",
[string]$Fido2Flags = ""

)
./build.ps1
github repository
3.28.0.0
buildoutput.txt

@LDVG
Copy link
Contributor

LDVG commented Feb 28, 2024

OK, thanks!

A couple of thoughts from my side: It looks like your CMake invocation finds a Cygwin install that includes gzip. I'd assume it also finds ln in the same location. We rely on symbolic links to alias manual pages, e.g. eddsa_pk_free.3.gz is a symbolic link to eddsa_pk_new.3.gz. It seems to me that these Cygwin-style symbolic links confuses (the Windows-native) CMake.

Looking at our CMakeLists.txt, we have probably assumed that neither mandoc nor gzip is found under MSVC which, if true, results in no symlink rules executing. To resolve your current issue, you can either a) remove Cygwin from your path; or b) patch build.ps1 to set -DBUILD_MANPAGES=OFF for libfido2.

Going forward, I think it might make the most sense for us to unconditionally disable manual page generation under MSVC, see #790.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug report Something isn't working
Development

Successfully merging a pull request may close this issue.

2 participants