Bonjour
Bonne année à tous. J’essaie de mettre à jour de la version 3.3 b10 vers la 3.4 b3. Voici ce que j’ai fait :
cd /var/discourse/git
git remote update
git pull --rebase origin main
Ensuite, j’ai lancé la commande standard ./launcher rebuild app.
Je suis sous Ubuntu 20.04 avec Docker 20.10.7. Je sais que la version de Docker est obsolète, mais les problèmes semblent provenir du conteneur Postgre.
Je rencontre l’erreur de localisation suivante :
Stopping old container
+ /usr/bin/docker stop -t 600 app
app
2.0.20241203-0251: Pulling from discourse/base
Digest: sha256:d5d4e6d361d56745e37f2609db58a6970cc9b3fcd26d0b2dcba23d0cb581f067
Status: Image is up to date for discourse/base:2.0.20241203-0251
docker.io/discourse/base:2.0.20241203-0251
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_GB.UTF-8)
I, [2025-01-02T00:29:38.387006 #1] INFO -- : Reading from stdin
I, [2025-01-02T00:29:38.394543 #1] INFO -- : File > /etc/service/postgres/run chmod: +x chown:
I, [2025-01-02T00:29:38.397263 #1] INFO -- : File > /etc/service/postgres/log/run chmod: +x chown:
I, [2025-01-02T00:29:38.400022 #1] INFO -- : File > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2025-01-02T00:29:38.402670 #1] INFO -- : File > /root/install_postgres chmod: +x chown:
I, [2025-01-02T00:29:38.405305 #1] INFO -- : File > /root/upgrade_postgres chmod: +x chown:
I, [2025-01-02T00:29:38.405637 #1] INFO -- : Replacing data_directory = '/var/lib/postgresql/13/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/13/main/postgresql.conf
I, [2025-01-02T00:29:38.406337 #1] INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/13/main/postgresql.conf
I, [2025-01-02T00:29:38.470425 #1] INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/13/main/postgresql.conf
I, [2025-01-02T00:29:38.501384 #1] INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/13/main/postgresql.conf
I, [2025-01-02T00:29:38.501924 #1] INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/13/main/postgresql.conf
I, [2025-01-02T00:29:38.502432 #1] INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/13/main/postgresql.conf
I, [2025-01-02T00:29:38.502928 #1] INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/13/main/postgresql.conf
I, [2025-01-02T00:29:38.503401 #1] INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/13/main/postgresql.conf
I, [2025-01-02T00:29:38.503882 #1] INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/13/main/postgresql.conf
I, [2025-01-02T00:29:38.504384 #1] INFO -- : Replacing (?-mix:#?local +replication +postgres +peer$) with local replication postgres peer in /etc/postgresql/13/main/pg_hba.conf
I, [2025-01-02T00:29:38.504883 #1] INFO -- : Replacing (?-mix:#?host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2025-01-02T00:29:38.505325 #1] INFO -- : Replacing (?-mix:#?host.*all.*all.*::1\/128.*$) with host all all ::/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2025-01-02T00:29:38.505810 #1] INFO -- : > if [ -f /root/install_postgres ]; then
/root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_GB.UTF-8)
failed to set locale!
[error] character map file `UTF-8' not found: No such file or directory
failed to set locale!
[error] default character map file `ANSI_X3.4-1968' not found: No such file or directory
failed to set locale!
[error] character map file `UTF-8' not found: No such file or directory
failed to set locale!
[error] default character map file `ANSI_X3.4-1968' not found: No such file or directory
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_GB.UTF-8",
LC_ALL = "en_GB.UTF-8",
LANG = "en_GB.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
I, [2025-01-02T00:29:41.001456 #1] INFO -- : Generating locales (this might take a while)...
en_GB.UTF-8... done
en_US.UTF-8... done
Generation complete.
I, [2025-01-02T00:29:41.002017 #1] INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main
I, [2025-01-02T00:29:41.003269 #1] INFO -- : Terminating async processes
2025-01-02 00:29:41.050 UTC [38] LOG: starting PostgreSQL 13.18 (Debian 13.18-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2025-01-02 00:29:41.051 UTC [38] LOG: listening on IPv4 address "0.0.0.0", port 5432
2025-01-02 00:29:41.051 UTC [38] LOG: listening on IPv6 address "::", port 5432
2025-01-02 00:29:41.053 UTC [38] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2025-01-02 00:29:41.058 UTC [39] LOG: database system was shut down at 2025-01-02 00:29:20 UTC
2025-01-02 00:29:41.297 UTC [38] LOG: database system is ready to accept connections
2025-01-02 00:30:01.915 UTC [46] FATAL: database locale is incompatible with operating system
2025-01-02 00:30:01.915 UTC [46] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:30:01.915 UTC [46] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:30:21.343 UTC [47] FATAL: database locale is incompatible with operating system
2025-01-02 00:30:21.343 UTC [47] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:30:21.343 UTC [47] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:30:41.344 UTC [48] FATAL: database locale is incompatible with operating system
2025-01-02 00:30:41.344 UTC [48] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:30:41.344 UTC [48] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:31:01.341 UTC [49] FATAL: database locale is incompatible with operating system
2025-01-02 00:31:01.341 UTC [49] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:31:01.341 UTC [49] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:31:21.418 UTC [50] FATAL: database locale is incompatible with operating system
2025-01-02 00:31:21.418 UTC [50] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:31:21.418 UTC [50] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:31:41.360 UTC [51] FATAL: database locale is incompatible with operating system
2025-01-02 00:31:41.360 UTC [51] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:31:41.360 UTC [51] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:32:01.358 UTC [52] FATAL: database locale is incompatible with operating system
2025-01-02 00:32:01.358 UTC [52] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:32:01.358 UTC [52] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:32:21.379 UTC [53] FATAL: database locale is incompatible with operating system
2025-01-02 00:32:21.379 UTC [53] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:32:21.379 UTC [53] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:32:41.380 UTC [54] FATAL: database locale is incompatible with operating system
2025-01-02 00:32:41.380 UTC [54] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:32:41.380 UTC [54] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:33:01.373 UTC [55] FATAL: database locale is incompatible with operating system
2025-01-02 00:33:01.373 UTC [55] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:33:01.373 UTC [55] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:33:21.391 UTC [56] FATAL: database locale is incompatible with operating system
2025-01-02 00:33:21.391 UTC [56] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:33:21.391 UTC [56] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:33:41.391 UTC [57] FATAL: database locale is incompatible with operating system
2025-01-02 00:33:41.391 UTC [57] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:33:41.391 UTC [57] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:34:01.391 UTC [58] FATAL: database locale is incompatible with operating system
2025-01-02 00:34:01.391 UTC [58] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:34:01.391 UTC [58] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:34:21.391 UTC [59] FATAL: database locale is incompatible with operating system
2025-01-02 00:34:21.391 UTC [59] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:34:21.391 UTC [59] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:34:41.409 UTC [60] FATAL: database locale is incompatible with operating system
2025-01-02 00:34:41.409 UTC [60] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:34:41.409 UTC [60] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:35:01.405 UTC [61] FATAL: database locale is incompatible with operating system
2025-01-02 00:35:01.405 UTC [61] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:35:01.405 UTC [61] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:35:21.392 UTC [62] FATAL: database locale is incompatible with operating system
2025-01-02 00:35:21.392 UTC [62] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:35:21.392 UTC [62] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:35:41.423 UTC [63] FATAL: database locale is incompatible with operating system
2025-01-02 00:35:41.423 UTC [63] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:35:41.423 UTC [63] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:36:01.421 UTC [64] FATAL: database locale is incompatible with operating system
2025-01-02 00:36:01.421 UTC [64] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:36:01.421 UTC [64] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:36:21.392 UTC [65] FATAL: database locale is incompatible with operating system
2025-01-02 00:36:21.392 UTC [65] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:36:21.392 UTC [65] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:36:41.434 UTC [66] FATAL: database locale is incompatible with operating system
2025-01-02 00:36:41.434 UTC [66] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:36:41.434 UTC [66] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:37:01.437 UTC [67] FATAL: database locale is incompatible with operating system
2025-01-02 00:37:01.437 UTC [67] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:37:01.437 UTC [67] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:37:21.391 UTC [68] FATAL: database locale is incompatible with operating system
2025-01-02 00:37:21.391 UTC [68] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:37:21.391 UTC [68] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:37:41.533 UTC [69] FATAL: database locale is incompatible with operating system
2025-01-02 00:37:41.533 UTC [69] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:37:41.533 UTC [69] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:38:01.454 UTC [70] FATAL: database locale is incompatible with operating system
2025-01-02 00:38:01.454 UTC [70] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:38:01.454 UTC [70] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:38:21.491 UTC [71] FATAL: database locale is incompatible with operating system
2025-01-02 00:38:21.491 UTC [71] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:38:21.491 UTC [71] HINT: Recreate the database with another locale or install the missing locale.
lo^C^C^C^C^C^C2025-01-02 00:38:41.553 UTC [72] FATAL: database locale is incompatible with operating system
2025-01-02 00:38:41.553 UTC [72] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:38:41.553 UTC [72] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:39:01.470 UTC [73] FATAL: database locale is incompatible with operating system
2025-01-02 00:39:01.470 UTC [73] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:39:01.470 UTC [73] HINT: Recreate the database with another locale or install the missing locale.
2025-01-02 00:39:21.511 UTC [74] FATAL: database locale is incompatible with operating system
2025-01-02 00:39:21.511 UTC [74] DETAIL: The database was initialized with LC_COLLATE "en_GB.UTF-8", which is not recognized by setlocale().
2025-01-02 00:39:21.511 UTC [74] HINT: Recreate the database with another locale or install the missing locale.
Je ne vois pas comment cela pourrait être un problème lié à l’hôte, mais pour écarter cette hypothèse, j’ai vérifié que les locales sont correctes sur le système hôte :
root@discourse:/var/discourse# locale -a
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IL
en_IL.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX
Je constate qu’elles sont bien présentes.
Relancer ./launcher rebuild app ne résout pas le problème et je rencontre la même erreur. C’est étrange car je vois que les locales sont bien générées dans le conteneur, mais elles ne semblent pas suffisantes pour satisfaire Postgre.
Avez-vous des pistes ?