1. sachiotomita

    Posted

    sachiotomita
Changes in title
+[Rails][Gem] mini_racer_extension.so: undefined symbol: _ZTTNSt7* 解決法
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,70 @@
+
+
+
+# 起こったこと
+
+`Vagrant` `CentOS`7 環境に Rails プロジェクトに gem `react_on_rails` を導入して
+React を動かそうとしたところ `rails generate react_on_rails:install
+`
+
+
+追加されていた依存する gem `mini_racer`
+が以下のエラーを出してRails 起動しなくなった。
+
+```
+/home/vagrant/dev/rails-proj/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/
+kernel_require.rb:23:in `require':
+/home/vagrant/dev/rails-proj/vendor/bundle/ruby/2.6.0/gems/mini_racer-0.3.1/lib/
+mini_racer_extension.so:
+undefined symbol: _ZTTNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE - /home/vagrant/dev/rails-proj/vendor/bundle/ruby/2.6.0/gems/mini_racer-0.3.1/lib/mini_racer_extension.so (LoadError)
+
+```
+
+
+# 原因
+
+最近、gem `mini_racer` が version 0.3.x に上がったようで
+不安定のよう。
+
+
+
+
+# 解決法
+
+
+とりあえず、gem `mini_racer` (最近0.3.xに上がったようなので) 、修正対応のある、最新のversion を取り入れる。
+
+``` :Gemfile
+gem 'mini_racer', git: 'https://github.com/rubyjs/mini_racer', platforms: :ruby
+```
+
+
+該当部分
+
+https://github.com/rubyjs/mini_racer/commit/94cdb03211044f2e0620c6275525d09f84f26c78
+
+
+## 補足
+
+最初は gem `mini_racer`を 安定版の`0.2.15` に戻したりしたが、
+`libv8` などで特定のGCC version 依存があるようで、
+OSの GCC version調整がいるようで、
+とりあえずこれで。
+
+
+
+```
+$ gcc --version
+gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
+```
+
+https://www.cyberciti.biz/faq/centos-rhel-7-redhat-linux-install-gcc-compiler-development-tools/
+
+
+# 参考
+
+https://stackoverflow.com/questions/36327805/how-to-install-gcc-5-3-with-yum-on-centos-7-2
+
+
+https://github.com/rubyjs/mini_racer/issues/169
+