Skip to content

Fix: register VarTools LibraryObject in Cpu.sw to fix broken publish#15

Merged
sclaiborne merged 2 commits intomainfrom
fix/cpusw-libobject
Apr 30, 2026
Merged

Fix: register VarTools LibraryObject in Cpu.sw to fix broken publish#15
sclaiborne merged 2 commits intomainfrom
fix/cpusw-libobject

Conversation

@sclaiborne
Copy link
Copy Markdown
Member

What

Adds a <LibraryObject Name="VarTools" .../> entry to both Cpu.sw files (Intel + ARM). Also expands the previously self-closing <SwConfiguration .../> ARM Cpu.sw to a proper structure (TaskClass#1-8 + Libraries block). Adds a missing stringext LibraryObject too (also wasn't registered).

Why

@loupeteam/vartools@1.0.0 was published missing all .br files (only libVarTools.a for ARM). Downstream consumers (Chopper, OMJSON, OMSQL, Chopper, atn, etc.) fail at build time with error 427: Needed module vartools of required range from 1.0.0 ... not installed.

Root cause: without the lib being developed registered as a <LibraryObject> in the configuration's Cpu.sw, AS6 compiles the lib's .a but doesn't include it in the configuration's runtime image, so no .br is generated. The export-as-library action then ships only the .a, producing a broken tarball.

This is the same class of bug as LogThat#5, but the trigger is different (incomplete Cpu.sw, not wrong LIBRARY env var).

Verification

After this change, Temp/Objects/Intel/.../VarTools.br and Temp/Objects/ARM/.../VarTools.br are both produced. Intel + ARM builds clean (only the benign 447 licensing warning).

Follow-up

Once merged:

  1. Delete the broken @loupeteam/vartools@1.0.0 GitHub Package version (manual, requires delete:packages scope)
  2. Trigger build-export-publish.yml workflow with version v1.0.0 to republish

Related

  • DirIOWrap, DatObjWrap, Persist have the same bug — separate fix PRs incoming
  • UPGRADE_TO_AS6.md step 7c now requires this LibraryObject entry for all migrations going forward

Without these <LibraryObject> entries, AS6 builds the static archive
(libVarTools.a) but does NOT generate the loadable runtime module
(VarTools.br). The publish workflow then ships a tarball missing
.br files, and downstream consumers fail at build time with
'error 427: Needed module vartools ... not installed'.

Also expanded the ARM Cpu.sw from <SwConfiguration .../> self-closing
to a proper structure with TaskClass#1-8 and a Libraries block, since
without the expansion there's nowhere for the LibraryObject to live.

Builds Intel + ARM clean (only the benign 447 licensing warning).
@sclaiborne sclaiborne merged commit fc79b6c into main Apr 30, 2026
1 check passed
@sclaiborne sclaiborne deleted the fix/cpusw-libobject branch April 30, 2026 15:20
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