From 246f077778514ce2b6f8c1a7176871c89f1ad259 Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Thu, 6 Aug 2026 21:32:25 -0700 Subject: [PATCH] chore: drop the liburing prerequisite, which was never used (#2560) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Why `IORingGroup` issues io_uring syscalls directly rather than linking `liburing`, so the package has never been needed — but we ask operators to install it in the README, install it in CI, and check for it in `build-tool`. Verified against the **shipped** `IORingGroup` 1.0.9 assembly, not just the source: | Symbol | Occurrences in `IORingGroup.dll` | |---|---| | `libc`, `libSystem.dylib`, `kernel32.dll`, `kernelbase.dll`, `ws2_32.dll` | present | | `liburing` | **0** | | `io_uring_queue_init` — liburing's entry point | **0** | | `io_uring_setup` — the raw syscall | 1 | If it linked liburing it would call `io_uring_queue_init` / `io_uring_submit`. It calls neither. ## What changes Nine lines across three files, removing `liburing-dev` / `liburing-devel` from: - `README.md` — both the dnf and apt prerequisite blocks - `.github/workflows/build-test.yml` — both install steps - `Projects/BuildTool/Prerequisites/NativeLibraryChecker.cs` — the cross-compile target text, the apt and dnf package lists, and the `ldconfig` fallback map Nothing else is touched. `zstd` and the `-dev` packages are a separate discussion and a separate PR. ## Risk None to the build. `liburing` was only ever installed, never linked or loaded — removing it cannot change resolution behaviour. `build-tool` builds clean. This was found while investigating why Linux requires `-dev` packages at all; that fix lives in the binding packages (modernuo/LibDeflate.Bindings#4, modernuo/Argon2.Bindings#13) and lands separately once those publish. This piece is independent and unblocked, hence its own PR. --- .github/workflows/build-test.yml | 4 ++-- .../BuildTool/Prerequisites/NativeLibraryChecker.cs | 11 +++++------ README.md | 4 ++-- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index e7bf70d70..92684562b 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -125,10 +125,10 @@ jobs: dnf install -y epel-release if: ${{ matrix.epel }} - name: Install Prerequisites using dnf - run: dnf makecache --refresh && dnf install -y findutils libicu libdeflate-devel zstd libargon2-devel liburing-devel + run: dnf makecache --refresh && dnf install -y findutils libicu libdeflate-devel zstd libargon2-devel if: ${{ matrix.packageManager == 'dnf' }} - name: Install Prerequisites using apt - run: apt-get update -y && apt-get install -y curl libicu-dev libdeflate-dev zstd libargon2-dev tzdata liburing-dev + run: apt-get update -y && apt-get install -y curl libicu-dev libdeflate-dev zstd libargon2-dev tzdata if: ${{ matrix.packageManager == 'apt' }} - uses: actions/checkout@v7 with: diff --git a/Projects/BuildTool/Prerequisites/NativeLibraryChecker.cs b/Projects/BuildTool/Prerequisites/NativeLibraryChecker.cs index 5334e4a6a..4f84aa373 100644 --- a/Projects/BuildTool/Prerequisites/NativeLibraryChecker.cs +++ b/Projects/BuildTool/Prerequisites/NativeLibraryChecker.cs @@ -31,8 +31,8 @@ public static class NativeLibraryChecker "Linux", [ ".NET 10 Runtime — https://dotnet.microsoft.com/download/dotnet/10.0", - "Debian/Ubuntu: sudo apt-get install -y libicu-dev libdeflate-dev zstd libargon2-dev liburing-dev", - "Fedora/RHEL: sudo dnf install -y libicu libdeflate-devel zstd libargon2-devel liburing-devel", + "Debian/Ubuntu: sudo apt-get install -y libicu-dev libdeflate-dev zstd libargon2-dev", + "Fedora/RHEL: sudo dnf install -y libicu libdeflate-devel zstd libargon2-devel", "CentOS: Also requires epel-release and CRB enabled" ] ), @@ -189,7 +189,7 @@ public static class NativeLibraryChecker private static List CheckLinuxApt() { var results = new List(); - var packages = new[] { "libicu-dev", "libdeflate-dev", "zstd", "libargon2-dev", "liburing-dev" }; + var packages = new[] { "libicu-dev", "libdeflate-dev", "zstd", "libargon2-dev" }; var missing = new List(); foreach (var package in packages) @@ -228,7 +228,7 @@ public static class NativeLibraryChecker private static List CheckLinuxDnf(PlatformInfo platform) { var results = new List(); - var packages = new[] { "libicu", "libdeflate-devel", "zstd", "libargon2-devel", "liburing-devel" }; + var packages = new[] { "libicu", "libdeflate-devel", "zstd", "libargon2-devel" }; var missing = new List(); foreach (var package in packages) @@ -291,8 +291,7 @@ public static class NativeLibraryChecker ["libicu"] = "libicuuc", ["libdeflate"] = "libdeflate", ["zstd"] = "libzstd", - ["libargon2"] = "libargon2", - ["liburing"] = "liburing" + ["libargon2"] = "libargon2" }; foreach (var (name, soName) in libraries) diff --git a/README.md b/README.md index 5bc8e7985..b61204743 100644 --- a/README.md +++ b/README.md @@ -87,13 +87,13 @@ dnf install -y dnf-plugins-core dnf config-manager --set-enabled crb dnf install -y epel-release # Prerequisites -dnf install -y findutils libicu libdeflate-devel zstd libargon2-devel liburing-devel +dnf install -y findutils libicu libdeflate-devel zstd libargon2-devel ``` ### Ubuntu, Debian, etc ```shell apt-get update -y -apt-get install -y libicu-dev libdeflate-dev zstd libargon2-dev liburing-dev +apt-get install -y libicu-dev libdeflate-dev zstd libargon2-dev ``` ## OSX Requirements