Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: verify iris_dri.so deps at build time + auto-fix missing libs

Build now runs ldd on iris_dri.so inside the initramfs, finds any
missing deps, copies them from the build system, and re-runs the
transitive dep resolver. Logs missing/fixed deps to build output.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+41
+41
fedac/native/docker-build.sh
··· 257 257 done 258 258 done 259 259 260 + # ── 2g2: Verify DRI driver deps ── 261 + if [ -f "$IROOT/lib64/dri/iris_dri.so" ]; then 262 + log " Checking iris_dri.so dependencies..." 263 + MISSING_DRI="" 264 + for needed in $(LD_LIBRARY_PATH="$IROOT/lib64" ldd "$IROOT/lib64/dri/iris_dri.so" 2>/dev/null | grep "not found" | awk '{print $1}'); do 265 + MISSING_DRI="$MISSING_DRI $needed" 266 + # Try to find and copy the missing lib 267 + REAL=$(readlink -f "/lib64/$needed" 2>/dev/null || readlink -f "/usr/lib64/$needed" 2>/dev/null) 268 + if [ -f "$REAL" ]; then 269 + cp -L "$REAL" "$IROOT/lib64/$needed" 270 + log " Fixed: $needed" 271 + else 272 + log " MISSING: $needed (not found on build system)" 273 + fi 274 + done 275 + if [ -n "$MISSING_DRI" ]; then 276 + log " iris_dri.so had missing deps:$MISSING_DRI" 277 + # Re-run transitive dep resolution after fixing 278 + ADDED=1 279 + while [ "$ADDED" -gt 0 ]; do 280 + ADDED=0 281 + for elf in "$IROOT/lib64/"*.so* "$IROOT/lib64/dri/"*.so*; do 282 + [ -f "$elf" ] || continue 283 + for needed in $(readelf -d "$elf" 2>/dev/null | grep NEEDED | sed 's/.*\[\(.*\)\]/\1/'); do 284 + if [ ! -f "$IROOT/lib64/$needed" ]; then 285 + REAL=$(readlink -f "/lib64/$needed" 2>/dev/null || readlink -f "/usr/lib64/$needed" 2>/dev/null) 286 + if [ -f "$REAL" ]; then 287 + cp -L "$REAL" "$IROOT/lib64/$needed" 288 + ADDED=$((ADDED + 1)) 289 + fi 290 + fi 291 + done 292 + done 293 + done 294 + else 295 + log " iris_dri.so: all deps OK" 296 + fi 297 + # Final ldd check — log to build output 298 + LD_LIBRARY_PATH="$IROOT/lib64" ldd "$IROOT/lib64/dri/iris_dri.so" 2>&1 | grep -c "not found" | xargs -I{} log " iris_dri.so final check: {} missing deps" 299 + fi 300 + 260 301 # ── 2h: Verify NO broken symlinks ── 261 302 BROKEN=$(find "$IROOT/lib64/" -type l ! -exec test -e {} \; -print 2>/dev/null | wc -l) 262 303 if [ "$BROKEN" -gt 0 ]; then