Fix JAX windows ci build error : missing stablehlo C API symbols #2530
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue: JAX windows build is failing because of missing stablehlo C API symbols
https://github.com/google/jax/actions/runs/10739809804/job/29786443538
Root cause:
StablehloApi.h
defs has function overloads. Compiler does name mangling (decorating function names with additional information). These symbols are missing in JAX APIs, JAX only allowlist symbol exports for symbols starting withstablehlo
, but the mangled c++ names don't have that property.fix:
extern "C"
around stablehloapi.h declarations. extern "C" instructs the compiler to suppress the mangling.thank you @hawkinsp for help with root causing and validating the fix.