You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(hazmat-kzg): build LeanHazmatKzg on macOS (etheorem#13)
* fix(macos-kzg-build): use Mach-O section name for embedded trusted setup on Apple
* fix(macos-kzg-build): use platform-specific KZG link and symbol names
* fix(macos-kzg-build): ignore local clang output
* fix(macos-kzg-build): describe the platform-specific blst link flag
* fix(macos-build): make EthCLLib/EthCLSpecs libcrypto link portable
EthCLLib and EthCLSpecs re-supply the system libcrypto flag that Lake
doesn't propagate across `require` (see SizzLean's lakefile note), but
they linked it as `-l:libcrypto.so.3`, an exact-SONAME form that only
resolves on Linux. Switch to `-lcrypto`, which resolves through the
unversioned symlink every platform's `-dev`/Homebrew OpenSSL package
provides, and add the Homebrew `opt` paths (Apple Silicon and Intel)
to the existing Linux `-L` candidate list. The linker already ignores
whichever `-L` paths are absent, so one flag list now covers all three
platforms.
Verified with `lake build EthCLSpecs` (clean, 365/365 jobs) and
`just ethcl-test`, whose native_decide self-tests (BLS sign/verify,
KZG cell-proof-batch round-trips through the FFI crypto backend)
exercise the linked shared libraries at runtime, not just at link time.
Append a dated addendum to hazmat-docs/PLAN.md's Stage 0 outcome note,
which recorded `-l:libcrypto.so.3` as the settled flag; the propagation
finding and the decision to re-supply independently are unchanged,
only the literal flag.
* docs(contributing): document macOS native deps in the Quick Start
The Quick Start only listed `apt-get install libssl-dev` and referenced
the Linux-only `libcrypto.so.3`, even though README.md's "Native
dependencies" section already documents the macOS Homebrew path. Add
the macOS line, add the missing `pkg-config` to the Linux line (already
present in README.md's fuller version), and point to README.md for the
per-platform details instead of naming one platform's library file.
0 commit comments