undefined symbol: _ZTIN6icu_488ByteSinkE
jeremiahsherrill opened this issue · 6 comments
After Fixing One Charlock Issue I am getting another
/usr/local/rvm/gems/ruby-2.3.1/gems/charlock_holmes-0.7.3/lib/charlock_holmes/charlock_holmes.so: undefined symbol: _ZTIN6icu_488ByteSinkE
Centos 7
Ruby 2.3.1
Rails 4.2.5
I also see this problem and would really like to know what I need to do to fix it.
Fresh install of oxidized with -web on an ubuntu 16.04 system (also new). Oxidized works as expected. When setting rest: true, I see a very specific error related to charlock_holmes, which after a lot of looking seems to be related to icu4c, but I am not experienced enough to know for sure.
Here are a list of the installed gems on this system:
*** LOCAL GEMS ***
asetus (0.3.0)
backports (3.13.0)
bcrypt_pbkdf (1.0.1)
bigdecimal (1.2.8)
bundler (2.0.1)
charlock_holmes (0.7.6, 0.7.3)
did_you_mean (1.0.0)
ed25519 (1.2.4)
emk-sinatra-url-for (0.2.1)
ffi (1.10.0)
haml (5.0.4)
htmlentities (4.3.4)
io-console (0.4.5)
json (1.8.3)
minitest (5.8.4)
multi_json (1.13.1)
net-ssh (5.2.0)
net-telnet (0.2.0, 0.1.1)
oxidized (0.26.3)
oxidized-script (0.6.0)
oxidized-web (0.13.1)
power_assert (0.2.7)
psych (2.0.17)
puma (3.11.4)
rack (1.6.11)
rack-protection (1.5.5)
rack-test (0.7.0)
rake (10.5.0)
rb-fsevent (0.10.3)
rb-inotify (0.10.0)
rdoc (4.2.1)
rubyzip (1.1.7)
rugged (0.28.1)
sass (3.7.4)
sass-listen (4.0.0)
sinatra (1.4.8)
sinatra-contrib (1.4.7)
slop (4.6.2, 3.6.0)
temple (0.8.1)
test-unit (3.1.7)
tilt (2.0.9)
And the error:
:~$ oxidized
/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in require': /var/lib/gems/2.3.0/gems/charlock_holmes-0.7.6/lib/charlock_holmes/charlock_holmes.so: undefined symbol: _ZTIN6icu_628ByteSinkE - /var/lib/gems/2.3.0/gems/charlock_holmes-0.7.6/lib/charlock_holmes/charlock_holmes.so (LoadError) from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in require'
from /var/lib/gems/2.3.0/gems/charlock_holmes-0.7.6/lib/charlock_holmes.rb:1:in <top (required)>' from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in require'
from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in require' from /var/lib/gems/2.3.0/gems/oxidized-web-0.13.1/lib/oxidized/web/webapp.rb:9:in <top (required)>'
from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in require' from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in require'
from /var/lib/gems/2.3.0/gems/oxidized-web-0.13.1/lib/oxidized/web.rb:10:in initialize' from /var/lib/gems/2.3.0/gems/oxidized-0.26.3/lib/oxidized/core.rb:26:in new'
from /var/lib/gems/2.3.0/gems/oxidized-0.26.3/lib/oxidized/core.rb:26:in initialize' from /var/lib/gems/2.3.0/gems/oxidized-0.26.3/lib/oxidized/core.rb:4:in new'
from /var/lib/gems/2.3.0/gems/oxidized-0.26.3/lib/oxidized/core.rb:4:in new' from /var/lib/gems/2.3.0/gems/oxidized-0.26.3/lib/oxidized/cli.rb:13:in run'
from /var/lib/gems/2.3.0/gems/oxidized-0.26.3/bin/oxidized:8:in <top (required)>' from /usr/local/bin/oxidized:23:in load'
from /usr/local/bin/oxidized:23:in `
really I am just looking for a pointer that "you installed this wrong" or "this version isn't correct", as I am kinda at a loss at this point.
@jeremiahsherrill I think, at least in my case, this is related to icu4c, but I don't know for sure. Are you referencing icu4c with your application? From what I have read there could be issues with newer versions of icu4c and charlock_holmes, but again, I am not really a developer, so it's mostly piecing together other problem reports that have let me to that hypothesis.
I ended up having to remove it completely and just refactored what I was working on. Ultimately I am moving away from rails due to how many problems it has.
I figured this out. I had to totally remove icu4c and charlock_holmes, then reinstall them from scratch. No idea what was going on, but it's working now.
Similar case here. I reinstall icu4c thru homebrew and issue resolved.