[FIX] install Arch: mise à jour complète (pacman -Syu) contre glibc mismatch
Après le passage à pacman, l'init PostgreSQL échouait : « /usr/bin/postgres: /usr/lib/libm.so.6: version GLIBC_2.44 not found ». Cause : Arch est en rolling release et NE SUPPORTE PAS les mises à jour partielles. Sur une image cloud dont la glibc date du build de l'image, un « pacman -S <paquet récent> » (postgresql 18.4) installe un binaire lié à une glibc plus récente que celle du système -> symbole introuvable. Fix : mise à jour COMPLÈTE (pacman -Syu) avant d'installer, dans les deux endroits : install_arch_linux.sh (deps OS) et le bootstrap Arch de _qemu_erplibre_remote_cmd (todo.py, remplace -Syy par -Syu). Validé sur VM Arch réelle : après -Syu, « postgres (PostgreSQL) 18.4 » OK, initdb OK, service postgresql actif, superuser erplibre créé, psql connecte. Chaîne complète confirmée : gcc 16.1.1, make, node, psql tous présents. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
63e7b6af8c
commit
374373cc7c
2 changed files with 11 additions and 5 deletions
|
|
@ -14,10 +14,14 @@
|
||||||
EL_USER=${USER}
|
EL_USER=${USER}
|
||||||
|
|
||||||
# pacman résilient : --needed saute ce qui est déjà là, --noconfirm en non
|
# pacman résilient : --needed saute ce qui est déjà là, --noconfirm en non
|
||||||
# interactif. On rafraîchit d'abord la base (best-effort : le remote cmd de
|
# interactif.
|
||||||
# todo a déjà pu lancer reflector + -Syy).
|
|
||||||
PAC="sudo pacman -S --needed --noconfirm"
|
PAC="sudo pacman -S --needed --noconfirm"
|
||||||
sudo pacman -Sy --noconfirm || true
|
# Mise à jour COMPLÈTE obligatoire : Arch est en rolling release et NE SUPPORTE
|
||||||
|
# PAS les mises à jour partielles. Sur une image cloud dont la glibc est
|
||||||
|
# ancienne, un « pacman -S <paquet récent> » lie le binaire à une glibc plus
|
||||||
|
# récente que celle installée -> « /usr/bin/postgres: GLIBC_2.44 not found ».
|
||||||
|
# « -Syu » met à jour glibc (et tout le système) pour rester cohérent.
|
||||||
|
sudo pacman -Syu --noconfirm || true
|
||||||
|
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# Outils de compilation — CRITIQUE (build Python via pyenv, extensions Python)
|
# Outils de compilation — CRITIQUE (build Python via pyenv, extensions Python)
|
||||||
|
|
|
||||||
|
|
@ -1754,11 +1754,13 @@ class TODO:
|
||||||
"pgrep -x pacman >/dev/null 2>&1 "
|
"pgrep -x pacman >/dev/null 2>&1 "
|
||||||
"|| sudo rm -f /var/lib/pacman/db.lck; "
|
"|| sudo rm -f /var/lib/pacman/db.lck; "
|
||||||
# Arch : reflector sélectionne les miroirs HTTPS les plus rapides,
|
# Arch : reflector sélectionne les miroirs HTTPS les plus rapides,
|
||||||
# puis rafraîchit la base et installe.
|
# puis MISE À JOUR COMPLÈTE (-Syu) : Arch (rolling) ne supporte pas
|
||||||
|
# les màj partielles ; sur une image cloud à la glibc ancienne, un
|
||||||
|
# « pacman -S <paquet récent> » casse avec « GLIBC_x.yy not found ».
|
||||||
"sudo pacman -Sy --needed --noconfirm reflector || true; "
|
"sudo pacman -Sy --needed --noconfirm reflector || true; "
|
||||||
"sudo reflector --latest 20 --protocol https --sort rate "
|
"sudo reflector --latest 20 --protocol https --sort rate "
|
||||||
"--save /etc/pacman.d/mirrorlist || true; "
|
"--save /etc/pacman.d/mirrorlist || true; "
|
||||||
"sudo pacman -Syy --noconfirm || true; "
|
"sudo pacman -Syu --noconfirm || true; "
|
||||||
"sudo pacman -S --needed --noconfirm $PKGS; "
|
"sudo pacman -S --needed --noconfirm $PKGS; "
|
||||||
"elif command -v yum >/dev/null 2>&1; then "
|
"elif command -v yum >/dev/null 2>&1; then "
|
||||||
"sudo yum makecache -q || true; sudo yum install -y $PKGS; "
|
"sudo yum makecache -q || true; sudo yum install -y $PKGS; "
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue