8000 Problem with dependencies default-features and baseline · Issue #41972 · microsoft/vcpkg · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Problem with dependencies default-features and baseline #41972

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

Open
aabellagm opened this issue Nov 5, 2024 · 2 comments
Open

Problem with dependencies default-features and baseline #41972

aabellagm opened this issue Nov 5, 2024 · 2 comments
Assignees
Labels
category:vcpkg-feature The issue is a new capability of the tool that doesn’t already exist and we haven’t committed requires:discussion

Comments

@aabellagm
Copy link
Contributor
aabellagm commented Nov 5, 2024

Describe the bug
When using a manifest, the "default-features" : false of the dependencies seems to be applied to the port in the "builtin-baseline" and not to the port finally built, based on "version>=".

Environment

  • OS: Ubuntu 22.04 (not tested in others)
  • Compiler: N/A

To Reproduce
Consider first the following manifest to install libraw with jasper not pulling all the dependencies it has as default features:

{
    "$schema" : "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
    "name" : "test",
    "dependencies" : [
                {
                    "name": "jasper",
                    "default-features": false
                },
                {
                    "name": "libraw",
                    "version>=" : "0.21.3"
                }
    ],
    "builtin-baseline" : "ee9c88f9ec9ada660a5ab0c92ac71bfea9e3704f"
}

If we run vcpkg --dry-run install we can see that jasper is including freeglut (and other dependencies) and it should not include them if we look at the libraw port for the version to be built and installed.

Now, change the builtin-baseline to just the next commit in the history, a45fe2c and run again vcpkg --dry-run install. Now jasper is not including freeglut.

The latest commit used as baseline is relevant to the test, since it is the one where freeglut dependency was changed in libraw to "default-features": false (libraw version 0.21.1#3). Please note that we have changed the baseline commit, but the libraw port selected with "version>=" is always 0.21.3, the latest one, so we have in both cases the "default-features": false in libraw when including jasper as a dependency.

If I copy the libraw port to an overlay directory, the default-features is correctly evaluated.

Expected behavior
libraw should include jasper as "default-features": false as stated in the port to be built ("version>=" : "0.21.3") independently of the "builtin-baseline" in the manifest.

Failure logs
N/A

Additional context
N/A

@FrankXie05 FrankXie05 added the category:vcpkg-feature The issue is a new capability of the tool that doesn’t already exist and we haven’t committed label Nov 6, 2024
@FrankXie05
Copy link
Contributor

cc @vicroms

Copy link

This is an automated message. Per our repo policy, stale issues get closed if there has been no activity in the past 180 days. The issue will be automatically closed in 14 days. If you wish to keep this issue open, please add a new comment.

@github-actions github-actions bot added Stale and removed Stale labels May 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:vcpkg-feature The issue is a new capability of the tool that doesn’t already exist and we haven’t committed requires:discussion
Projects
None yet
Development

No branches or pull requests

4 participants
@vicroms @aabellagm @FrankXie05 and others
0