instructure / canvas-lms

The open LMS by Instructure, Inc.
https://github.com/instructure/canvas-lms/wiki
GNU Affero General Public License v3.0
5.41k stars 2.42k forks source link

Bundle exec rails fails to open nokogiri_ext_xmlsec.bundle 'symbol not found in flat namespace' #2315

Open SamMalcolm opened 4 months ago

SamMalcolm commented 4 months ago

Summary:

bundle install succeeds, but bundle exec rails {task} fails due to not being able to open nokogiri_ext_xmlsec.bundle

macOS Sonoma 14.3.1

ruby -v ruby 3.1.2p20

bundle -v Bundler version 2.5.3

rails -v Rails 7.0.8

Steps to reproduce:

  1. git checkout stable/2024-02-14
  2. bundle install
  3. bundle exec rails canvas:compile_assets

Expected behavior:

Expect rails to compile the assets to run Canvas

Actual behavior:

Causes error to be thrown:

rails aborted! LoadError: dlopen(/Users/e32398/.rvm/gems/ruby-3.1.2/gems/nokogiri-xmlsec-instructure-0.10.2/lib/nokogiri_ext_xmlsec.bundle, 0x0009): symbol not found in flat namespace '_xmlSecDSigNs' - /Users/e32398/.rvm/gems/ruby-3.1.2/gems/nokogiri-xmlsec-instructure-0.10.2/lib/nokogiri_ext_xmlsec.bundle /Users/e32398/.rvm/gems/ruby-3.1.2/gems/zeitwerk-2.6.12/lib/zeitwerk/kernel.rb:38:in require' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/zeitwerk-2.6.12/lib/zeitwerk/kernel.rb:38:inrequire' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/nokogiri-xmlsec-instructure-0.10.2/lib/xmlsec.rb:3:in <top (required)>' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/zeitwerk-2.6.12/lib/zeitwerk/kernel.rb:38:inrequire' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/zeitwerk-2.6.12/lib/zeitwerk/kernel.rb:38:in require' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/nokogiri-xmlsec-instructure-0.10.2/lib/nokogiri-xmlsec.rb:1:in<top (required)>' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/zeitwerk-2.6.12/lib/zeitwerk/kernel.rb:38:in require' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/zeitwerk-2.6.12/lib/zeitwerk/kernel.rb:38:inrequire' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/saml2-3.1.4/lib/saml2/response.rb:3:in <top (required)>' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/zeitwerk-2.6.12/lib/zeitwerk/kernel.rb:38:inrequire' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/zeitwerk-2.6.12/lib/zeitwerk/kernel.rb:38:in require' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/saml2-3.1.4/lib/saml2.rb:7:in<top (required)>' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/zeitwerk-2.6.12/lib/zeitwerk/kernel.rb:38:in require' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/zeitwerk-2.6.12/lib/zeitwerk/kernel.rb:38:inrequire' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/bundler-2.5.3/lib/bundler/runtime.rb:60:in block (2 levels) in require' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/bundler-2.5.3/lib/bundler/runtime.rb:55:ineach' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/bundler-2.5.3/lib/bundler/runtime.rb:55:in block in require' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/bundler-2.5.3/lib/bundler/runtime.rb:44:ineach' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/bundler-2.5.3/lib/bundler/runtime.rb:44:in require' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/bundler-2.5.3/lib/bundler.rb:187:inrequire' /Users/e32398/Sites/canvas-lms/config/application.rb:28:in <top (required)>' /Users/e32398/Sites/canvas-lms/Rakefile:6:inrequire' /Users/e32398/Sites/canvas-lms/Rakefile:6:in <top (required)>' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/railties-7.0.8/lib/rails/commands/rake/rake_command.rb:20:inblock in perform' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/railties-7.0.8/lib/rails/commands/rake/rake_command.rb:18:in perform' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/railties-7.0.8/lib/rails/command.rb:51:ininvoke' /Users/e32398/.rvm/gems/ruby-3.1.2/gems/railties-7.0.8/lib/rails/commands.rb:18:in <top (required)>' bin/rails:17:inrequire' bin/rails:17:in `

' (See full trace by running task with --trace)

Additional notes:

Have attempted a clean install of Ruby and fresh clone of canvas-lms repo