-
Notifications
You must be signed in to change notification settings - Fork 201
meson: deprecate harder #2933
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
Merged
Merged
meson: deprecate harder #2933
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Now we've had the warning about Meson for a while and everyone we know about has migrated to pure Cargo, increase the level of the deprecation. The next step is to hard error the build unless a flag is specified to override this. This new flag to hide this error is documented and will force anyone who was taking updates automatically to notice the change. Test plan: - CI - CI with the first version of this commit (no flag). It failed with the expected error.
sirlucjan
approved these changes
Oct 22, 2025
Collaborator
sirlucjan
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- without new flag:
==> Starting prepare()...
58e6680c (origin/meson-haters-club) meson: deprecate harder
==> Starting pkgver()...
==> Updated version: scx-scheds-git 1.0.17.r144.g737b9b13-1
==> Starting build()...
+ exec meson setup --prefix /usr --libexecdir lib --sbindir bin --buildtype plain --auto-features enabled --wrap-mode nodownload -D b_pie=true -D python.bytecompile=1 . build -D openrc=disabled -D libbpf_a=disabled -D bpftool=disabled -D b_lto=true -D b_lto_mode=thin -D cargo_home=/home/lucjan/Pobrane/scx-scheds-git2/src/scx
The Meson build system
Version: 1.9.1
Source dir: /home/lucjan/Pobrane/scx-scheds-git2/src/scx
Build dir: /home/lucjan/Pobrane/scx-scheds-git2/src/scx/build
Build type: native build
Project name: sched_ext schedulers
Project version: 1.0.17
C compiler for the host machine: cc (gcc 15.2.1 "cc (GCC) 15.2.1 20250813")
C linker for the host machine: cc ld.bfd 2.45.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
meson.build:9:2: ERROR: Problem encountered: Meson builds are deprecated. Please switch to `cargo build` for Rust schedulers and `make` for C schedulers. Meson will be removed in an upcoming release. Please report any issues packaging for distributions at https://github.com/sched-ext/scx/discussions/2731. If you need Meson to unblock yourself temporarily, add `-Dforce_meson=true` when configuring.
A full log can be found at /home/lucjan/Pobrane/scx-scheds-git2/src/scx/build/meson-logs/meson-log.txt
==> ERROR: A failure occurred in build().
Aborting...
- with new flag
+ exec meson setup --prefix /usr --libexecdir lib --sbindir bin --buildtype plain --auto-features enabled --wrap-mode nodownload -D b_pie=true -D python.bytecompile=1 . build -D openrc=disabled -D libbpf_a=disabled -D bpftool=disabled -D b_lto=true -D b_lto_mode=thin -D force_meson=true -D cargo_home=/home/lucjan/Pobrane/scx-scheds-git/src/scx
The Meson build system
Version: 1.9.1
Source dir: /home/lucjan/Pobrane/scx-scheds-git/src/scx
Build dir: /home/lucjan/Pobrane/scx-scheds-git/src/scx/build
Build type: native build
Project name: sched_ext schedulers
Project version: 1.0.17
C compiler for the host machine: cc (gcc 15.2.1 "cc (GCC) 15.2.1 20250813")
C linker for the host machine: cc ld.bfd 2.45.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program clang found: YES (/usr/bin/clang)
Program /home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/veristat found: YES (/home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/veristat)
Program /home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/veristat_diff found: YES (/home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/veristat_diff)
Program /home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/run_stress_tests found: YES (/home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/run_stress_tests)
Program /home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/get_clang_ver found: YES (/home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/get_clang_ver)
Program /home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/get_bpftool_ver found: YES (/home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/get_bpftool_ver)
Program /home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/bpftool_build_skel found: YES (/home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/bpftool_build_skel)
Program /home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/bpftool_build_skel_lib found: YES (/home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/bpftool_build_skel_lib)
Program /home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/get_sys_incls found: YES (/home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/get_sys_incls)
Program /home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/test_sched found: YES (/home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/test_sched)
Program /home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/fetch_libbpf found: YES (/bin/bash /home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/fetch_libbpf)
Program /home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/build_libbpf found: YES (/home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/build_libbpf)
Program /home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/fetch_bpftool found: YES (/bin/bash /home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/fetch_bpftool)
Program /home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/build_bpftool found: YES (/bin/bash /home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/build_bpftool)
Program /home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/compile_scx_lib found: YES (/home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/compile_scx_lib)
Program jq found: YES (/usr/bin/jq)
Program make found: YES (/usr/bin/make)
Program nproc found: YES (/usr/bin/nproc)
Program protoc found: YES (/usr/bin/protoc)
Program llvm-strip found: YES (/usr/bin/llvm-strip)
Found pkg-config: YES (/usr/bin/pkg-config) 2.5.1
Run-time dependency libseccomp found: YES 2.5.6
Run-time dependency libbpf found: YES 1.5.1
Program bpftool found: YES (/usr/bin/bpftool)
Message: cpu=x86_64 bpf_base_cflags=['-g', '-O2', '-Wall', '-Wno-compare-distinct-pointer-types', '-D__TARGET_ARCH_x86', '-mcpu=v3', '-mlittle-endian', '-idirafter /usr/lib/clang/21/include', '-idirafter /usr/local/include', '-idirafter /usr/include']
Program cargo found: YES (/usr/bin/cargo)
Program /home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/cargo_fetch found: YES (/home/lucjan/Pobrane/scx-scheds-git/src/scx/meson-scripts/cargo_fetch)
Run-time dependency threads found: YES
Dependency threads found: YES unknown (cached)
Run-time dependency systemd found: YES 258
Dependency openrc skipped: feature openrc disabled
Build targets in project: 76
sched_ext schedulers 1.0.17
User defined options
auto_features : enabled
b_lto : true
b_lto_mode : thin
b_pie : true
bpftool : disabled
buildtype : plain
cargo_home : /home/lucjan/Pobrane/scx-scheds-git/src/scx
force_meson : true
libbpf_a : disabled
libexecdir : lib
openrc : disabled
prefix : /usr
python.bytecompile: 1
sbindir : bin
wrap_mode : nodownload
Found ninja-1.13.1 at /usr/bin/ninja
Generating targets: 0%| | 0/76 eta ?
Writing build.ninja: 0%| | 0/177 eta ?
ninja: Entering directory `/home/lucjan/Pobrane/scx-scheds-git/src/scx/build'
[1/47] Generating libbpf with a custom command
[2/47] Generating bpftool_target with a custom command
[3/47] Generating copy dsq_lat with a custom command
[4/47] Generating copy runq_lat with a custom command
[5/47] Generating copy stress wrapper with a custom command
[6/47] Compiling C object cc_cflags_probe.p/meson-scripts_cc_cflags_probe.c.o
[7/47] Linking target cc_cflags_probe
[8/47] Generating 'scheds/c/scx_prev.p/scx_prev.bpf.o'
[9/47] Generating 'scheds/c/scx_pair.p/scx_pair.bpf.o'
[10/47] Generating from 'scx_prev.bpf.o'
[11/47] Generating 'scheds/c/scx_nest.p/scx_nest.bpf.o'
[12/47] Generating 'scheds/c/scx_qmap.p/scx_qmap.bpf.o'
[13/47] Generating from 'scx_pair.bpf.o'
[14/47] Generating 'scheds/c/scx_simple.p/scx_simple.bpf.o'
[15/47] Generating 'scheds/c/scx_flatcg.p/scx_flatcg.bpf.o'
[16/47] Generating lib/sdt_task with a custom command
[17/47] Generating from 'scx_nest.bpf.o'
[18/47] Generating 'scheds/c/scx_central.p/scx_central.bpf.o'
[19/47] Generating 'scheds/c/scx_userland.p/scx_userland.bpf.o'
[20/47] Generating from 'scx_simple.bpf.o'
[21/47] Generating 'scheds/c/scx_sdt.p/scx_sdt.bpf.o'
[22/47] Generating from 'scx_qmap.bpf.o'
[23/47] Compiling C object scheds/c/scx_pair.p/scx_pair.c.o
[24/47] Compiling C object scheds/c/scx_prev.p/scx_prev.c.o
[25/47] Generating from 'scx_flatcg.bpf.o'
[26/47] Generating from 'scx_central.bpf.o'
[27/47] Generating from 'scx_userland.bpf.o'
[28/47] Compiling C object scheds/c/scx_simple.p/scx_simple.c.o
[29/47] Generating lib/sdt_alloc with a custom command
[30/47] Compiling C object scheds/c/scx_qmap.p/scx_qmap.c.o
[31/47] Compiling C object scheds/c/scx_nest.p/scx_nest.c.o
[32/47] Generating lib/lib with a custom command
[33/47] Compiling C object scheds/c/scx_central.p/scx_central.c.o
[34/47] Compiling C object scheds/c/scx_userland.p/scx_userland.c.o
[35/47] Compiling C object scheds/c/scx_flatcg.p/scx_flatcg.c.o
[36/47] Linking target scheds/c/scx_prev
[37/47] Linking target scheds/c/scx_simple
[38/47] Linking target scheds/c/scx_pair
[39/47] Linking target scheds/c/scx_qmap
[40/47] Linking target scheds/c/scx_central
[41/47] Linking target scheds/c/scx_nest
[42/47] Linking target scheds/c/scx_flatcg
[43/47] Generating from 'scx_sdt.bpf.o'
[44/47] Linking target scheds/c/scx_userland
[45/47] Compiling C object scheds/c/scx_sdt.p/scx_sdt.c.o
[46/47] Linking target scheds/c/scx_sdt
[47/47] Generating rust_all with a custom command (wrapped by meson to set env)
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /home/lucjan/Pobrane/scx-scheds-git/src/scx/build
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Now we've had the warning about Meson for a while and everyone we know about has migrated to pure Cargo, increase the level of the deprecation. The next step is to hard error the build unless a flag is specified to override this. This new flag to hide this error is documented and will force anyone who was taking updates automatically to notice the change.
Test plan: