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

'Binary entry * has unexpected keys "path"' when running meson setup on rust project #14289

Open
lf- opened this issue Feb 21, 2025 · 0 comments
Labels
dependencies:cargo Issues related to using cargo subprojects

Comments

@lf-
Copy link
Contributor

lf- commented Feb 21, 2025

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:

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 --version if it's a Ninja build: doesn't pass configure.
@dcbaker dcbaker added the dependencies:cargo Issues related to using cargo subprojects label Feb 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies:cargo Issues related to using cargo subprojects
Projects
None yet
Development

No branches or pull requests

2 participants