Skip to content

Commit b191337

Browse files
committed
fix(pkg): the gap-filling pass takes a candidate, not the list
find_in_store returns every candidate since this version, and its second caller still treated the result as one path. A Lua table is truthy, so that pass would have written a symlink named after the table's address for every soname the host cannot resolve at all. There is no host copy to compare against there, so coverage cannot decide; the newest candidate is the only answer available.
1 parent fcbbe43 commit b191337

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

‎pkgs/c/compat.vulkan-runtime.lua‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -759,7 +759,13 @@ local function link_runtime_libs(outdir)
759759
local seeds = icd_seed_libraries(dirs)
760760
local filled, missing = {}, {}
761761
for _, soname in ipairs(unresolved_names(outdir, seeds, dirs)) do
762-
local hit = find_in_store(soname)
762+
-- The FIRST candidate, and a list is what find_in_store returns since
763+
-- 2026.09.07. There is no host copy to compare against here -- this
764+
-- pass exists precisely for the names the host cannot resolve at all --
765+
-- so coverage cannot be the criterion, and the newest copy of a soname
766+
-- nothing else provides is the only answer available.
767+
local candidates = find_in_store(soname)
768+
local hit = candidates[#candidates]
763769
if hit then
764770
os.exec(string.format([[ln -sf "%s" "%s"]], hit, path.join(outdir, soname)))
765771
filled[#filled + 1] = soname .. " <- " .. hit

0 commit comments

Comments
 (0)