Fehler beim Aktualisieren mit broken events Plugin

Ich habe auch Probleme beim Erstellen der neuesten stabilen Version, die bis vor 1-2 Wochen noch problemlos funktionierte. Ich vermute, es könnte mit einigen Ruby-Änderungen zusammenhängen (auch wenn die in discourse_docker rückgängig gemacht wurden), da das Problem bei einem zuvor funktionierenden Gem liegt, das jetzt fehlschlägt.

Das Gem (stringio) wird (zumindest?) vom Plugin discourse-events bezogen, aber das Plugin verwendet dieses Gem und dieselbe Version seit mindestens 2 Jahren (wahrscheinlich länger). Ich habe versucht, mit einer älteren (zuvor funktionierenden) Version des Plugins zu bauen, und es schlägt immer noch fehl. Ich glaube also, dass sich etwas anderes in Discourse geändert hat, vielleicht in Vorbereitung auf Ruby 3.3.1, das auch in den stabilen Branch gelangt ist?

Wichtig ist vielleicht, dass dies nur auf einer ARM-Maschine auftritt (auf der ich Discourse in den letzten Monaten problemlos bauen konnte). Der Versuch, exakt dieselbe Konfiguration auf x86 zu bauen, funktioniert einwandfrei. Es scheint also ARM64-abhängig zu sein, und obwohl das Gem von discourse-events bezogen wird, ist es dasselbe Gem (und dieselbe Version), das zuvor funktionierte. Etwas in Discourse selbst muss sich auch geändert haben, denke ich. Vielleicht hat @Falco eine Idee, was aus ARM64-Sicht passieren könnte?

Build-Protokoll
[... ]
checking out compatible docker_manager version: 9523f7a88453ce1863071bcc2bc88130b60efee5
HEAD is now at 9523f7a Update translations (#205)

I, [2024-05-28T09:52:18.538215 #1]  INFO -- : cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
ERROR:  Error installing stringio:
	ERROR: Failed to build gem native extension.

    current directory: /var/www/discourse/plugins/discourse-events/gems/3.3.1/gems/stringio-3.0.2/ext/stringio
/usr/local/bin/ruby extconf.rb
checking for rb_io_extract_modeenc() in ruby/io.h... yes
creating Makefile

current directory: /var/www/discourse/plugins/discourse-events/gems/3.3.1/gems/stringio-3.0.2/ext/stringio
make DESTDIR= sitearchdir=./.gem.20240528-1205-7qlio5 sitelibdir=./.gem.20240528-1205-7qlio5 clean

current directory: /var/www/discourse/plugins/discourse-events/gems/3.3.1/gems/stringio-3.0.2/ext/stringio
make DESTDIR= sitearchdir=./.gem.20240528-1205-7qlio5 sitelibdir=./.gem.20240528-1205-7qlio5
compiling stringio.c
stringio.c: In function ‘strio_init’:
stringio.c:343:24: error: storage size of ‘convconfig’ isn’t known
  343 |     struct rb_io_enc_t convconfig;
      |                        ^~~~~~~~~~
stringio.c:343:24: warning: unused variable ‘convconfig’ [-Wunused-variable]
stringio.c: At top level:
cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been intended to silence earlier diagnostics
make: *** [Makefile:248: stringio.o] Error 1

make failed, exit code 2

Gem files will remain installed in /var/www/discourse/plugins/discourse-events/gems/3.3.1/gems/stringio-3.0.2 for inspection.
Results logged to /var/www/discourse/plugins/discourse-events/gems/3.3.1/extensions/aarch64-linux/3.3.0/stringio-3.0.2/gem_make.out
I, [2024-05-28T09:52:39.324741 #1]  INFO -- : gem install uuidtools -v 2.2.0 -i /var/www/discourse/plugins/discourse-events/gems/3.3.1 --no-document --ignore-dependencies --no-user-install
Successfully installed uuidtools-2.2.0
1 gem installed
gem install iso-639 -v 0.3.5 -i /var/www/discourse/plugins/discourse-events/gems/3.3.1 --no-document --ignore-dependencies --no-user-install
Successfully installed iso-639-0.3.5
1 gem installed
gem install ice_cube -v 0.16.4 -i /var/www/discourse/plugins/discourse-events/gems/3.3.1 --no-document --ignore-dependencies --no-user-install
Successfully installed ice_cube-0.16.4
1 gem installed
gem install icalendar -v 2.8.0 -i /var/www/discourse/plugins/discourse-events/gems/3.3.1 --no-document --ignore-dependencies --no-user-install
ActiveSupport is required for TimeWithZone support, but not required for general use.
Successfully installed icalendar-2.8.0
1 gem installed
gem install icalendar-recurrence -v 1.1.3 -i /var/www/discourse/plugins/discourse-events/gems/3.3.1 --no-document --ignore-dependencies --no-user-install
Successfully installed icalendar-recurrence-1.1.3
1 gem installed
gem install date -v 3.3.4 -i /var/www/discourse/plugins/discourse-events/gems/3.3.1 --no-document --ignore-dependencies --no-user-install
Building native extensions. This could take a while...
Successfully installed date-3.3.4
1 gem installed
gem install time -v 0.2.0 -i /var/www/discourse/plugins/discourse-events/gems/3.3.1 --no-document --ignore-dependencies --no-user-install
Successfully installed time-0.2.0
1 gem installed
gem install stringio -v 3.0.2 -i /var/www/discourse/plugins/discourse-events/gems/3.3.1 --no-document --ignore-dependencies --no-user-install
Building native extensions. This could take a while...
You are specifying the gem stringio in /var/www/discourse/plugins/discourse-events/plugin.rb, however it does not exist!
Looked for: 
- /var/www/discourse/plugins/discourse-events/gems/3.3.1/specifications/stringio-3.0.2.gemspec
- /var/www/discourse/plugins/discourse-events/gems/3.3.1/specifications/stringio-3.0.2-aarch64-linux.gemspec
- /var/www/discourse/plugins/discourse-events/gems/3.3.1/specifications/stringio-3.0.2-aarch64-linux.gemspec


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1109 exit 255>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 255

Entschuldigung, falls dies überhaupt nichts mit den jüngsten Ruby-Änderungen zu tun hat – ich kann gerne ein neues Thema eröffnen, wenn das der Fall ist.

StringIO 3.0.2 ist nicht kompatibel mit Ruby 3.3, der Wartende muss es auf die neueste Version aktualisieren.

Da dies von Events Plugin 📅 stammt und als fehlerhaft aufgeführt ist, müssen Sie einen Weg nach vorne finden.

1 „Gefällt mir“

Ein Beitrag wurde in ein neues Thema aufgeteilt: Einige Themen kaputt… Discotoc?

Für alle, die damit Probleme haben: Ich kann bestätigen, dass das Plugin mit StringIO 3.0.7 oder höher kompiliert.

2 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.