← All tasks
cppleejet/stable-diffusion.cpp #1544Not a task: not reproduced

[Bug] MacOS Failure due to bad linking.

envgap__leejet__stable-diffusion.cpp-1544

01 / FAILURE SIGNATURE

As reported upstream

### Logs / error messages / stack trace
Not a benchmark task.
  • In a clean container the reported failure did not reproduce, or the known fix did not make the project run.

02 / ENVIRONMENT RECIPE

Base commit
0baf721215f45335a5df8caf0ecb34e870c956e7
Manifest
CMakeLists.txt
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

leejet/stable-diffusion.cpp #1544 · read the original issue
### Git commit

Latest.

Root cause: the prebuilt sd-server binary in .cache/bin/sd-cpp/metal/ was linked on the CI runner with a hardcoded LC_RPATH of
  /Users/runner/work/stable-diffusion.cpp/.../build/bin and no @executable_path rpath, so it can't find the libstable-diffusion.dylib sitting right next to it.
  Lemonade's SDServer does try to compensate by exporting LD_LIBRARY_PATH — but that's the Linux env var; macOS's dyld uses DYLD_LIBRARY_PATH, so the workaround
  never fires (and would be stripped by SIP for system binaries anyway).

Ps. I fixed these on the lemonade ci pipeline process.

### Operating System & Version

MacOS 26.5

### GGML backends

Metal

### Command-line arguments used

/Library/Application Support/lemonade/.cache/bin/sd-cpp/metal/sd-server" --listen-port 8001 --diffusion-model "xxxxx"

### Steps to reproduce

run the binary on mac / metal.

### What you expected to happen

to work.

### What actually happened

it broke.

### Logs / error messages / stack trace

_No response_

### Additional context / environment details

_No response_
Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]