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

visual studio uses erroneous paths #42934

Open
terrylyons opened this issue Dec 26, 2024 · 5 comments
Open

visual studio uses erroneous paths #42934

terrylyons opened this issue Dec 26, 2024 · 5 comments
Assignees
Labels
requires:repro The issue is not currently repro-able

Comments

@terrylyons
Copy link

Describe the bug
Using manifest based vcpkg, many projects fail to find the installed targets with errors such as cannot open the header file,... but it has become obvious that the include /I command is simply wrong. For example it contasins "vulkanImageCUDA\vcpkg_installed\x64-windows\x64-windows\include" ! The repeated x64-windows is an error and not repeated in the folder structure. In fact vcpkg has installed everything expected in "vcpkg_installed\x64-windows\include\vulkan" above the folder containing the vcpkg.json

Environment

  • OS: windows 11
  • Compiler: CL.exe (VS Enterprise) revision version 17.12.3
    Released December 3rd, 2024

To Reproduce
I am working with the NVidia Demo examples - and adding the appropriate dependencies.

Expected behavior
Paths to be fed by msbuild to command line that are accurate
vcpkg.json
Rebuild started at 0009....txt

@MonicaLiu0311 MonicaLiu0311 added the requires:repro The issue is not currently repro-able label Dec 26, 2024
@greenozon
Copy link

I've seen this issue (encountered many times in your log)

110>C:\Users\xxxxxxxxxx\Documents\temp\cuda-samples\Common\UtilNPP\ImageIO.h(34,10): error C1083: Cannot open include file: 'FreeImage.h': No such file or directory
110>(compiling source file 'boxFilterNPP.cpp')
110>Done building project "boxFilterNPP_vs2022.vcxproj" -- FAILED.

do you have this header on your machine?
if yes, what is the absolute path to it?

@greenozon
Copy link

According to CUDA release notes:

1.1. CUDA 11.2
FreeImage is no longer distributed with the CUDA Samples. On Windows, see the Dependencies section for more details on how to set up FreeImage. On Linux, it is recommended to install FreeImage with your distribution's package manager.

@terrylyons
Copy link
Author

terrylyons commented Dec 26, 2024 via email

@dg0yt
Copy link
Contributor

dg0yt commented Dec 26, 2024

The repeated x64-windows is an error and not repeated in the folder structure.

As you will see from my report, the problem is that msbuild is looking in the wrong place. Adding a duplicate x64 layer to the compiler includes. Look for the command line it uses to build the project, not the error. The command line produced by msbuild is obviously wrong.

Not so fast. AFAICT the installation is expected to be placed in a path which is a combination of host triplet and target triplet.

@terrylyons
Copy link
Author

I think you might have a point. I have checked and in fact the folder "vcpkg_installed\x64-windows\include\vulkan" exists but the folder "vcpkg_installed\x64-windows\x64-windows\include\vulkan" also exists!

I took one of the freeimage projects for which i have introduced a vcpkg.json file; (freeImageInteropNPP) and zipped up the vcpkg_installed folder and the vcpkg.json file I used to share. For some reason the zipped folder structure is huge (250 MB). Unfortunately github does not let me upload 7z files. here is a dropbox link https://www.dropbox.com/scl/fi/wp3x3xcw3znx3ba9b0ohp/vcpkg.7z?rlkey=5owtislml6qfkybibxgwzyhea&dl=0

I am happy to remove all the installed vcpkg clutter, and try again once with just the
vcpkg.json files in the appropriate folders for reproducibility if it is helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
requires:repro The issue is not currently repro-able
Projects
None yet
Development

No branches or pull requests

4 participants