2013-05-09 :-(
_ [NetBSD][gem][ruby][v8][libv8]gem193 install libv8 -v '3.11.8.17' fail
gemでインストールするとtdiary serverでエラー · Issue #295 · tdiary/tdiary-core の作業中に
% sudo gem193 install libv8 -v '3.11.8.17' Building native extensions. This could take a while... ERROR: Error installing libv8: ERROR: Failed to build gem native extension. /usr/pkg/bin/ruby193 extconf.rb creating Makefile Compiling v8 for ia32 Using python 2.6.8 Using compiler: /usr/bin/g++ cc1plus: warnings being treated as errors ../src/flags.cc: In function ‘char* v8::internal::SkipWhiteSpace(char*)’: ../src/flags.cc:459:24: error: array subscript has type ‘char’ ../src/flags.cc: In function ‘char* v8::internal::SkipBlackSpace(char*)’: ../src/flags.cc:465:24: error: array subscript has type ‘char’ gmake[1]: *** [/usr/pkg/lib/ruby/gems/1.9.3/gems/libv8-3.11.8.17/vendor/v8/out/ia32.release/obj.target/v8_base/src/flags.o] エラー 1 gmake: *** [ia32.release] エラー 2 /usr/pkg/lib/ruby/gems/1.9.3/gems/libv8-3.11.8.17/ext/libv8/location.rb:36:in `block in verify_installation!': libv8 did not install properly, expected binary v8 archive '/usr/pkg/lib/ruby/gems/1.9.3/gems/libv8-3.11.8.17/vendor/v8/out/ia32.release/obj.target/tools/gyp/libv8_base.a'to exist, but it was not found (Libv8::Location::Vendor::ArchiveNotFound) from /usr/pkg/lib/ruby/gems/1.9.3/gems/libv8-3.11.8.17/ext/libv8/location.rb:35:in `each' from /usr/pkg/lib/ruby/gems/1.9.3/gems/libv8-3.11.8.17/ext/libv8/location.rb:35:in `verify_installation!' from /usr/pkg/lib/ruby/gems/1.9.3/gems/libv8-3.11.8.17/ext/libv8/location.rb:26:in `install!' from extconf.rb:7:in `<main>' GYP_GENERATORS=make \ build/gyp/gyp --generator-output="out" build/all.gyp \ -Ibuild/standalone.gypi --depth=. \ -Dv8_target_arch=ia32 \ -S.ia32 -Dv8_can_use_vfp_instructions=true gmake[1]: ディレクトリ `/usr/pkg/lib/ruby/gems/1.9.3/gems/libv8-3.11.8.17/vendor/v8/out' に入ります CXX(target) /usr/pkg/lib/ruby/gems/1.9.3/gems/libv8-3.11.8.17/vendor/v8/out/ia32.release/obj.target/preparser_lib/src/allocation.o : CXX(target) /usr/pkg/lib/ruby/gems/1.9.3/gems/libv8-3.11.8.17/vendor/v8/out/ia32.release/obj.target/v8_base/src/flags.o gmake[1]: ディレクトリ `/usr/pkg/lib/ruby/gems/1.9.3/gems/libv8-3.11.8.17/vendor/v8/out' から出ます Gem files will remain installed in /usr/pkg/lib/ruby/gems/1.9.3/gems/libv8-3.11.8.17 for inspection. Results logged to /usr/pkg/lib/ruby/gems/1.9.3/gems/libv8-3.11.8.17/ext/libv8/gem_make.out
ググった
therubyracer 0.11.0 問題まとめ - 自称すーじー。
therubyracer は、JavaScript のエンジンである v8 *3 を Ruby から使えるようにする gem です。therubyracer では、v8 エンジンがシステム上で利用できる場合はそのエンジンを、また利用できない場合には libv8 という gem を取得して、各環境ごとに利用できるバイナリの v8 エンジンをこの libv8 gem から取得するようになっていました。
NetBSD support in 3.3.10.4 - Issue #30 - cowboyd/libv8
NetBSD でビルドできないんだけど?
しかし close されとる。
NetBSD 6.0BETA2でgitlabを動かしてみた(前編) - yellowback's blog
patch があるので使用している。libv8-netbsd.patch
NetBSD 固有というか pkgウンタラを追加しているだけだよなあ。
ChangeLog - v8 - V8 JavaScript Engine - Google Project Hosting
本家 v8 の changelog を眺めると NetBSD 対応済み。
2011-11-17: Version 3.7.8 Removed hidden prototype from builtins, i.e., deleting an overridden function on builtins will not make the original function reappear. Added NetBSD support for scons build. Performance improvements on all platforms.
Issue 1678 - v8 - netbsd support - V8 JavaScript Engine - Google Project Hosting
上記 v8 changelog はこのパッチが適用されたもの。
このパッチは libv8-netbsd.patch と似たようなものか。
あとで