Ошибка сборки: "extconf failed, exit code 1" — из-за старого Docker?

У меня не удается выполнить пересборку, и я думаю, что это связано с этой проблемой. На сервере работает Ubuntu 16.04 с Docker version 17.05.0-ce, build 89658be, что, как я знаю, вызывает опасения, но я хотел дать этому человеку еще один шанс на пересборку, если это вообще возможно.

I, [2023-12-06T16:10:12.656984 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle install --retry 3 --jobs 4'
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext
/usr/local/bin/ruby extconf.rb
  -- tar zxvfo msgpack-1.1.0.tar.gz
  -- env CFLAGS=nil LDFLAGS=nil CC=nil
-- ./configure --disable-dependency-tracking --disable-shared --with-pic
--prefix=/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext/dst/
--libdir=/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext/dst/lib
*** extconf.rb failed ***
Не удалось создать файл Makefile по какой-то причине, вероятно, из-за отсутствия необходимых
библиотек и/или заголовочных файлов. Проверьте файл mkmf.log для получения более подробной информации. Возможно,
вам потребуются дополнительные параметры конфигурации.

Предоставленные параметры конфигурации:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/usr/local/bin/$(RUBY_BASE_NAME)
extconf.rb:6:in `sys': ./configure --disable-dependency-tracking
--disable-shared --with-pic
--prefix=/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext/dst/
--libdir=/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext/dst/lib
завершился ошибкой, пожалуйста, сообщите об этом по адресу https://github.com/tmm1/rbtrace/issues (RuntimeError)
        from extconf.rb:42:in `block (2 levels) in <main>'
        из extconf.rb:34:in `chdir'
        из extconf.rb:34:in `block in <main>'
        from extconf.rb:30:in `chdir'
        from extconf.rb:30:in `<main>'

Чтобы узнать, почему расширение не удалось скомпилировать, пожалуйста, проверьте файл mkmf.log, который можно
найти здесь:

/var/www/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/rbtrace-0.5.0/mkmf.log

extconf завершился с кодом ошибки 1

root@www:/var/discourse# ./launcher rebuild app
WARNING: Docker version 17.05.0-ce устарела, рекомендуется обновить до версии 17.06.2 или новее.
Обнаружена архитектура x86_64.
WARNING: файл containers/app.yml доступен для чтения всем. Вы можете защитить этот файл, выполнив команду: chmod o-rwx containers/app.yml
Убедимся, что launcher актуален
Получение origin
Launcher актуален
Остановка старого контейнера
+ /usr/bin/docker stop -t 600 app
app
2.0.20231023-1945: Pulling from discourse/base
Digest: sha256:2b0eb484d20888cc2daadb690dcfa73522105650c1420212e99345a36a424d77
Status: Image is up to date for discourse/base:2.0.20231023-1945
/usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2023-12-06T16:07:07.394158 #1]  INFO -- : Чтение из stdin
I, [2023-12-06T16:07:07.401986 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2023-12-06T16:07:07.472801 #1]  INFO -- : Генерация локалей (это может занять некоторое время)...
Генерация завершена.

I, [2023-12-06T16:07:07.473766 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2023-12-06T16:07:07.483448 #1]  INFO -- :
I, [2023-12-06T16:07:07.485286 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2023-12-06T16:07:07.492124 #1]  INFO -- :
I, [2023-12-06T16:07:07.493335 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2023-12-06T16:07:07.499353 #1]  INFO -- :
I, [2023-12-06T16:07:07.500588 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2023-12-06T16:07:07.507193 #1]  INFO -- :
I, [2023-12-06T16:07:07.508374 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2023-12-06T16:07:07.514723 #1]  INFO -- :
I, [2023-12-06T16:07:07.516000 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2023/12/06 16:07:07 socat[17] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory
I, [2023-12-06T16:07:07.543544 #1]  INFO -- :
I, [2023-12-06T16:07:07.544355 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2023-12-06T16:07:07.549264 #1]  INFO -- :
I, [2023-12-06T16:07:07.549978 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2023-12-06T16:07:07.554670 #1]  INFO -- :
I, [2023-12-06T16:07:07.555334 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2023-12-06T16:07:07.559798 #1]  INFO -- :
I, [2023-12-06T16:07:07.560895 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2023-12-06T16:07:07.565444 #1]  INFO -- :
I, [2023-12-06T16:07:07.575177 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown:
I, [2023-12-06T16:07:07.583472 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2023-12-06T16:07:07.593556 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2023-12-06T16:07:07.602131 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown:
I, [2023-12-06T16:07:07.603040 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2023-12-06T16:07:08.001408 #1]  INFO -- :
I, [2023-12-06T16:07:08.002703 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/
13/bin/initdb -D /shared/postgres_data || exit 0
I, [2023-12-06T16:07:08.006516 #1]  INFO -- :
I, [2023-12-06T16:07:08.007156 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2023-12-06T16:07:08.048363 #1]  INFO -- :
I, [2023-12-06T16:07:08.049524 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2023-12-06T16:07:08.055285 #1]  INFO -- :
I, [2023-12-06T16:07:08.056635 #1]  INFO -- : > /root/upgrade_postgres
I, [2023-12-06T16:07:08.067823 #1]  INFO -- :
I, [2023-12-06T16:07:08.068692 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2023-12-06T16:07:08.074460 #1]  INFO -- :
I, [2023-12-06T16:07:08.077226 #1]  INFO -- : Замена data_directory = '/var/lib/postgresql/13/main' на data_directory = '/shared/postgres_data' в /etc/postgresql/13/main/postgresql.con
f
I, [2023-12-06T16:07:08.078863 #1]  INFO -- : Замена (?-mix:#?listen_addresses *=.*) на listen_addresses = '*' в /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T16:07:08.080089 #1]  INFO -- : Замена (?-mix:#?synchronous_commit *=.*) на synchronous_commit = $db_synchronous_commit в /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T16:07:08.081228 #1]  INFO -- : Замена (?-mix:#?shared_buffers *=.*) на shared_buffers = $db_shared_buffers в /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T16:07:08.082315 #1]  INFO -- : Замена (?-mix:#?work_mem *=.*) на work_mem = $db_work_mem в /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T16:07:08.083334 #1]  INFO -- : Замена (?-mix:#?default_text_search_config *=.*) на default_text_search_config = '$db_default_text_search_config' в /etc/postgresql/13/mai
n/postgresql.conf
I, [2023-12-06T16:07:08.084197 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2023-12-06T16:07:08.093130 #1]  INFO -- :
I, [2023-12-06T16:07:08.094813 #1]  INFO -- : Замена (?-mix:#?checkpoint_segments *=.*) на checkpoint_segments = $db_checkpoint_segments в /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T16:07:08.095967 #1]  INFO -- : Замена (?-mix:#?logging_collector *=.*) на logging_collector = $db_logging_collector в /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T16:07:08.097082 #1]  INFO -- : Замена (?-mix:#?log_min_duration_statement *=.*) на log_min_duration_statement = $db_log_min_duration_statement в /etc/postgresql/13/main/
postgresql.conf
I, [2023-12-06T16:07:08.098475 #1]  INFO -- : Замена (?-mix:^#local +replication +postgres +peer$) на local replication postgres  peer в /etc/postgresql/13/main/pg_hba.conf
I, [2023-12-06T16:07:08.099453 #1]  INFO -- : Замена (?-mix:^host.*all.*all.*127.*$) на host all all 0.0.0.0/0 md5 в /etc/postgresql/13/main/pg_hba.conf
I, [2023-12-06T16:07:08.100346 #1]  INFO -- : Замена (?-mix:^host.*all.*all.*::1\/128.*$) на host all all ::/0 md5 в /etc/postgresql/13/main/pg_hba.conf
I, [2023-12-06T16:07:08.101225 #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/postm
aster -D /etc/postgresql/13/main
I, [2023-12-06T16:07:08.105497 #1]  INFO -- : > sleep 5
2023-12-06 16:07:08.222 UTC [40] LOG:  starting PostgreSQL 13.12 (Debian 13.12-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2023-12-06 16:07:08.223 UTC [40] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2023-12-06 16:07:08.224 UTC [40] LOG:  listening on IPv6 address "::", port 5432
2023-12-06 16:07:08.228 UTC [40] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2023-12-06 16:07:08.236 UTC [43] LOG:  database system was shut down at 2023-12-06 16:06:59 UTC
2023-12-06 16:07:08.249 UTC [40] LOG:  database system is ready to accept connections
I, [2023-12-06T16:07:13.114589 #1]  INFO -- :
I, [2023-12-06T16:07:13.114892 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2023-12-06 16:07:13.233 UTC [53] postgres@postgres ERROR:  database "discourse" already exists
2023-12-06 16:07:13.233 UTC [53] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR:  database "discourse" already exists
I, [2023-12-06T16:07:13.238163 #1]  INFO -- :
I, [2023-12-06T16:07:13.239077 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2023-12-06 16:07:13.337 UTC [57] postgres@discourse ERROR:  role "discourse" already exists
2023-12-06 16:07:13.337 UTC [57] postgres@discourse STATEMENT:  create user discourse;
ERROR:  role "discourse" already exists
I, [2023-12-06T16:07:13.341906 #1]  INFO -- :
I, [2023-12-06T16:07:13.342832 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2023-12-06T16:07:13.414866 #1]  INFO -- : GRANT

I, [2023-12-06T16:07:13.415706 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2023-12-06T16:07:13.488051 #1]  INFO -- : ALTER SCHEMA

I, [2023-12-06T16:07:13.488985 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2023-12-06T16:07:13.565797 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-06T16:07:13.566695 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2023-12-06T16:07:13.631827 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-06T16:07:13.632670 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists vector;"'
NOTICE:  extension "vector" already exists, skipping
I, [2023-12-06T16:07:13.699897 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-06T16:07:13.700680 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2023-12-06T16:07:13.766672 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-06T16:07:13.767617 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2023-12-06T16:07:13.836190 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-06T16:07:13.837081 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists vector;"'
NOTICE:  extension "vector" already exists, skipping
I, [2023-12-06T16:07:13.904254 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-06T16:07:13.905131 #1]  INFO -- : > sudo -u postgres psql discourse
I, [2023-12-06T16:07:13.911512 #1]  INFO -- : update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'discourse' AND encoding = pg_char_to_encoding('SQL_ASCII');

I, [2023-12-06T16:07:14.017559 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2023-12-06T16:07:14.025808 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown:
I, [2023-12-06T16:07:14.026677 #1]  INFO -- : > echo postgres installed!
I, [2023-12-06T16:07:14.031148 #1]  INFO -- : postgres installed!

I, [2023-12-06T16:07:14.039613 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown:
I, [2023-12-06T16:07:14.047348 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown:
I, [2023-12-06T16:07:14.054663 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown:
I, [2023-12-06T16:07:14.056288 #1]  INFO -- : Замена daemonize yes на  в /etc/redis/redis.conf
I, [2023-12-06T16:07:14.058359 #1]  INFO -- : Замена (?-mix:^pidfile.*$) на  в /etc/redis/redis.conf
I, [2023-12-06T16:07:14.059363 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2023-12-06T16:07:14.063988 #1]  INFO -- :
I, [2023-12-06T16:07:14.065261 #1]  INFO -- : Замена (?-mix:^logfile.*$) на logfile "" в /etc/redis/redis.conf
I, [2023-12-06T16:07:14.066441 #1]  INFO -- : Замена (?-mix:^bind .*$) на  в /etc/redis/redis.conf
I, [2023-12-06T16:07:14.068176 #1]  INFO -- : Замена (?-mix:^dir .*$) на dir /shared/redis_data в /etc/redis/redis.conf
I, [2023-12-06T16:07:14.069623 #1]  INFO -- : Замена (?-mix:^protected-mode yes) на protected-mode no в /etc/redis/redis.conf
I, [2023-12-06T16:07:14.072095 #1]  INFO -- : Замена # io-threads 4 на io-threads $redis_io_threads в /etc/redis/redis.conf
I, [2023-12-06T16:07:14.073689 #1]  INFO -- : > echo redis installed
I, [2023-12-06T16:07:14.079558 #1]  INFO -- : redis installed

I, [2023-12-06T16:07:14.080851 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2023-12-06T16:07:14.092037 #1]  INFO -- : logfile ""

I, [2023-12-06T16:07:14.092862 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2023-12-06T16:07:14.095644 #1]  INFO -- : > sleep 10
109:C 06 Dec 2023 16:07:14.118 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
109:C 06 Dec 2023 16:07:14.119 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=109, just started
109:C 06 Dec 2023 16:07:14.119 # Configuration loaded
109:M 06 Dec 2023 16:07:14.120 * monotonic clock: POSIX clock_gettime
109:M 06 Dec 2023 16:07:14.123 * Running mode=standalone, port=6379.
109:M 06 Dec 2023 16:07:14.123 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
109:M 06 Dec 2023 16:07:14.123 # Server initialized
109:M 06 Dec 2023 16:07:14.124 * Loading RDB produced by version 7.0.7
109:M 06 Dec 2023 16:07:14.125 * RDB age 17 seconds
109:M 06 Dec 2023 16:07:14.125 * RDB memory usage when created 16.66 Mb
109:M 06 Dec 2023 16:07:14.212 * Done loading RDB, keys loaded: 24735, keys expired: 2.
109:M 06 Dec 2023 16:07:14.212 * DB loaded from disk: 0.088 seconds
109:M 06 Dec 2023 16:07:14.212 * Ready to accept connections
I, [2023-12-06T16:07:24.102624 #1]  INFO -- :
I, [2023-12-06T16:07:24.103423 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2023-12-06T16:07:24.111028 #1]  INFO -- : thpoff is installed!

I, [2023-12-06T16:07:24.111792 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Aborting! Mail is not configured!"; exit 1; end'
I, [2023-12-06T16:07:24.220317 #1]  INFO -- :
I, [2023-12-06T16:07:24.221265 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end'
I, [2023-12-06T16:07:24.335260 #1]  INFO -- :
I, [2023-12-06T16:07:24.336566 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "Aborting! CDN must have a protocol specified. Once fixed you
should rebake your posts now to correct all posts."; exit 1; end'
I, [2023-12-06T16:07:24.447936 #1]  INFO -- :
I, [2023-12-06T16:07:24.448990 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2023-12-06T16:07:24.456613 #1]  INFO -- :
I, [2023-12-06T16:07:24.462541 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown:
I, [2023-12-06T16:07:24.472173 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown:
I, [2023-12-06T16:07:24.483793 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown:
I, [2023-12-06T16:07:24.493548 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown:
I, [2023-12-06T16:07:24.503794 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown:
I, [2023-12-06T16:07:24.511755 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown:
I, [2023-12-06T16:07:24.512437 #1]  INFO -- : Замена # postgres на sv start postgres || exit 1 в /etc/service/unicorn/run
I, [2023-12-06T16:07:24.513223 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2023-12-06T16:07:24.517456 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git reset --hard
137:C 06 Dec 2023 16:07:24.534 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
137:C 06 Dec 2023 16:07:24.534 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=137, just started
137:C 06 Dec 2023 16:07:24.534 # Configuration loaded
137:M 06 Dec 2023 16:07:24.535 * monotonic clock: POSIX clock_gettime
137:M 06 Dec 2023 16:07:24.536 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
137:M 06 Dec 2023 16:07:24.536 # Failed listening on port 6379 (TCP), aborting.
Updating files: 100% (33858/33858), done.
I, [2023-12-06T16:07:29.876110 #1]  INFO -- : HEAD is now at 043b4a418 FIX: replaces data-tooltip usage by <DTooltip /> (#24062)

I, [2023-12-06T16:07:29.876964 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2023-12-06T16:07:30.100602 #1]  INFO -- :
I, [2023-12-06T16:07:30.101495 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
      git remote set-branches --add origin main
      git remote set-branches origin tests-passed
      git fetch --depth 1 origin tests-passed
  else
      git fetch --tags --prune-tags --prune --force origin
  fi
'
From https://github.com/discourse/discourse
 - [deleted]             (none)     -> origin/0-flake-key
 - [deleted]             (none)     -> origin/0-obscuring
 - [deleted]             (none)     -> origin/0-router-lint
 - [deleted]             (none)     -> origin/0-router-service
 - [deleted]             (none)     -> origin/autoimport-cleanup
 - [deleted]             (none)     -> origin/category-bullet-only
 - [deleted]             (none)     -> origin/dependabot/bundler/syntax_tree-6.2.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-3.4.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-multipart-3.8.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/core-3.6.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/utils-5.5.2
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/xhr-upload-3.4.2
 - [deleted]             (none)     -> origin/dev-upgrade-reject-reason-reviewable-modal
 - [deleted]             (none)     -> origin/dev/ability-to-collect-stats-without-public-exposing
 - [deleted]             (none)     -> origin/dev/minio-s3-system-specs
 - [deleted]             (none)     -> origin/dev/re-enable-minio-specs
 - [deleted]             (none)     -> origin/dev/switch-over-category-settings
 - [deleted]             (none)     -> origin/dev/switch-over-more-category-settings
 - [deleted]             (none)     -> origin/discovery-named-outlets
 - [deleted]             (none)     -> origin/feature/theme-settings-migration
 - [deleted]             (none)     -> origin/fix/account-for-empty-string-site-settings
 - [deleted]             (none)     -> origin/footnote-plugin
 - [deleted]             (none)     -> origin/metadata-update
 - [deleted]             (none)     -> origin/modal-ux
 - [deleted]             (none)     -> origin/neil-2
 - [deleted]             (none)     -> origin/perf_cache_async_search
 - [deleted]             (none)     -> origin/spoiler-plugin
 - [deleted]             (none)     -> origin/support-search-customizationz
   043b4a418..22bb1c895  main                   -> origin/main
 * [new branch]          0-lint-suffix          -> origin/0-lint-suffix
 * [new branch]          0-rubocop              -> origin/0-rubocop
 * [new branch]          add-custom-emoji-sanitization-clean -> origin/add-custom-emoji-sanitization-clean
 * [new branch]          add-ds-store-to-gitignore -> origin/add-ds-store-to-gitignore
 + 64520a075...ff17131c9 add-new-chat-indicator-preference-only-mentions -> origin/add-new-chat-indicator-preference-only-mentions  (forced update)
 * [new branch]          api-topic-title-decorator -> origin/api-topic-title-decorator
 * [new branch]          array-custom-field-fix -> origin/array-custom-field-fix
 * [new branch]          array-custom-field-order -> origin/array-custom-field-order
 * [new branch]          avatar-notifications   -> origin/avatar-notifications
 * [new branch]          boosted-searches       -> origin/boosted-searches
 * [new branch]          category_definition    -> origin/category_definition
 * [new branch]          chat-github-onebox     -> origin/chat-github-onebox
 * [new branch]          chat-reaction-emoji-alignment -> origin/chat-reaction-emoji-alignment
 * [new branch]          chat/direct-messages   -> origin/chat/direct-messages
 * [new branch]          custom-field-store-cleanup -> origin/custom-field-store-cleanup
 * [new branch]          delete-backups-based-on-time-window -> origin/delete-backups-based-on-time-window
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-3.5.0 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-3.5.0
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-multipart-3.9.0 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-multipart-3.9.0
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/core-3.7.1 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/core-3.7.1
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/utils-5.6.0 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/utils-5.6.0
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/xhr-upload-3.5.0 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/xhr-upload-3.5.0
 * [new branch]          desktop-notification-handlers -> origin/desktop-notification-handlers
 * [new branch]          dev/add-a-reference-column-to-notifications -> origin/dev/add-a-reference-column-to-notifications
 + ee95e6359...346f9d1cd dev/add-new-chat-metrics -> origin/dev/add-new-chat-metrics  (forced update)
 * [new branch]          dev/dry-up-user-status-serializers -> origin/dev/dry-up-user-status-serializers
 * [new branch]          dev/flaky-chat-details-collapser-spec -> origin/dev/flaky-chat-details-collapser-spec
 * [new branch]          dev/no-need-to-include-user-status-twice -> origin/dev/no-need-to-include-user-status-twice
 * [new branch]          dev/rethink-mass-mentions -> origin/dev/rethink-mass-mentions
 * [new branch]          dev/rethink-mass-mentions-polymorphic -> origin/dev/rethink-mass-mentions-polymorphic
 * [new branch]          dev/revert-guardian-devex -> origin/dev/revert-guardian-devex
 * [new branch]          dev/use-system-user-id-const -> origin/dev/use-system-user-id-const
 + 54940ca5c...1f44361c2 dev_paginate_categories_json -> origin/dev_paginate_categories_json  (forced update)
 * [new branch]          dev_watched_words      -> origin/dev_watched_words
 + 46fe4511f...a9d0e7069 ember-4                -> origin/ember-4  (forced update)
 * [new branch]          ember-5-plugins        -> origin/ember-5-plugins
 * [new branch]          extract_stripper       -> origin/extract_stripper
 * [new branch]          feature/add-copy-share-link-post-functionality -> origin/feature/add-copy-share-link-post-functionality
   9a6c6fd5b..8780daeee  feature/bookmark-menu-and-modal-redesign -> origin/feature/bookmark-menu-and-modal-redesign
 * [new branch]          feature/migrations-schema-generator -> origin/feature/migrations-schema-generator
 * [new branch]          feature_watched_words_validation -> origin/feature_watched_words_validation
 * [new branch]          file-size-restriction  -> origin/file-size-restriction
   43df37774..4393dd37e  filtered-events        -> origin/filtered-events
 * [new branch]          fix-keyboard-shortcuts-modal-double-scrollbar -> origin/fix-keyboard-shortcuts-modal-double-scrollbar
 * [new branch]          fix/count-mass-mentions-correctly -> origin/fix/count-mass-mentions-correctly
 * [new branch]          fix_category_select_kits -> origin/fix_category_select_kits
 * [new branch]          full-page              -> origin/full-page
   ce7fb6906..a6227532d  generic-import-latest  -> origin/generic-import-latest
 * [new branch]          generic-import-latest-snowflake -> origin/generic-import-latest-snowflake
 * [new branch]          generic-import-update  -> origin/generic-import-update
 * [new branch]          image-assets           -> origin/image-assets
 * [new branch]          independent-theme-compiler -> origin/independent-theme-compiler
 * [new branch]          input-text-field-component -> origin/input-text-field-component
 * [new branch]          issue/fix-guardian-init-basic-user -> origin/issue/fix-guardian-init-basic-user
 * [new branch]          keyword-site-setting   -> origin/keyword-site-setting
 + bdcc24f96...92e545292 list-wrapper           -> origin/list-wrapper  (forced update)
   e3636078c..5def32699  mock-chat-index-redesign -> origin/mock-chat-index-redesign
 * [new branch]          move_inflector         -> origin/move_inflector
 * [new branch]          oklab                  -> origin/oklab
 * [new branch]          poc/auto-after-before-plugin-outlets -> origin/poc/auto-after-before-plugin-outlets
 * [new branch]          poc/insert-before-after-wrapping-outlet -> origin/poc/insert-before-after-wrapping-outlet
 * [new branch]          pretty-text-please     -> origin/pretty-text-please
 * [new branch]          revert-maxmind         -> origin/revert-maxmind
   ef3f41543..223626d7a  stable                 -> origin/stable
 * [new branch]          support-load-more-btn  -> origin/support-load-more-btn
 * [new branch]          test-issue-temporary   -> origin/test-issue-temporary
   043b4a418..efcb5bb3d  tests-passed           -> origin/tests-passed
 * [new branch]          transform-hooks        -> origin/transform-hooks
 * [new branch]          transform-post-fn-api  -> origin/transform-post-fn-api
 * [new branch]          tweaks-2-fr            -> origin/tweaks-2-fr
 * [new branch]          use-sassc-embedded     -> origin/use-sassc-embedded
 * [new branch]          username_cache         -> origin/username_cache
 * [new branch]          ux-add-sorting-params-to-outlet -> origin/ux-add-sorting-params-to-outlet
 t [tag update]          beta                   -> beta
 t [tag update]          latest-release         -> latest-release
 * [new tag]             v3.1.3                 -> v3.1.3
 * [new tag]             v3.2.0.beta3           -> v3.2.0.beta3
I, [2023-12-06T16:07:31.685641 #1]  INFO -- :
I, [2023-12-06T16:07:31.686339 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [[ $(git symbolic-ref --short HEAD) == tests-passed ]] ; then
      git pull
  else
      git -c advice.detachedHead=false checkout tests-passed
  fi
'
Switched to a new branch 'tests-passed'
I, [2023-12-06T16:07:35.620323 #1]  INFO -- : Branch 'tests-passed' set up to track remote branch 'tests-passed' from 'origin'.

I, [2023-12-06T16:07:35.620991 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git config user.discourse-version tests-passed
I, [2023-12-06T16:07:35.636731 #1]  INFO -- :
I, [2023-12-06T16:07:35.637527 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2023-12-06T16:07:35.643552 #1]  INFO -- :
I, [2023-12-06T16:07:35.644234 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2023-12-06T16:07:35.650138 #1]  INFO -- :
I, [2023-12-06T16:07:35.650972 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2023-12-06T16:07:35.656320 #1]  INFO -- :
I, [2023-12-06T16:07:35.657036 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2023-12-06T16:07:35.662104 #1]  INFO -- :
I, [2023-12-06T16:07:35.662758 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2023-12-06T16:07:35.669054 #1]  INFO -- :
I, [2023-12-06T16:07:35.669975 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2023-12-06T16:07:35.676933 #1]  INFO -- :
I, [2023-12-06T16:07:35.677771 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.lo
g"
I, [2023-12-06T16:07:35.687445 #1]  INFO -- :
I, [2023-12-06T16:07:35.688203 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.lo
g /var/www/discourse/log"
I, [2023-12-06T16:07:35.697439 #1]  INFO -- :
I, [2023-12-06T16:07:35.698219 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2023-12-06T16:07:35.705472 #1]  INFO -- :
I, [2023-12-06T16:07:35.706224 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2023-12-06T16:07:35.714941 #1]  INFO -- :
I, [2023-12-06T16:07:35.715579 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2023-12-06T16:07:35.722744 #1]  INFO -- :
I, [2023-12-06T16:07:35.723466 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2023-12-06T16:07:35.730272 #1]  INFO -- :
I, [2023-12-06T16:07:35.730904 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2023-12-06T16:07:36.244295 #1]  INFO -- :
I, [2023-12-06T16:07:36.245006 #1]  INFO -- : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2023-12-06T16:07:36.248521 #1]  INFO -- :
I, [2023-12-06T16:07:36.249238 #1]  INFO -- : Замена # redis на sv start redis || exit 1 в /etc/service/unicorn/run
I, [2023-12-06T16:07:36.249835 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Cloning into 'docker_manager'...
I, [2023-12-06T16:07:37.086735 #1]  INFO -- :
I, [2023-12-06T16:07:37.087632 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2023-12-06T16:07:37.095997 #1]  INFO -- :
I, [2023-12-06T16:07:37.097169 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2023-12-06T16:07:37.102877 #1]  INFO -- :
I, [2023-12-06T16:07:37.103777 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2023-12-06T16:07:37.109509 #1]  INFO -- :
I, [2023-12-06T16:07:37.110962 #1]  INFO -- : Замена pid /run/nginx.pid; на daemon off; в /etc/nginx/nginx.conf
I, [2023-12-06T16:07:37.111761 #1]  INFO -- : Замена (?m-ix:upstream[^\}]+\}) на upstream discourse { server 127.0.0.1:3000; } в /etc/nginx/conf.d/discourse.conf
I, [2023-12-06T16:07:37.112365 #1]  INFO -- : Замена (?-mix:server_name.+$) на server_name _ ; в /etc/nginx/conf.d/discourse.conf
I, [2023-12-06T16:07:37.112934 #1]  INFO -- : Замена (?-mix:client_max_body_size.+$) на client_max_body_size $upload_size ; в /etc/nginx/conf.d/discourse.conf
I, [2023-12-06T16:07:37.113518 #1]  INFO -- : Замена (?-mix:worker_connections.+$) на worker_connections $nginx_worker_connections ; в /etc/nginx/nginx.conf
I, [2023-12-06T16:07:37.113925 #1]  INFO -- : > echo "done configuring web"
I, [2023-12-06T16:07:37.116639 #1]  INFO -- : done configuring web

В моем обновлении произошла ошибка

```ruby
api_key = "a quick brown fox"
fetch("https://api.example.com/data", headers: { 'Authorization' => api_key })

Пожалуйста, помогите мне это исправить.

Не могли бы вы опубликовать этот файл журнала?

Я думаю, что этот файл находится внутри контейнера, который не собирается, так что его будет немного сложно отловить, я так полагаю. Мне кажется, я видел у кого-то другую похожую ошибку, которая исчезла после обновления Docker (у них была более новая ОС), поэтому я просто думаю, что проблема именно в этом.

Спасибо

Возможно. Но в моей системе есть несколько таких — стоит взглянуть, на случай если они не просто артефакты.

ls -ltr /var/lib/docker/overlay2/*/*/var/www/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/rbtrace*/mkmf.log

Ну, я и удивился.

Смотрите!

root@www:~# find /var/lib/docker -name mkmf.log|grep rbtrac|xargs ls -tl
-rw-r--r-- 1 1000 1000 35035 Oct 23 19:45 /var/lib/docker/aufs/diff/53a65982150d745a518e8e8b3d1c4e5e21df4aeaf387d952d9018f688e676391/var/www/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/rbtrace-0.4.14/mkmf.log
-rw-r--r-- 1 1000 1000 35329 Apr  9  2023 /var/lib/docker/aufs/diff/f324a4557c610412bd944c93adb2b1cb93a3e368bbd10b4f3a7b0160d320be6c/var/www/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/rbtrace-0.4.14/mkmf.log
-rw-r--r-- 1 1000 1000 35329 Apr  9  2023 /var/lib/docker/aufs/mnt/de948aa2097c3527c79c437dbfae65d2c71bdde2843896306868d409ae4b0937/var/www/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/rbtrace-0.4.14/mkmf.log
-rw-r--r-- 1 1000 1000 35147 Dec 21  2022 /var/lib/docker/aufs/diff/484330416e5a8c7cda4005d144c20205d5410d62dd23a599b4e9b2d408510c13/var/www/discourse/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/rbtrace-0.4.14/mkmf.log

Похоже, что проблема именно в этом:

have_func: checking for rb_gc_add_event_hook() in ruby.h,node.h... -------------------- no

LD_LIBRARY_PATH=.:/usr/local/lib "gcc -o conftest -I/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.4.14/ext/dst/include -I/usr/local/include/ruby-3.2.0/x86_64-linux -I/usr/local/include/ruby-3.2.0/ruby/backward -I/usr/local/include/ruby-3.2.0 -I.    -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef  -fPIC conftest.c  -L. -L/usr/local/lib -Wl,-rpath,/usr/local/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed    -lmsgpackc_ext  -Wl,-rpath,/usr/local/lib -L/usr/local/lib -lruby -lmsgpackc_ext  -lm -lpthread  -lc"
conftest.c:4:10: fatal error: node.h: No such file or directory

А также:

conftest.c: In function 't':
conftest.c:16:57: error: 'rb_postponed_job_register_one' undeclared (first use in this function)
   16 | int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_postponed_job_register_one; return !p; }
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Странно, что это может быть связано со старой версией Docker. Но я всё ещё боюсь попусту сломать этот сайт.

здесь находится ссылка, которая истекает через 12 часов.

Хм, возможно, это ложная тревога, так как я наблюдаю те же ошибки, но, по-видимому, в моём случае ничего не сломано. Может быть, эти логи — своего рода окаменелость в образе?

Возможно. В любом случае, у других этой проблемы нет, так что я думаю, не стоит беспокоиться. Просто сообщу этому человеку, что если он хочет обновить Discourse, ему нужно обновить виртуальную машину и операционную систему.

Спасибо за помощь.

Я только что выполнил пересборку на стандартной установке Docker (с Docker из Debian Bullseye, пакет docker.io из репозитория apt), и она прошла успешно. Это, по крайней мере, подтверждает, что самостоятельно размещённые установки не сломаны, то есть команда launcher rebuild не приводит к повторяющимся сбоям при установке из-за проблемы с зависимостью rbtrace.

Сомневаюсь, что версия Docker является фактором здесь; rbtrace не удаётся собрать внутри контейнера, и это, вероятно, связано с отсутствием или устареванием зависимостей также внутри контейнера.

Есть ли шанс, что ваша копия discourse_docker не выполнила git pull перед началом пересборки и поэтому находится на старом коммите? Не помешает вручную выполнить git pull и убедиться, что вы находитесь на последнем коммите ветки main.

Это возможно. Недавний лаунчер выполняет git pull (и уже давно начал это делать). Возможно, я попробую ещё раз.

Это, безусловно, какой-то пограничный случай.

Это может помочь кому-то, так как у нас это сработало без обновления Ubuntu 16.

  1. Выполните команду sudo apt update && sudo apt upgrade
  2. Затем запустите загрузчик Discourse ./launcher rebuild app

У нас ошибка исчезла.

Я попробовал решение с другого форума. В скрипте launcher я заменил:

image="discourse/base:2.0.20231218-0429"

на:

image="discourse/base:2.0.20231230-0022"

Это загружает более новый образ, содержащий rbtrace-0.5.1, что решает проблему.

Я нашёл это здесь: Discourse Build Error: "An error occurred while installing rbtrace (0.5.1), and Bundler cannot continue." - #50 by Neo - Discourse System Administration - Unix Linux Community.

Я работаю на Oracle Linux 7.7 — устаревшей, но, полагаю, сопоставимой с Ubuntu 18.04.

Однако было бы очень интересно понять, почему обновление операционной системы тоже помогает. Я всегда думал, что контейнеры Docker каким-то образом изолированы от ОС, особенно в данном случае, когда речь идёт о Ruby-библиотеках. (Я не являюсь экспертом ни в Docker, ни в Ruby.)