# Error updating with broken events plugin

**URL:** <https://meta.discourse.org/t/error-updating-with-broken-events-plugin/309706>\
**Category:** Product Support\
**Created:** [May 28, 2024, 12:23pm UTC](https://meta.discourse.org/t/error-updating-with-broken-events-plugin/309706 "2024-05-28T12:23:44Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![mentalstring](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mentalstring/32/168934_2.png) [@mentalstring](https://meta.discourse.org/u/mentalstring)\
**Post date:** [May 28, 2024, 12:23pm UTC](https://meta.discourse.org/t/error-updating-with-broken-events-plugin/309706/1 "2024-05-28T12:23:44Z")

</div>

I’m [also](https://meta.discourse.org/t/breaking-change-for-people-on-stable-versions-v3-2-1-and-down-with-discourse-docker/308680/5) having trouble building the latest stable which was building fine until 1-2 weeks ago. I think it may related to some related ruby changes (even if the ones in discourse\_docker have been reversed), as the issue is with a previously working gem that now fails to build.

The gem (stringio) is being pulled (at least?) by the discourse-events plugin, but the plugin has been using this gem and the same version for at least the last 2 years (probably more). I’ve tried building with an older (previously known to work) version of the plugin and it still fails. So I think something else changed in Discourse, perhaps in preparation for Ruby 3.3.1, that also landed on the stable branch?

Perhaps importantly, this is only happening in an ARM machine (in which I have been building Discourse fine over the [last couple of months](https://meta.discourse.org/t/arm64-and-jemalloc/297721/7)). Trying to build the exact same setup on x86 works fine. So it appears ARM64 depedent, and while the gem is being pulled by discourse-events, it is the same gem (and version) that was working previously. Something in Discourse itself must have changed also, I think. Maybe @Falco has some idea on what may be happening from the ARM64 perspective of things?

> **Build log**
>
> ```plaintext
> [...]
> 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
> 
> ```

Apologies if this is not related to recent ruby changes at all – happy to open a new topic if that’s the case.

---

_[View the full topic](https://meta.discourse.org/t/error-updating-with-broken-events-plugin/309706)._
