Status
Verify and close. This issue captures an open question, not a confirmed bug.
Background
During PR #117 work, the macOS CI runner produced linker errors when building integration tests (tests/nft_pipeline) and the generate_patt example with the FFI backend enabled:
```
clang: error: linker command failed with exit code 1
```
The specific note shown was `ld: library 'stdc++' not found` — caused by `build.rs` unconditionally linking `libstdc++` on all non-MSVC targets, but macOS uses LLVM's `libc++`.
PR #117 (commit `92b2f82`) fixed `build.rs` to select the platform-appropriate C++ stdlib:
```rust
if target.contains("apple") {
println!("cargo:rustc-link-lib=c++");
} else {
println!("cargo:rustc-link-lib=stdc++");
}
```
What's unverified
After the libc++ fix, the dual-mode CI step in #117 was scoped to `--lib` so we never re-ran integration tests / example builds on macOS. They might:
- (a) Now build and pass — the libc++ fix was sufficient
- (b) Still fail with a different error — there's a separate macOS-specific issue underneath
Suggested verification
On a macOS runner (or local M-series Mac):
```bash
Integration test builds + runs
cargo test -p webarkitlib-rs --test nft_pipeline --features ffi-backend
cargo test -p webarkitlib-rs --test kpm_regression --features ffi-backend
Example build
cargo build --example generate_patt --features ffi-backend
```
Resolution
Related
Status
Verify and close. This issue captures an open question, not a confirmed bug.
Background
During PR #117 work, the macOS CI runner produced linker errors when building integration tests (
tests/nft_pipeline) and thegenerate_pattexample with the FFI backend enabled:```
clang: error: linker command failed with exit code 1
```
The specific note shown was `ld: library 'stdc++' not found` — caused by `build.rs` unconditionally linking `libstdc++` on all non-MSVC targets, but macOS uses LLVM's `libc++`.
PR #117 (commit `92b2f82`) fixed `build.rs` to select the platform-appropriate C++ stdlib:
```rust
if target.contains("apple") {
println!("cargo:rustc-link-lib=c++");
} else {
println!("cargo:rustc-link-lib=stdc++");
}
```
What's unverified
After the libc++ fix, the dual-mode CI step in #117 was scoped to `--lib` so we never re-ran integration tests / example builds on macOS. They might:
Suggested verification
On a macOS runner (or local M-series Mac):
```bash
Integration test builds + runs
cargo test -p webarkitlib-rs --test nft_pipeline --features ffi-backend
cargo test -p webarkitlib-rs --test kpm_regression --features ffi-backend
Example build
cargo build --example generate_patt --features ffi-backend
```
Resolution
Related