Skip to content

build,simdjson: export symbols in component build#250

Open
deepak1556 wants to merge 1 commit intov8:node-ci-2026-04-16from
deepak1556:robo/fix_simdjson_component_build
Open

build,simdjson: export symbols in component build#250
deepak1556 wants to merge 1 commit intov8:node-ci-2026-04-16from
deepak1556:robo/fix_simdjson_component_build

Conversation

@deepak1556
Copy link
Copy Markdown

In component builds on POSIX, simdjson.h defines SIMDJSON_DLLIMPORTEXPORT as empty. Combined with Chromium's default -fvisibility=hidden, this causes all simdjson symbols to be hidden, leading to:

  ld.lld: error: undefined symbol: simdjson::internal::to_chars(...)
  ld.lld: error: undefined symbol: simdjson::internal::structural_or_whitespace_negated
  ld.lld: error: undefined symbol: simdjson::internal::error_codes
  ld.lld: error: undefined symbol: simdjson::get_active_implementation()

Switch the simdjson component to default symbol visibility on POSIX similar to deps/uv. Addresses the link time failure in https://ci.chromium.org/ui/p/node-ci/builders/try/node_ci_linux64_dbg

In component builds on POSIX, simdjson.h defines SIMDJSON_DLLIMPORTEXPORT
as empty. Combined with Chromium's default -fvisibility=hidden, this causes
all simdjson symbols to be hidden in the resulting .so, leading to:

  ld.lld: error: undefined symbol: simdjson::internal::to_chars(...)
  ld.lld: error: undefined symbol: simdjson::internal::structural_or_whitespace_negated
  ld.lld: error: undefined symbol: simdjson::internal::error_codes
  ld.lld: error: undefined symbol: simdjson::get_active_implementation()

Switch the simdjson component to default symbol visibility on POSIX
similar to deps/uv.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant