This is an automated email from the ASF dual-hosted git repository.

hgruszecki pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iggy.git


The following commit(s) were added to refs/heads/master by this push:
     new a48878712 fix(ci): fix hwloc build for musl targets in release 
workflow (#2486)
a48878712 is described below

commit a48878712abeed2a1727abc44cc52f63a10d0e91
Author: Hubert Gruszecki <[email protected]>
AuthorDate: Mon Dec 15 12:05:29 2025 +0100

    fix(ci): fix hwloc build for musl targets in release workflow (#2486)
    
    - Add PKG_CONFIG_ALLOW_CROSS and PKG_CONFIG_ALL_STATIC
      vars for musl builds (matches pre-merge action configuration)
    - Fix Dockerfile syntax error
    - Add libhwloc15 runtime dependency to Dockerfile
---
 .github/workflows/_build_rust_artifacts.yml |  7 +++++++
 Cargo.lock                                  | 14 +++++++-------
 DEPENDENCIES.md                             |  6 +++---
 Dockerfile                                  |  3 ++-
 core/server/src/configs/validators.rs       |  6 +++---
 5 files changed, 22 insertions(+), 14 deletions(-)

diff --git a/.github/workflows/_build_rust_artifacts.yml 
b/.github/workflows/_build_rust_artifacts.yml
index b131c25da..f5b3c5006 100644
--- a/.github/workflows/_build_rust_artifacts.yml
+++ b/.github/workflows/_build_rust_artifacts.yml
@@ -119,6 +119,13 @@ jobs:
             bin_flags+=(--bin "$name")
           done
 
+          # musl builds: allow pkg-config to work in cross-compilation mode
+          # (needed for hwlocality-sys vendored build)
+          if [[ "${{ matrix.libc }}" == "musl" ]]; then
+            export PKG_CONFIG_ALLOW_CROSS=1
+            export PKG_CONFIG_ALL_STATIC=1
+          fi
+
           # aarch64 musl: disable GCC outline atomics to avoid undefined 
__aarch64_ldadd4_sync
           # references when linking dbus-sys (required by keyring crate)
           if [[ "${{ matrix.target }}" == "aarch64-unknown-linux-musl" ]]; then
diff --git a/Cargo.lock b/Cargo.lock
index 351efd920..65920a8ad 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1494,9 +1494,9 @@ dependencies = [
 
 [[package]]
 name = "camino"
-version = "1.2.1"
+version = "1.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609"
+checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48"
 dependencies = [
  "serde_core",
 ]
@@ -1762,9 +1762,9 @@ dependencies = [
 
 [[package]]
 name = "compio-buf"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "0aa3ebe7f9830a33aa801a223411c8dc011c3271cd5beed56284c86d227bc32e"
+checksum = "5ebb4036bf394915196c09362e4fd5581ee8bf0f3302ab598bff9d646aea2061"
 dependencies = [
  "arrayvec",
  "bytes",
@@ -4094,7 +4094,7 @@ checksum = 
"f50d4312588681f6d07e6009728bf5c777e1f674d43a3ad91d15f6795a0db965"
 dependencies = [
  "arrayvec",
  "bitflags 2.10.0",
- "derive_more 2.1.0",
+ "derive_more",
  "errno",
  "hwlocality-sys",
  "libc",
@@ -4105,9 +4105,9 @@ dependencies = [
 
 [[package]]
 name = "hwlocality-sys"
-version = "0.6.1"
+version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "98f0a5f1ab804ba087ef715ce5cd4feaab6222a2ef6b3e9d5ae1536e90393728"
+checksum = "6d55ff554bde432473a6d17dc219a2d7fedc1be12d1e150418526f666dc9d096"
 dependencies = [
  "autotools",
  "cmake",
diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md
index 1ba074063..e967141dd 100644
--- a/DEPENDENCIES.md
+++ b/DEPENDENCIES.md
@@ -125,7 +125,7 @@ byteorder: 1.5.0, "MIT OR Unlicense",
 bytes: 1.11.0, "MIT",
 bytestring: 1.5.0, "Apache-2.0 OR MIT",
 bzip2: 0.6.1, "Apache-2.0 OR MIT",
-camino: 1.2.1, "Apache-2.0 OR MIT",
+camino: 1.2.2, "Apache-2.0 OR MIT",
 cargo-platform: 0.1.9, "Apache-2.0 OR MIT",
 cargo-platform: 0.3.2, "Apache-2.0 OR MIT",
 cargo_metadata: 0.19.2, "MIT",
@@ -151,7 +151,7 @@ colored: 3.0.0, "MPL-2.0",
 combine: 4.6.7, "MIT",
 comfy-table: 7.2.1, "MIT",
 compio: 0.17.0, "MIT",
-compio-buf: 0.7.1, "MIT",
+compio-buf: 0.7.2, "MIT",
 compio-driver: 0.10.0, "MIT",
 compio-fs: 0.10.0, "MIT",
 compio-io: 0.8.4, "MIT",
@@ -369,7 +369,7 @@ httpdate: 1.0.3, "Apache-2.0 OR MIT",
 human-repr: 1.1.0, "MIT",
 humantime: 2.3.0, "Apache-2.0 OR MIT",
 hwlocality: 1.0.0-alpha.11, "MIT",
-hwlocality-sys: 0.6.1, "MIT",
+hwlocality-sys: 0.6.4, "MIT",
 hyper: 1.8.1, "MIT",
 hyper-named-pipe: 0.1.0, "Apache-2.0",
 hyper-rustls: 0.27.7, "Apache-2.0 OR ISC OR MIT",
diff --git a/Dockerfile b/Dockerfile
index f4ad3304b..d70decfb4 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -25,7 +25,7 @@ RUN apt-get update && apt-get install -y \
     pkg-config \
     libssl-dev \
     libhwloc-dev \
-    libudev-dev
+    libudev-dev \
     && rm -rf /var/lib/apt/lists/*
 COPY . .
 RUN cargo build --bin iggy --release
@@ -35,6 +35,7 @@ FROM debian:bookworm-slim
 RUN apt-get update && apt-get install -y \
     ca-certificates \
     liblzma5 \
+    libhwloc15 \
     && rm -rf /var/lib/apt/lists/*
 COPY ./core/configs ./configs
 COPY --from=builder /build/target/release/iggy .
diff --git a/core/server/src/configs/validators.rs 
b/core/server/src/configs/validators.rs
index 77e792023..657b62d54 100644
--- a/core/server/src/configs/validators.rs
+++ b/core/server/src/configs/validators.rs
@@ -325,12 +325,12 @@ impl Validatable<ConfigurationError> for ShardingConfig {
             CpuAllocation::NumaAware(numa_config) => match 
NumaTopology::detect() {
                 // TODO: dry the validation, already validate it from the 
shard allocation
                 Ok(topology) => numa_config.validate(&topology).map_err(|e| {
-                    eprintln!("Invalid NUMA configuration: {}", e);
+                    error!("Invalid NUMA configuration: {}", e);
                     ConfigurationError::InvalidConfigurationValue
                 }),
                 Err(e) => {
-                    eprintln!("Failed to detect NUMA topology: {}", e);
-                    eprintln!("NUMA allocation requested but system doesn't 
support it");
+                    error!("Failed to detect NUMA topology: {}", e);
+                    error!("NUMA allocation requested but system doesn't 
support it");
                     Err(ConfigurationError::InvalidConfigurationValue)
                 }
             },

Reply via email to