Closed
Description
$ gem i strscan
Fetching strscan-3.0.0.gem
Building native extensions. This could take a while...
Successfully installed strscan-3.0.0
1 gem installed
$ ruby -e 'require "strscan.so"; puts $".grep(/strscan/); p StringScanner.new("")'
/home/eregon/.rubies/truffleruby-dev/lib/gems/gems/strscan-3.0.0/lib/strscan.so
/home/eregon/.rubies/truffleruby-dev/lib/gems/gems/strscan-3.0.0/ext/strscan/strscan.c:214:in `strscan_s_allocate': External LLVMFunction onig_region_init cannot be found. (com.oracle.truffle.llvm.runtime.except.LLVMLinkerException) (RuntimeError)
Translated to internal error
from /home/eregon/.rubies/truffleruby-dev/lib/truffle/truffle/cext.rb:1240:in `__allocate__'
from -e:1:in `<main>'
However require "strscan"
picks the stdlib and works fine:
$ ruby -e 'require "strscan"; puts $".grep(/strscan/); p StringScanner.new("")'
/home/eregon/.rubies/truffleruby-dev/lib/truffle/strscan.rb
#<StringScanner fin>
Even bundle exec
picks the stdlib:
$ cat Gemfile
gem "strscan"
$ bundle exec ruby -e 'require "strscan"; puts $".grep(/strscan/); p StringScanner.new("")'
/home/eregon/.rubies/truffleruby-dev/lib/truffle/strscan.rb
#<StringScanner fin>
Found by @noahgibbs in Shopify/yjit-bench#32 (comment)