Closed nodo closed 12 years ago
I've seen https://github.com/cowboyd/therubyracer/issues/111 and it does not work.
I installed also 'libv8' throught rubygems
gem install libv8
and that's work:
irb> require 'libv8'
=> true
but therubyracer does not work.
I've been having the same issues trying to install on Ubuntu 10.04.3 LTS.
gem install therubyracer --pre
Installs to REE 1.8.7 fine but wont install to 1.9.2 or 1.9.3.
Tried:
gem uninstall libv8 gem install libv8 --pre gem install therubyracer --pre
Result:
gem install therubyracer --pre Building native extensions. This could take a while... ERROR: Error installing therubyracer: ERROR: Failed to build gem native extension. /usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb creating Makefile make g++ -I. -I/usr/local/rvm/gems/ruby-1.9.2-p290@specials/gems/libv8-3.5.10.beta1/lib/libv8/v8/include -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -I/usr/local/rvm/usr/include -D_FILE_OFFSET_BITS=64 -Wall -g -rdynamic -fPIC -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -fPIC -o v8_date.o -c v8_date.cpp In file included from rr.h:5, from v8_date.cpp:1: /usr/local/rvm/gems/ruby-1.9.2-p290@specials/gems/libv8-3.5.10.beta1/lib/libv8/v8/include/v8.h:1826: error: expected identifier before '&' token In file included from v8_date.cpp:4: v8_handle.h: In function 'v8::Persistent& rr_v8_handle(VALUE) [with T = v8::Date]': v8_date.cpp:21: instantiated from here v8_handle.h:43: warning: dereferencing type-punned pointer will break strict-aliasing rules make: *** [v8_date.o] Error 1 Gem files will remain installed in /usr/local/rvm/gems/ruby-1.9.2-p290@specials/gems/therubyracer-0.10.0beta1 for inspection. Results logged to /usr/local/rvm/gems/ruby-1.9.2-p290@specials/gems/therubyracer-0.10.0beta1/ext/v8/gem_make.out
Pointers towards a work around would be greatly appreciated.
Same issue while trying to use twitter-bootstrap-rails. I've punted on the gem for now in favor of sass-rails, but I'd love to see a resolution to this, as it's the worst gem dependency error I've run into using Rails. Dev env = Mac OSX 10.7.3.
+1, my env is Mac OSX 10.5.8 and g++4.2
Very simliar issue to mine: https://github.com/cowboyd/therubyracer/issues/156 I have libv8 installed too.
Same story here on 10.5.8:
/Users/adamyonk/.rbenv/versions/1.9.3-p125/bin/ruby extconf.rb
checking for main() in -lobjc... yes
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/Users/adamyonk/.rbenv/versions/1.9.3-p125/bin/ruby
--with-objclib
--without-objclib
extconf.rb:15:in `<main>': undefined method `include_path' for Libv8:Module (NoMethodError)
Fedora 17, same issue as @rudedoc ...
Was anyone ever able to resolve this?
I was originally having problems getting Twitter Bootstrap to compile assets for a Rails App but after I rebuilt my machine following Ryan Bate's recipe (http://railscasts.com/episodes/335-deploying-to-a-vps?autoplay=true) everything worked fine.
On 14 June 2012 23:47, krimsonkla < reply@reply.github.com
wrote:
Was anyone ever able to resolve this?
Reply to this email directly or view it on GitHub: https://github.com/cowboyd/therubyracer/issues/148#issuecomment-6345461
Phone: +353 86 310 26 97 Fax: + 353 1 825 07 39
Enjoy a FREE €25 bet on our new website. You must enter this Promotion Code BB203 when you register on http://www.betpack.com. Happy punting!!!
Bambury Bookmakers is the trading name of Finbam Leisure LTD. The information contained in this e-mail is confidential and may be privileged. It is intended only for the addressee(s) stated above. If it has been delivered to you by mistake, please notify the sender and then delete this e-mail. If you are not an addressee, any use, dissemination, distribution,publication, or copying of this e-mail is strictly prohibited.
I think I got it. In the file rr.h, you first must include v8.h and then ruby.h. Otherwise, the macro StringValue from ruby.h overwrites the StringValue() call in v8.h, so that the preprocessed code looks like this:
Local
which is obviously a syntax error. I will submit a patch for this (really simple, just swap the two lines).
Also, it seems that installation fails when you install libv8 and therubyracer separately. e.g. running 'gem install therubyracer' is ok, but 'gem install libv8 && gem install therubyracer' fails:
extconf.rb:15:in <main>': undefined method
include_path' for Libv8:Module (NoMethodError)
I will open a separate issue for this.
This is a libv8 issue.
Issue: /usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/build/v8/libv8.a: No such file or directory
Full message error: Installing therubyracer (0.9.10) with native extensions Unfortunately, a fatal error has occurred. Please report this error to the Bundler issue tracker at https://github.com/carlhuda/bundler/issues so that we can fix it. Thanks! /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:552:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
checking for main() in -lobjc... yes creating Makefile
make g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o rr.o -c rr.cpp rr.cpp: In function ‘VALUE rr_definefinalizer(VALUE, void, VALUE)’: rr.cpp:48: warning: no return statement in function returning non-void rr.cpp: In function ‘VALUE rr_v82rb(int64_t)’: rr.cpp:134: warning: implicit conversion shortens 64-bit value into a 32-bit value rr.cpp: In function ‘VALUE rr_definefinalizer(VALUE, void, VALUE)’: rr.cpp:48: warning: control reaches end of non-void function g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8.o -c v8.cpp g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_array.o -c v8_array.cpp g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_callbacks.o -c v8_callbacks.cpp g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_context.o -c v8_context.cpp g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_date.o -c v8_date.cpp g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_debug.o -c v8_debug.cpp g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_exception.o -c v8_exception.cpp v8_exception.cpp:10: warning: ‘::stack’ defined but not used
g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_external.o -c v8_external.cpp
g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_function.o -c v8_function.cpp
g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_handle.o -c v8_handle.cpp
g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_locker.o -c v8_locker.cpp
v8_locker.cpp: In function ‘VALUE::Lock::Delete(VALUE)’:
v8_locker.cpp:45: warning: no return statement in function returning non-void
v8_locker.cpp: In function ‘VALUE::Unlock::Delete(VALUE)’:
v8_locker.cpp:85: warning: no return statement in function returning non-void
v8_locker.cpp: In function ‘VALUE::Lock::Delete(VALUE)’:
v8_locker.cpp:45: warning: control reaches end of non-void function
v8_locker.cpp: In function ‘VALUE::Unlock::Delete(VALUE)’:
v8_locker.cpp:85: warning: control reaches end of non-void function
g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_message.o -c v8_message.cpp
g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_object.o -c v8_object.cpp
g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_script.o -c v8_script.cpp
g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_string.o -c v8_string.cpp
g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_template.o -c v8_template.cpp
g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_try_catch.o -c v8_try_catch.cpp
g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_v8.o -c v8_v8.cpp
g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_value.o -c v8_value.cpp
g++ -I. -I/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/v8/include -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -Wall -g -rdynamic -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe -o v8_weakref.o -c v8_weakref.cpp
g++ -dynamic -bundle -o v8.bundle rr.o v8.o v8_array.o v8_callbacks.o v8_context.o v8_date.o v8_debug.o v8_exception.o v8_external.o v8_function.o v8_handle.o v8_locker.o v8_message.o v8_object.o v8_script.o v8_string.o v8_template.o v8_try_catch.o v8_v8.o v8_value.o v8_weakref.o -L. -L/usr/local/lib /usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/build/v8/libv8.a -L. -L/usr/local/lib -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace -lobjc -lpthread -ldl -lobjc -lpthread
i686-apple-darwin9-g++-4.0.1: /usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/build/v8/libv8.a: No such file or directory
make: *\ [v8.bundle] Error 1
System information: