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

Failure with vcpkg.json manifest file and azure- #19267

Closed
MarkVabulas opened this issue Jul 31, 2021 · 2 comments · Fixed by #19299
Closed

Failure with vcpkg.json manifest file and azure- #19267

MarkVabulas opened this issue Jul 31, 2021 · 2 comments · Fixed by #19299
Assignees
Labels
category:port-bug The issue is with a library, which is something the port should already support

Comments

@MarkVabulas
Copy link

MarkVabulas commented Jul 31, 2021

Describe the bug
When trying to use a vcpkg.json manifest file, it works with every library except the azure-* ones. The vcpkg install works correctly from the command line. It does NOT work when using the manifest file. Adding "version>=" entry for each one does not solve the issue. This issue was found by using the vcpkg integration with Visual Studio Manifest file. The Manifest file works for other libraries such as rapidjson, protobuf, openssl, boost, etc. The Manifest file only starts to fail when the azure- libraries are included. Installing them manually using the command line works correctly, so it is only a problem when using the manifest file. I've trimmed down the MSBuild command line which is displayed to show minimum required commands to reproduce. I tried uninstalling, then deleting, then rechecking out, then re-bootstrapping, then re-integrating vcpkg and get the same results.

Environment

  • OS: Windows 10 21H1 compiling for arm64-windows
  • Compiler: Microsoft Visual Studio Professional 2019 Version 16.10.4

To Reproduce
Steps to reproduce the behavior:

  1. Run command "git clone https://github.com/microsoft/vcpkg"
  2. Run command ".\vcpkg\bootstrap-vcpkg.bat"
  3. Drop the attached vcpkg.json vcpkg.json.txt file inside the .\vcpkg folder
  4. Run command ".\vcpkg\vcpkg install --triplet=arm64-windows --x-manifest-root=.\vcpkg"
  5. Error results in:
    Error: no version entry for azure-storage-common-cpp at version 12.0.0.
    We are currently using the version in the ports tree (12.0.1).
    Error: no version entry for azure-core-cpp at version 1.0.0.
    We are currently using the version in the ports tree (1.1.0).
    Error: no version entry for azure-storage-blobs-cpp at version 12.0.0.
    We are currently using the version in the ports tree (12.0.1).
    Error: no version entry for azure-storage-common-cpp at version 12.0.0.
    We are currently using the version in the ports tree (12.0.1).

Expected behavior
I expect it to function the same when using the normal command line command:
vcpkg install --triplet=arm64-windows azure-core-cpp azure-identity-cpp azure-storage-blobs-cpp azure-storage-common-cpp azure-storage-files-datalake-cpp azure-storage-files-shares-cpp
Without it working through the manifest file, it breaks CI/CD toolchains.

Failure logs
1>------ Build started: Project: Sample, Configuration: Debug ARM64 ------
1>Installing vcpkg dependencies to D:\Sample\vcpkg_installed
1>"D:\vcpkg\scripts\buildsystems\msbuild......\vcpkg.exe" install --x-wait-for-lock --triplet "arm64-windows" --vcpkg-root "D:\vcpkg\scripts\buildsystems\msbuild......\" "--x-manifest-root=D:\Sample\" "--x-install-root=D:\Sample\vcpkg_installed\"
1>EXEC : error : no version entry for azure-storage-common-cpp at version 12.0.0.
1>We are currently using the version in the ports tree (12.0.1).
1>EXEC : error : no version entry for azure-core-cpp at version 1.0.0.
1>We are currently using the version in the ports tree (1.1.0).
1>EXEC : error : no version entry for azure-storage-blobs-cpp at version 12.0.0.
1>We are currently using the version in the ports tree (12.0.1).
1>EXEC : error : no version entry for azure-storage-common-cpp at version 12.0.0.
1>We are currently using the version in the ports tree (12.0.1).
1>D:\vcpkg\scripts\buildsystems\msbuild\vcpkg.targets(104,5): error MSB3073: The command ""D:\vcpkg\scripts\buildsystems\msbuild......\vcpkg.exe" install --x-wait-for-lock --triplet "arm64-windows" --vcpkg-root "D:\vcpkg\scripts\buildsystems\msbuild......\" "--x-manifest-root=D:\Sample\" "--x-install-root=D:\Sample\vcpkg_installed\" " exited with code 1.
1>C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\XamlCompiler\Microsoft.Windows.UI.Xaml.Common.targets(486,5): error MSB4181: The "CompileXaml" task returned false but did not log an error.
1>Done building project "Sample.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Additional context
It says "We are currently using the version in the ports tree" which is newer than a version entry for the file, so what seems to be the problem?

@MarkVabulas MarkVabulas changed the title Failure with vcpkg.json and azure-* Failure with vcpkg.json manifest file and azure-* Jul 31, 2021
@MarkVabulas MarkVabulas changed the title Failure with vcpkg.json manifest file and azure-* Failure with vcpkg.json manifest file and azure- Jul 31, 2021
@MarkVabulas
Copy link
Author

MarkVabulas commented Aug 1, 2021

Everything installs correctly when I run:
"D:\vcpkg\scripts\buildsystems\msbuild......\vcpkg.exe" install --x-wait-for-lock --triplet "arm64-windows" --vcpkg-root "D:\vcpkg\scripts\buildsystems\msbuild......\" "--x-install-root=D:\Sample\vcpkg_installed\" azure-core-cpp azure-identity-cpp azure-storage-blobs-cpp azure-storage-common-cpp azure-storage-files-datalake-cpp azure-storage-files-shares-cpp

But the problem is that the output from MSBuild immediately after, or using the manifest as specified in the original description, gives the same results. It's correctly installed in the vcpkg_installed folder as shown through "vcpkg list", and even then it still fails when specified with the manifest file.

D:\vcpkg>"D:\vcpkg\scripts\buildsystems\msbuild......\vcpkg.exe" install --x-wait-for-lock --triplet "arm64-windows" --vcpkg-root "D:\vcpkg\scripts\buildsystems\msbuild......\" "--x-install-root=D:\Sample\vcpkg_installed\" azure-core-cpp azure-identity-cpp azure-storage-blobs-cpp azure-storage-common-cpp azure-storage-files-datalake-cpp azure-storage-files-shares-cpp
Computing installation plan...
The following packages will be built and installed:
azure-core-cpp[core,curl,http,winhttp]:arm64-windows -> 1.1.0
azure-identity-cpp[core]:arm64-windows -> 1.0.0
azure-storage-blobs-cpp[core]:arm64-windows -> 12.0.1
azure-storage-common-cpp[core]:arm64-windows -> 12.0.1
azure-storage-files-datalake-cpp[core]:arm64-windows -> 12.0.1
azure-storage-files-shares-cpp[core]:arm64-windows -> 12.0.1

  • curl[core,non-http,schannel,ssl,sspi,winssl]:arm64-windows -> 7.74.0#8
    Additional packages (*) will be modified to complete this operation.
    Detecting compiler hash for triplet arm64-windows...
    Using cached binary package: C:\Users\Mark\AppData\Local\vcpkg\archives\67\671129ea615227a3b0a2cbb6227d0400be8681a225737d172e82e6d5006b2ad3.zip
    Using cached binary package: C:\Users\Mark\AppData\Local\vcpkg\archives\18\1883daa1fdea1dbc30fc2f984ec48a786ba4567e27320aae021ca8ac27fa1961.zip
    Using cached binary package: C:\Users\Mark\AppData\Local\vcpkg\archives\63\63216ff2f377411d07f4a4086bff0cd693b8ce32293ffb565a4961aca65cd63a.zip
    Using cached binary package: C:\Users\Mark\AppData\Local\vcpkg\archives\16\163f4c44888d715f5b1d5841944d481ed6316b2becb3abbefa28a156cf52f844.zip
    Using cached binary package: C:\Users\Mark\AppData\Local\vcpkg\archives\15\15f3974ecf1b40a0b2f1a7cc791904ee2e9839425812e2fd8880e2966547a683.zip
    Using cached binary package: C:\Users\Mark\AppData\Local\vcpkg\archives\d2\d25ceea320e4fea5b89f69a56c0111fb9500129b02cac1da0438eb73e299e875.zip
    Using cached binary package: C:\Users\Mark\AppData\Local\vcpkg\archives\29\29c78f9681e0938acf9470b8679407a38388e08a565b79870420b6d3ab1d1874.zip
    Starting package 1/7: curl:arm64-windows
    Building package curl[core,non-http,schannel,ssl,sspi,winssl]:arm64-windows...
    Building package curl[core,non-http,schannel,ssl,sspi,winssl]:arm64-windows... done
    Installing package curl[core,non-http,schannel,ssl,sspi,winssl]:arm64-windows...
    Installing package curl[core,non-http,schannel,ssl,sspi,winssl]:arm64-windows... done
    Elapsed time for package curl:arm64-windows: 1.118 s
    Starting package 2/7: azure-core-cpp:arm64-windows
    Building package azure-core-cpp[core,curl,http,winhttp]:arm64-windows...
    Building package azure-core-cpp[core,curl,http,winhttp]:arm64-windows... done
    Installing package azure-core-cpp[core,curl,http,winhttp]:arm64-windows...
    Installing package azure-core-cpp[core,curl,http,winhttp]:arm64-windows... done
    Elapsed time for package azure-core-cpp:arm64-windows: 443.2 ms
    Starting package 3/7: azure-identity-cpp:arm64-windows
    Building package azure-identity-cpp[core]:arm64-windows...
    Building package azure-identity-cpp[core]:arm64-windows... done
    Installing package azure-identity-cpp[core]:arm64-windows...
    Installing package azure-identity-cpp[core]:arm64-windows... done
    Elapsed time for package azure-identity-cpp:arm64-windows: 146.7 ms
    Starting package 4/7: azure-storage-common-cpp:arm64-windows
    Building package azure-storage-common-cpp[core]:arm64-windows...
    Building package azure-storage-common-cpp[core]:arm64-windows... done
    Installing package azure-storage-common-cpp[core]:arm64-windows...
    Installing package azure-storage-common-cpp[core]:arm64-windows... done
    Elapsed time for package azure-storage-common-cpp:arm64-windows: 224.3 ms
    Starting package 5/7: azure-storage-blobs-cpp:arm64-windows
    Building package azure-storage-blobs-cpp[core]:arm64-windows...
    Building package azure-storage-blobs-cpp[core]:arm64-windows... done
    Installing package azure-storage-blobs-cpp[core]:arm64-windows...
    Installing package azure-storage-blobs-cpp[core]:arm64-windows... done
    Elapsed time for package azure-storage-blobs-cpp:arm64-windows: 249.2 ms
    Starting package 6/7: azure-storage-files-datalake-cpp:arm64-windows
    Building package azure-storage-files-datalake-cpp[core]:arm64-windows...
    Building package azure-storage-files-datalake-cpp[core]:arm64-windows... done
    Installing package azure-storage-files-datalake-cpp[core]:arm64-windows...
    Installing package azure-storage-files-datalake-cpp[core]:arm64-windows... done
    Elapsed time for package azure-storage-files-datalake-cpp:arm64-windows: 231.2 ms
    Starting package 7/7: azure-storage-files-shares-cpp:arm64-windows
    Building package azure-storage-files-shares-cpp[core]:arm64-windows...
    Building package azure-storage-files-shares-cpp[core]:arm64-windows... done
    Installing package azure-storage-files-shares-cpp[core]:arm64-windows...
    Installing package azure-storage-files-shares-cpp[core]:arm64-windows... done
    Elapsed time for package azure-storage-files-shares-cpp:arm64-windows: 236.6 ms

Total elapsed time: 9.895 s

The package azure-core-cpp:arm64-windows provides CMake targets:

find_package(azure-core-cpp CONFIG REQUIRED)
target_link_libraries(main PRIVATE Azure::azure-core)

The package azure-identity-cpp:arm64-windows provides CMake targets:

find_package(azure-identity-cpp CONFIG REQUIRED)
target_link_libraries(main PRIVATE Azure::azure-identity)

The package azure-storage-common-cpp:arm64-windows provides CMake targets:

find_package(azure-storage-common-cpp CONFIG REQUIRED)
target_link_libraries(main PRIVATE Azure::azure-storage-common)

The package azure-storage-blobs-cpp:arm64-windows provides CMake targets:

find_package(azure-storage-blobs-cpp CONFIG REQUIRED)
target_link_libraries(main PRIVATE Azure::azure-storage-blobs)

The package azure-storage-files-datalake-cpp:arm64-windows provides CMake targets:

find_package(azure-storage-files-datalake-cpp CONFIG REQUIRED)
target_link_libraries(main PRIVATE Azure::azure-storage-files-datalake)

The package azure-storage-files-shares-cpp:arm64-windows provides CMake targets:

find_package(azure-storage-files-shares-cpp CONFIG REQUIRED)
target_link_libraries(main PRIVATE Azure::azure-storage-files-shares)

Same end results when using MSBuild:

Build started...
1>------ Build started: Project: Sample, Configuration: Debug ARM64 ------
1>Installing vcpkg dependencies to D:\Sample\vcpkg_installed
1>"D:\vcpkg\scripts\buildsystems\msbuild......\vcpkg.exe" install --x-wait-for-lock --triplet "arm64-windows" --vcpkg-root "D:\vcpkg\scripts\buildsystems\msbuild......\" "--x-manifest-root=D:\Sample\" "--x-install-root=D:\Sample\vcpkg_installed\"
1>EXEC : error : no version entry for azure-storage-common-cpp at version 12.0.0.
1>We are currently using the version in the ports tree (12.0.1).
1>EXEC : error : no version entry for azure-core-cpp at version 1.0.0.
1>We are currently using the version in the ports tree (1.1.0).
1>EXEC : error : no version entry for azure-storage-blobs-cpp at version 12.0.0.
1>We are currently using the version in the ports tree (12.0.1).
1>EXEC : error : no version entry for azure-storage-common-cpp at version 12.0.0.
1>We are currently using the version in the ports tree (12.0.1).
1>D:\vcpkg\scripts\buildsystems\msbuild\vcpkg.targets(104,5): error MSB3073: The command ""D:\vcpkg\scripts\buildsystems\msbuild......\vcpkg.exe" install --x-wait-for-lock --triplet "arm64-windows" --vcpkg-root "D:\vcpkg\scripts\buildsystems\msbuild......\" "--x-manifest-root=D:\Sample\" "--x-install-root=D:\Sample\vcpkg_installed\" " exited with code 1.
1>C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\XamlCompiler\Microsoft.Windows.UI.Xaml.Common.targets(486,5): error MSB4181: The "CompileXaml" task returned false but did not log an error.
1>Done building project "Sample.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Projects build report:
Status | Project [Config|platform]
-----------|---------------------------------------------------------------------------------------------------
Failed | Sample.vcxproj [Debug|ARM64]

Build time 00:00:01.021
Build ended at 2021-08-01 02:44:52 PM

@PhoebeHui PhoebeHui added info:manifests This PR or Issue pertains to the Manifests feature category:port-bug The issue is with a library, which is something the port should already support and removed info:manifests This PR or Issue pertains to the Manifests feature labels Aug 2, 2021
@PhoebeHui
Copy link
Contributor

@MarkVabulas, thanks for reporting this issue! I have submitted a PR to fix this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants