mirror of
https://github.com/logos-co/logos-logoscore-cli.git
synced 2026-08-30 20:31:09 +00:00
The bump in 9317202 made the tree consistent; this keeps it that way.
This repo stages ${liblogosPortable}/lib/*.dll into ctl/bin/, which includes
libpackage_manager_lib, while the package_manager module ships its own copy in
ctl/modules-pkg/package_manager/. PE import tables carry DLL BASE NAMES and the
format has no rpath, so Windows resolves a plugin's dependency from the
EXECUTABLE'S directory -- liblogos's copy wins, whatever the module was built
against. Nothing made the two agree, so the winner was decided at dlopen, on one
platform only.
That already cost a day: the module began calling
nodeResolvedToAnInstalledPackage(DependencyStatus) while liblogos still pinned
an lgpm two commits before that symbol existed, and package_manager stopped
loading with "undefined symbol" on all three platforms. A follows turns the next
such skew into an EVALUATION-time disagreement instead of a runtime one.
nix-bundle-logos-module-install follows too, and it was the most stale of the
three (3ad200d): it RUNS lgpm at build time to produce the installed tree, so
its pin decides which installer builds the bundle.
Scope, stated honestly: this pins the three root inputs whose lgpm can reach the
staged tree. The lock still carries other lgpm revs in deeper subtrees -- they
belong to other repos' own builds, never land in ctl/, and chasing them with
deeper follows has broken this workspace before.
logos-package-manager is added to the outputs pattern because that pattern has
no `...`; an input absent from it is an evaluation error, not an unused binding.
Verified: .#ctl builds, and a real daemon loads all four bundled modules with
zero undefined-symbol errors.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
12 MiB
12 MiB
The file is too large to be shown.
View Raw