[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}
|
||||
|
||||
# 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
|
||||
# todo a déjà pu lancer reflector + -Syy).
|
||||
# interactif.
|
||||
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)
|
||||
|
|
|
|||
|
|
@ -1754,11 +1754,13 @@ class TODO:
|
|||
"pgrep -x pacman >/dev/null 2>&1 "
|
||||
"|| sudo rm -f /var/lib/pacman/db.lck; "
|
||||
# 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 reflector --latest 20 --protocol https --sort rate "
|
||||
"--save /etc/pacman.d/mirrorlist || true; "
|
||||
"sudo pacman -Syy --noconfirm || true; "
|
||||
"sudo pacman -Syu --noconfirm || true; "
|
||||
"sudo pacman -S --needed --noconfirm $PKGS; "
|
||||
"elif command -v yum >/dev/null 2>&1; then "
|
||||
"sudo yum makecache -q || true; sudo yum install -y $PKGS; "
|
||||
|
|
|
|||
Loading…
Reference in a new issue