On Fri, May 3, 2013 at 2:52 PM, Chris Cappuccio <ch...@nmedia.net> wrote:

> Jeremy Evans [jeremyeva...@gmail.com] wrote:
> >
> > Like I mentioned earlier, there's libv8 the shared library, and libv8 the
> > ruby gem.  The port you installed is for the shared library.   The rails
> > app is complaining because it wants you to install the libv8 ruby gem.
>  The
> > Gemfile includes gem 'libv8', so it appears to be a direct dependency of
> > the rails app you are working on.
> >
>
> I think it uses node.js. Or somehow other uses libv8.
>
> I mentioned that I installed libv8 from ports so that you could provide
> me with the secret handshake for make it all work together!
>
> What I think you're saying is that bundle should just work ?
>

I didn't say that.  I merely said that you didn't provide the output,
implying that such output was necessary for further analysis.


>
> > You didn't mention what happens when you run `bundle install`.  As the
> > rails app you are working on uses bundler, running `bundle install` is
> > basically the first thing you should do after cloning the repository.
> >
>
> bundle tries to compile libv8 and fails because g++44, g++45, g++46 don't
> exist (eg++
> of course) which appear to be the debian/ubuntu names for explicit
> versions of
> g++.
>
> When I run gem by hand, it tries to compile libv8 with g++ and runs into
> some error (that may be related to the fact that it isn't g++ 4.4 or
> higher.)
>

Basically, the native code in the libv8 gem doesn't compile correctly on
OpenBSD.  It probably requires patches (lang/libv8 requires patches to
compile).  There are two ways to go about fixing it:

1) Get libv8 to work.  You could try installing an updated gcc port and see
if its g++ will work.  If not, you could try building an OpenBSD port for
the ruby libv8 gem, and either getting it to use the system libv8, or
porting over the lang/libv8 patches so that it builds.

2) Get the application to stop using the libv8 gem.  This will entail
figuring out whether libv8 is actually required by the application.  If
not, removing it from the Gemfile should fix it.  If so, changing the
application to not require it.  If it is not using libv8 directly, but only
through therubyracer, you could downgrade the version of the therubyracer
it uses to the one in OpenBSD's ports (which doesn't require libv8).

Thanks,
Jeremy

Reply via email to