Update .gitea/workflows/build.yaml
Some checks failed
Build Wownero LWS (Mac Linker Fix) / macos (arm64, armv8-a, macos-arm64, aarch64-apple-darwin11) (push) Successful in 2m6s
Build Wownero LWS (Mac Linker Fix) / macos (x86_64, x86-64, macos-x64, x86_64-apple-darwin11) (push) Failing after 1m57s

This commit is contained in:
2026-02-12 14:00:08 -05:00
parent 9835133d41
commit 1076906ce9

View File

@@ -1,4 +1,4 @@
name: Build Wownero LWS (Mac Nuclear Fix)
name: Build Wownero LWS (Mac Linker Fix)
on:
push:
branches: [ master, main ]
@@ -10,6 +10,16 @@ env:
CORE_TAG: 'v0.11.4.2'
jobs:
# ==================================================================
# JOB 1: LINUX JOBS - DISABLED (Focusing on Mac)
# ==================================================================
# linux-native: ...
# linux-cross: ...
# windows: ...
# ==================================================================
# JOB: MACOS - RT DUMMY + LINKER PATH FIX
# ==================================================================
macos:
runs-on: macos-latest
env:
@@ -18,16 +28,14 @@ jobs:
fail-fast: false
matrix:
include:
# --- ARM64 (Native M1/M2) ---
- target: aarch64-apple-darwin11
arch: arm64
build_arch: "armv8-a"
platform: macos-arm64
# --- x86_64 (Intel via Rosetta) ---
- target: x86_64-apple-darwin11
arch: x86_64
build_arch: "x86-64"
platform: macos-x64
- target: aarch64-apple-darwin11
arch: arm64
build_arch: "armv8-a"
platform: macos-arm64
steps:
- name: Manual Checkout
env:
@@ -58,25 +66,24 @@ jobs:
mkdir -p wownero-sdk
tar -xf sdk.tar.gz -C wownero-sdk
# --- THE FIX: CREATE DUMMY LIBRT.A ---
# --- FIX: CREATE DUMMY LIBRT.A ---
- name: Create Dummy RT Library
run: |
echo "Creating dummy librt.a to trick the linker..."
echo "" > dummy.c
mkdir -p wownero-sdk/lib
echo "void dummy_rt_func() {}" > dummy.c
cc -c dummy.c -o dummy.o
ar cr librt.a dummy.o
ranlib librt.a
# Move it into the SDK lib folder so it looks official
cp librt.a wownero-sdk/lib/librt.a
echo "Dummy librt.a created at $(pwd)/wownero-sdk/lib/librt.a"
ar cr wownero-sdk/lib/librt.a dummy.o
ranlib wownero-sdk/lib/librt.a
ls -l wownero-sdk/lib/librt.a
- name: Build
run: |
mkdir build && cd build
SDK_DIR="$(pwd)/../wownero-sdk"
# We pass the ABSOLUTE PATH to our dummy librt.a
# We explicitly set ARCH to prevent auto-detection of the M2 chip on x86 builds
# FIX 1: Pass -L$SDK_DIR/lib in CMAKE_EXE_LINKER_FLAGS so 'ld' finds librt.a
# FIX 2: Pass ARCH to handle x86 cross-compile on M2
cmake .. -DCMAKE_BUILD_TYPE=Release \
-DBUILD_STATIC=ON \
@@ -105,7 +112,8 @@ jobs:
-DLIBEVENT_LIBRARY=$SDK_DIR/lib/libevent.a \
-DLIBEVENT_INCLUDE_DIR=$SDK_DIR/include \
-DRT_LIBRARY="$SDK_DIR/lib/librt.a" \
-DUSE_READLINE=OFF
-DUSE_READLINE=OFF \
-DCMAKE_EXE_LINKER_FLAGS="-Wl,-L$SDK_DIR/lib"
make -j$(sysctl -n hw.ncpu)