Skip to content

Commit 450acbb

Browse files
committed
ci(temp): authoritative opencv-fetch diagnostics (whole-runner + direct cmake install)
Prior diag looked only under $HOME/.mcpp, but the vendored xlings installs into its own home ($root/registry). Search the whole runner for xim-x-cmake + opencv build log, and directly run the vendored xlings 'install cmake@4.0.2' with visible output to capture the real xim:cmake failure (its install error is otherwise suppressed). Remove before merge.
1 parent 8347871 commit 450acbb

1 file changed

Lines changed: 15 additions & 14 deletions

File tree

.github/workflows/validate.yml

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -199,24 +199,25 @@ jobs:
199199
# install() subprocess + log output, so a failed source-build (e.g. opencv's
200200
# CMake hook) is invisible. On failure, surface the on-disk build log + the
201201
# xim:cmake launcher/loader state directly from the runner.
202-
- name: install() build-log on failure
202+
- name: install() diagnostics on failure
203203
if: failure() && runner.os == 'Linux'
204204
shell: bash
205205
run: |
206-
echo "=== opencv build log(s) ==="
207-
find "$HOME/.mcpp" -name 'mcpp_opencv_build.log' 2>/dev/null | while read -r f; do
208-
echo "--- $f ---"; cat "$f"; echo "--- end ---"
206+
echo "=== env ==="
207+
echo "MCPP=$MCPP"; echo "MCPP_VENDORED_XLINGS=$MCPP_VENDORED_XLINGS"; echo "HOME=$HOME"
208+
echo "=== whole-runner search: xim-x-cmake / opencv build log / cmake bins ==="
209+
find / -type d -name 'xim-x-cmake' 2>/dev/null | head || true
210+
find / -name 'mcpp_opencv_build.log' 2>/dev/null | while read -r f; do echo "--- $f ---"; cat "$f"; echo "--- end ---"; done || true
211+
find / -type f -path '*xim-x-cmake*/bin/cmake' 2>/dev/null | while read -r c; do
212+
echo "cmake bin: $c"; readelf -l "$c" 2>/dev/null | grep -i interpreter || true
213+
"$c" --version 2>&1 | head -2 || echo "exec FAILED"
209214
done || true
210-
echo "=== opencv store top-level ==="
211-
find "$HOME/.mcpp" -path '*compat.opencv*4.13.0' -maxdepth 9 2>/dev/null | head -1 | while read -r d; do ls -la "$d" 2>/dev/null; ls -la "$d/include/opencv4/opencv2" 2>/dev/null | head; done || true
212-
echo "=== xim:cmake binary + launcher on PATH ==="
213-
find "$HOME/.mcpp" -type f -name 'cmake' 2>/dev/null | head || true
214-
echo "PATH=$PATH"; command -v cmake || echo "(no bare cmake on this PATH)"
215-
echo "=== xim:cmake ELF interpreter + can it exec? ==="
216-
cm=$(find "$HOME/.mcpp" -type f -path '*xim-x-cmake*/bin/cmake' 2>/dev/null | head -1)
217-
if [ -n "$cm" ]; then readelf -l "$cm" 2>/dev/null | grep -i interpreter || true; "$cm" --version 2>&1 | head -3 || echo "exec FAILED rc=$?"; fi
218-
echo "=== xim:glibc present? ==="
219-
find "$HOME/.mcpp" -path '*xim-x-glibc*ld-linux*' 2>/dev/null | head || echo "(no xim glibc loader)"
215+
echo "=== directly install cmake@4.0.2 via the vendored xlings (visible output) ==="
216+
if [ -n "$MCPP_VENDORED_XLINGS" ] && [ -x "$MCPP_VENDORED_XLINGS" ]; then
217+
MCPP_INDEX_MIRROR=GLOBAL "$MCPP_VENDORED_XLINGS" install cmake@4.0.2 -y 2>&1 | tail -40 || echo "xlings install cmake exit=$?"
218+
fi
219+
echo "=== opencv store (whole runner) ==="
220+
find / -path '*compat.opencv*4.13.0/include/opencv4/opencv2' -type d 2>/dev/null | head || echo "(no opencv headers materialised anywhere)"
220221
221222
# ── Exception: the public `imgui` C++23-module package (namespace "") ──
222223
# Not yet a workspace member: its package has an empty namespace (the builtin

0 commit comments

Comments
 (0)