Skip to content

Remove DYLD_LIBRARY_PATH and LD_LIBRARY_PATH from native launch #317

Description

@bobtista

Problem

Native launch currently sets DYLD_LIBRARY_PATH / LD_LIBRARY_PATH. Measurement showed these are not required for the engine to resolve its libraries.

Keeping them is actively harmful:

  • dyld searches DYLD_LIBRARY_PATH before @executable_path, so any same-named library elsewhere on the path silently overrides the intended one. This is a real correctness and supply-chain risk, not a theoretical one.
  • Hardened-runtime signing ignores DYLD_LIBRARY_PATH anyway, so the variable will stop having any effect the moment GenHub is signed and notarized — meaning current behaviour would change silently at signing time.

Proposed approach

Remove both variables from the native launch environment and confirm the engine still resolves its libraries via @executable_path / RPATH.

Acceptance criteria

  • Native launch sets neither variable.
  • Engine launches and reaches its main loop on macOS and Linux.
  • Behaviour is unchanged before and after hardened-runtime signing.

Notes

Stack PR 4 (feat/native-launch). Related: the notarization issue, where this becomes load-bearing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions