fix(irv-ml1): self-heal the gcc-11/gfortran-12 -lgfortran mismatch for soundgen
Default gcc is gcc-11 (CUDA/torch R14 pin) but the only gfortran is 12, whose libgfortran-12-dev puts the unversioned libgfortran.so only in the gcc-12 dir. R links shared objects with gcc-11 + -lgfortran, so the whole Fortran dependency chain (quadprog/tseries/RcppArmadillo -> soundgen) failed 'cannot find -lgfortran'. Adds an idempotent step installing libgfortran-11-dev (guarded on 'gcc -print-file-name=libgfortran.so' not resolving). Additive; default toolchain untouched.
This commit is contained in:
@@ -34,6 +34,18 @@ steps:
|
||||
libcurl4-openssl-dev libssl-dev libxml2-dev
|
||||
when: "! command -v Rscript >/dev/null 2>&1"
|
||||
|
||||
# gcc/gfortran version mismatch fix. irv-ml1's default `gcc` is gcc-11
|
||||
# (deliberate — the CUDA/torch R14 stack pins it), but the only gfortran is
|
||||
# gfortran-12, whose libgfortran-12-dev puts the unversioned `libgfortran.so`
|
||||
# ONLY in the gcc-12 dir. R links shared objects with SHLIB_LD=$(CC)=gcc-11 +
|
||||
# `-lgfortran`, so every Fortran package (quadprog→tseries→soundgen, etc.)
|
||||
# fails "cannot find -lgfortran". libgfortran-11-dev adds the symlink to the
|
||||
# gcc-11 dir. Additive — does NOT change the default toolchain.
|
||||
- name: Ensure the default gcc's Fortran link lib resolves (gcc-11 here)
|
||||
sudo: true
|
||||
shell: DEBIAN_FRONTEND=noninteractive apt-get install -y libgfortran-11-dev
|
||||
when: "! gcc -print-file-name=libgfortran.so | grep -q /"
|
||||
|
||||
- name: Pin the Ollama service to the A6000 (UUID) via systemd drop-in
|
||||
sudo: true
|
||||
shell: |
|
||||
|
||||
Reference in New Issue
Block a user