Skip to content

Strip the Linux standalone server - #99

Merged
AnHeuermann merged 1 commit into
OpenModelica:mainfrom
AnHeuermann:strip-linux-standalone
Sep 24, 2026
Merged

AnHeuermann merged 1 commit into
OpenModelica:mainfrom
AnHeuermann:strip-linux-standalone

Conversation

@AnHeuermann

Copy link
Copy Markdown
Member

Purpose

OpenModelica's omedit .deb ships modelica-language-server-linux-x64 from the releases, and lintian reports it:

E: omedit: unstripped-binary-or-object [usr/lib/omedit/ls/modelica/modelica-language-server]

The standalone server is a Node.js SEA built on the official node binary, which keeps its symbol table and debug info.

Part of OpenModelica/OpenModelica#16849.

Approach

build-standalone.js strips the copied node binary with strip --strip-all on Linux, before the blob is injected (postject adds it as an ELF note, which stripping afterwards could remove). macOS and Windows are unchanged.

Tested locally with an official Node 24.18.0 build, as in CI:

  • the binary is stripped, 102.5 MB instead of 121.3 MB
  • --version prints modelica-language-server 0.3.5
  • an LSP initialize over --stdio returns the server's capabilities

Not addressed

lintian also reports embedded-library zlib and hardening-no-pie for the binary. Both come from how Node.js itself is built (it links its own zlib, and the official Linux binaries are not PIE), so they can only change by building node from source. OpenModelica will carry a lintian override for those two instead.

🤖 Generated with Claude Code

The official node binary the SEA is built from keeps its symbol table and
debug info, which lintian reports as unstripped-binary-or-object for
OpenModelica's omedit .deb that ships the server. Strip it before the
blob is injected.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@AnHeuermann AnHeuermann self-assigned this Sep 24, 2026
@AnHeuermann
AnHeuermann merged commit d454c22 into OpenModelica:main Sep 24, 2026
9 checks passed
@AnHeuermann
AnHeuermann deleted the strip-linux-standalone branch September 24, 2026 16:23
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