-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Closed
Closed
Copy link
Labels
dependencies:cargoIssues related to using cargo subprojectsIssues related to using cargo subprojects
Description
Describe the bug
When using the tracing crate it generates a bunch of warnings Binary entry * has unexpected keys "path".
To Reproduce
https://gist.github.com/lf-/00ea95184017a3e7a9ab92f0a3eef432
[package]
name = "meowmeow"
edition = "2021"
[lib]
path = "lib.rs"
[dependencies]
tracing = "0.1.41"
# just don't need log
tracing-subscriber = { version = "0.3.19", default-features = false, features = ["std", "fmt", "ansi", "smallvec", "env-filter"] }
project('meowmeow', 'rust')
tracing = dependency('tracing-0.1-rs')
tracing_subscriber = dependency('tracing-subscriber-0.3-rs')
meson.override_dependency('tracing-subscriber-0.3-rs', tracing_subscriber)
static_library(
sources : [ './lib.rs' ],
language : 'rust',
dependencies : [tracing, tracing_subscriber],
)Do this:
git clone https://gist.github.com/lf-/00ea95184017a3e7a9ab92f0a3eef432 bug && cd bug && meson setup build
The Meson build system
Version: 1.7.99
Source dir: /Users/jade/dev/repro/2025-02-21-meson-rust-bugs
Build dir: /Users/jade/dev/repro/2025-02-21-meson-rust-bugs/build
Build type: native build
Project name: meowmeow
Project version: undefined
Rust compiler for the host machine: rustc -C linker=cc (rustc 1.84.1)
Rust linker for the host machine: rustc -C linker=cc ld64 1115.7.3
Host machine cpu family: aarch64
Host machine cpu: aarch64
Did not find pkg-config by name 'pkg-config'
Found pkg-config: NO
Did not find CMake 'cmake'
Found CMake: NO
Run-time dependency tracing-0.1-rs found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency tracing-0.1-rs
Executing subproject tracing-0.1-rs method cargo
meson.build:3: WARNING: Project does not target a minimum version but uses feature introduced in '1.3.0': Cargo subproje
ct.
meson.build:3: WARNING: Cargo subproject is an experimental feature and has no backwards compatibility guarantees.
tracing-0.1-rs| WARNING: Binary entry enabled has unexpected keys "path". This may (unlikely) be an error in the cargo m
anifest, or may be a missing implementation in Meson. If this issue can be reproduced with the latest version of Meson,
please help us by opening an issue at https://github.com/mesonbuild/meson/issues. Please include the crate and version t
hat is generating this warning if possible.
tracing-0.1-rs| WARNING: Binary entry zzz_stable has unexpected keys "path". This may (unlikely) be an error in the carg
o manifest, or may be a missing implementation in Meson. If this issue can be reproduced with the latest version of Meso
n, please help us by opening an issue at https://github.com/mesonbuild/meson/issues. Please include the crate and versio
n that is generating this warning if possible.
tracing-0.1-rs| WARNING: Binary entry file has unexpected keys "path". This may (unlikely) be an error in the cargo mani
fest, or may be a missing implementation in Meson. If this issue can be reproduced with the latest version of Meson, ple
ase help us by opening an issue at https://github.com/mesonbuild/meson/issues. Please include the crate and version that
is generating this warning if possible.
tracing-0.1-rs| WARNING: Binary entry rust has unexpected keys "path". This may (unlikely) be an error in the cargo mani
fest, or may be a missing implementation in Meson. If this issue can be reproduced with the latest version of Meson, ple
ase help us by opening an issue at https://github.com/mesonbuild/meson/issues. Please include the crate and version that
is generating this warning if possible.
tracing-0.1-rs| Generated Meson AST: /Users/jade/dev/repro/2025-02-21-meson-rust-bugs/build/subprojects/tracing-0.1.41/m
eson.build
tracing-0.1-rs| Project name: tracing
tracing-0.1-rs| Project version: 0.1.41
tracing-0.1-rs| Rust compiler for the host machine: rustc -C linker=cc (rustc 1.84.1)
tracing-0.1-rs| Rust linker for the host machine: rustc -C linker=cc ld64 1115.7.3
tracing-0.1-rs| Message: Enabled features: ['default', 'attributes', 'tracing-attributes', 'std']
tracing-0.1-rs| Run-time dependency pin-project-lite-0.2-rs found: NO (tried pkgconfig and cmake)
tracing-0.1-rs| Looking for a fallback subproject for the dependency pin-project-lite-0.2-rs
Executing subproject tracing-0.1-rs:pin-project-lite-0.2-rs method cargo
pin-project-lite-0.2-rs| Generated Meson AST: /Users/jade/dev/repro/2025-02-21-meson-rust-bugs/build/subprojects/pin-pro
ject-lite-0.2.16/meson.build
pin-project-lite-0.2-rs| Project name: pin-project-lite
pin-project-lite-0.2-rs| Project version: 0.2.16
pin-project-lite-0.2-rs| Rust compiler for the host machine: rustc -C linker=cc (rustc 1.84.1)
pin-project-lite-0.2-rs| Rust linker for the host machine: rustc -C linker=cc ld64 1115.7.3
pin-project-lite-0.2-rs| Message: Enabled features: ['default']
pin-project-lite-0.2-rs| Build targets in project: 1
pin-project-lite-0.2-rs| Subproject pin-project-lite-0.2-rs finished.
tracing-0.1-rs| Dependency pin-project-lite-0.2-rs found: YES 0.2.16 (overridden)
tracing-0.1-rs| Run-time dependency tracing-attributes-0.1-rs found: NO (tried pkgconfig and cmake)
tracing-0.1-rs| Looking for a fallback subproject for the dependency tracing-attributes-0.1-rs
Executing subproject tracing-0.1-rs:tracing-attributes-0.1-rs method cargo
tracing-attributes-0.1-rs| Generated Meson AST: /Users/jade/dev/repro/2025-02-21-meson-rust-bugs/build/subprojects/traci
ng-attributes-0.1.28/meson.build
tracing-attributes-0.1-rs| Project name: tracing-attributes
tracing-attributes-0.1-rs| Project version: 0.1.28
tracing-attributes-0.1-rs| Rust compiler for the host machine: rustc -C linker=cc (rustc 1.84.1)
tracing-attributes-0.1-rs| Rust linker for the host machine: rustc -C linker=cc ld64 1115.7.3
tracing-attributes-0.1-rs| Message: Enabled features: ['default']
tracing-attributes-0.1-rs| Run-time dependency syn-2-rs found: NO (tried pkgconfig and cmake)
tracing-attributes-0.1-rs| Looking for a fallback subproject for the dependency syn-2-rs
Executing subproject tracing-0.1-rs:tracing-attributes-0.1-rs:syn-2-rs method cargo
syn-2-rs| Generated Meson AST: /Users/jade/dev/repro/2025-02-21-meson-rust-bugs/build/subprojects/syn-2.0.98/meson.build
syn-2-rs| Project name: syn
syn-2-rs| Project version: 2.0.98
syn-2-rs| Rust compiler for the host machine: rustc -C linker=cc (rustc 1.84.1)
syn-2-rs| Rust linker for the host machine: rustc -C linker=cc ld64 1115.7.3
syn-2-rs| Message: Enabled features: ['parsing', 'proc-macro', 'visit-mut', 'printing', 'clone-impls', 'extra-traits', '
full']
syn-2-rs| Run-time dependency quote-1-rs found: NO (tried pkgconfig and cmake)
syn-2-rs| Looking for a fallback subproject for the dependency quote-1-rs
Executing subproject tracing-0.1-rs:tracing-attributes-0.1-rs:syn-2-rs:quote-1-rs method cargo
quote-1-rs| Generated Meson AST: /Users/jade/dev/repro/2025-02-21-meson-rust-bugs/build/subprojects/quote-1.0.38/meson.b
uild
quote-1-rs| Project name: quote
quote-1-rs| Project version: 1.0.38
quote-1-rs| Rust compiler for the host machine: rustc -C linker=cc (rustc 1.84.1)
quote-1-rs| Rust linker for the host machine: rustc -C linker=cc ld64 1115.7.3
quote-1-rs| Message: Enabled features: ['default', 'proc-macro']
quote-1-rs| Run-time dependency proc-macro2-1-rs found: NO (tried pkgconfig and cmake)
quote-1-rs| Looking for a fallback subproject for the dependency proc-macro2-1-rs
Executing subproject tracing-0.1-rs:tracing-attributes-0.1-rs:syn-2-rs:quote-1-rs:proc-macro2-1-rs method cargo
proc-macro2-1-rs| Generated Meson AST: /Users/jade/dev/repro/2025-02-21-meson-rust-bugs/build/subprojects/proc-macro2-1.
0.93/meson.build
proc-macro2-1-rs| Project name: proc-macro2
proc-macro2-1-rs| Project version: 1.0.93
proc-macro2-1-rs| Rust compiler for the host machine: rustc -C linker=cc (rustc 1.84.1)
proc-macro2-1-rs| Rust linker for the host machine: rustc -C linker=cc ld64 1115.7.3
proc-macro2-1-rs| Message: Enabled features: ['default', 'proc-macro']
proc-macro2-1-rs| Run-time dependency unicode-ident-1-rs found: NO (tried pkgconfig and cmake)
proc-macro2-1-rs| Looking for a fallback subproject for the dependency unicode-ident-1-rs
Executing subproject tracing-0.1-rs:tracing-attributes-0.1-rs:syn-2-rs:quote-1-rs:proc-macro2-1-rs:unicode-ident-1-rs me
thod cargo
unicode-ident-1-rs| Generated Meson AST: /Users/jade/dev/repro/2025-02-21-meson-rust-bugs/build/subprojects/unicode-iden
t-1.0.17/meson.build
unicode-ident-1-rs| Project name: unicode-ident
unicode-ident-1-rs| Project version: 1.0.17
unicode-ident-1-rs| Rust compiler for the host machine: rustc -C linker=cc (rustc 1.84.1)
unicode-ident-1-rs| Rust linker for the host machine: rustc -C linker=cc ld64 1115.7.3
unicode-ident-1-rs| Message: Enabled features: ['default']
unicode-ident-1-rs| Build targets in project: 2
unicode-ident-1-rs| Subproject unicode-ident-1-rs finished.
proc-macro2-1-rs| Dependency unicode-ident-1-rs found: YES 1.0.17 (overridden)
proc-macro2-1-rs| Build targets in project: 3
proc-macro2-1-rs| Subproject proc-macro2-1-rs finished.
quote-1-rs| Dependency proc-macro2-1-rs found: YES 1.0.93 (overridden)
quote-1-rs| Build targets in project: 4
quote-1-rs| Subproject quote-1-rs finished.
syn-2-rs| Dependency quote-1-rs found: YES 1.0.38 (overridden)
syn-2-rs| Dependency unicode-ident-1-rs found: YES 1.0.17 (overridden)
syn-2-rs| Dependency proc-macro2-1-rs found: YES 1.0.93 (overridden)
syn-2-rs| Build targets in project: 5
syn-2-rs| Subproject syn-2-rs finished.
tracing-attributes-0.1-rs| Dependency syn-2-rs found: YES 2.0.98 (overridden)
tracing-attributes-0.1-rs| Dependency quote-1-rs found: YES 1.0.38 (overridden)
tracing-attributes-0.1-rs| Dependency proc-macro2-1-rs found: YES 1.0.93 (overridden)
tracing-attributes-0.1-rs| WARNING: Tried to mix a host machine library ("syn") with a build machine target "tracing_att
ributes" This will fail in cross build.
tracing-attributes-0.1-rs| WARNING: Tried to mix a host machine library ("quote") with a build machine target "tracing_a
ttributes" This will fail in cross build.
tracing-attributes-0.1-rs| WARNING: Tried to mix a host machine library ("proc_macro2") with a build machine target "tra
cing_attributes" This will fail in cross build.
tracing-attributes-0.1-rs| Build targets in project: 6
tracing-attributes-0.1-rs| Subproject tracing-attributes-0.1-rs finished.
tracing-0.1-rs| Dependency tracing-attributes-0.1-rs found: YES 0.1.28 (overridden)
tracing-0.1-rs| Run-time dependency tracing-core-0.1-rs found: NO (tried pkgconfig and cmake)
tracing-0.1-rs| Looking for a fallback subproject for the dependency tracing-core-0.1-rs
Executing subproject tracing-0.1-rs:tracing-core-0.1-rs method cargo
tracing-core-0.1-rs| Generated Meson AST: /Users/jade/dev/repro/2025-02-21-meson-rust-bugs/build/subprojects/tracing-cor
e-0.1.33/meson.build
tracing-core-0.1-rs| Project name: tracing-core
tracing-core-0.1-rs| Project version: 0.1.33
tracing-core-0.1-rs| Rust compiler for the host machine: rustc -C linker=cc (rustc 1.84.1)
tracing-core-0.1-rs| Rust linker for the host machine: rustc -C linker=cc ld64 1115.7.3
tracing-core-0.1-rs| Message: Enabled features: ['once_cell', 'std']
tracing-core-0.1-rs| Run-time dependency once_cell-1-rs found: NO (tried pkgconfig and cmake)
tracing-core-0.1-rs| Looking for a fallback subproject for the dependency once_cell-1-rs
Executing subproject tracing-0.1-rs:tracing-core-0.1-rs:once_cell-1-rs method cargo
once_cell-1-rs| Generated Meson AST: /Users/jade/dev/repro/2025-02-21-meson-rust-bugs/build/subprojects/once_cell-1.20.3
/meson.build
once_cell-1-rs| Project name: once_cell
once_cell-1-rs| Project version: 1.20.3
once_cell-1-rs| Rust compiler for the host machine: rustc -C linker=cc (rustc 1.84.1)
once_cell-1-rs| Rust linker for the host machine: rustc -C linker=cc ld64 1115.7.3
once_cell-1-rs| Message: Enabled features: ['default', 'alloc', 'race', 'std']
once_cell-1-rs| Build targets in project: 7
once_cell-1-rs| Subproject once_cell-1-rs finished.
tracing-core-0.1-rs| Dependency once_cell-1-rs found: YES 1.20.3 (overridden)
tracing-core-0.1-rs| Build targets in project: 8
tracing-core-0.1-rs| Subproject tracing-core-0.1-rs finished.
tracing-0.1-rs| Dependency tracing-core-0.1-rs found: YES 0.1.33 (overridden)
tracing-0.1-rs| Build targets in project: 9
tracing-0.1-rs| Subproject tracing-0.1-rs finished.
Dependency tracing-0.1-rs found: YES 0.1.41 (overridden)
Run-time dependency tracing-subscriber-0.3-rs found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency tracing-subscriber-0.3-rs
Executing subproject tracing-subscriber-0.3-rs method cargo
meson.build:4: WARNING: Project does not target a minimum version but uses feature introduced in '1.3.0': Cargo subproje
ct.
tracing-subscriber-0.3-rs| WARNING: Binary entry cached_layer_filters_dont_break_other_layers has unexpected keys "path"
. This may (unlikely) be an error in the cargo manifest, or may be a missing implementation in Meson. If this issue can
be reproduced with the latest version of Meson, please help us by opening an issue at https://github.com/mesonbuild/meso
n/issues. Please include the crate and version that is generating this warning if possible.
tracing-subscriber-0.3-rs| WARNING: Binary entry duplicate_spans has unexpected keys "path". This may (unlikely) be an e
rror in the cargo manifest, or may be a missing implementation in Meson. If this issue can be reproduced with the latest
version of Meson, please help us by opening an issue at https://github.com/mesonbuild/meson/issues. Please include the
crate and version that is generating this warning if possible.
<SNIP> more of them
meson.build:4:21: ERROR: Neither a subproject directory nor a tracing-log-0.2-rs.wrap file was found.
A full log can be found at /Users/jade/dev/repro/2025-02-21-meson-rust-bugs/build/meson-logs/meson-log.txt
Expected behavior
Should not generate these warnings. Also idk what the deal is with the features being ignored in cargo.toml and putting new wrong ones in a meson file I can't find (tracing-log is not enabled, it seems like it's ignoring default-features!), that seems buggy too.
Probably this:
meson/mesonbuild/cargo/interpreter.py
Lines 487 to 490 in 211f1ca
| if not cached: | |
| # This is an entry point, always enable the 'default' feature. | |
| # FIXME: We should have a Meson option similar to `cargo build --no-default-features` | |
| self._enable_feature(pkg, 'default') |
system parameters
- Is this a cross build or just a plain native build (for the same computer)? Native
- what operating system (e.g. MacOS Catalina, Windows 10, CentOS 8.0, Ubuntu 18.04, etc.) macOS 15.3.1
- what Python version are you using: 3.12.8
- what
meson --version:1.7.99(commit d995cbc) - what
ninja --versionif it's a Ninja build: doesn't pass configure.
Metadata
Metadata
Assignees
Labels
dependencies:cargoIssues related to using cargo subprojectsIssues related to using cargo subprojects