The nodejs distribution includes the v8 engine so you don't need v8 to be installed separately. If net-libs/nodejs is emerged with --nodeps it seems to work just fine. Is there any other reason why dev-lang/v8 is pulled in as a dependency? Reproducible: Always Steps to Reproduce:
Because Gentoo policy says that packages bringing their own copies of software available elsewhere are behaving badly - if you have v8 already installed, then nodejs shouldn't install or use its own copy. If you have some evidence that nodejs uses its own copy /despite/ dev-lang/v8 being installed, then please reopen this bug report.
For more information, see [1]. [1] https://bugs.gentoo.org/buglist.cgi?quicksearch=ALL+internal+copy
I emerged net-libs/nodejs-0.2.5 and it pulled in dev-lang/v8-2.4.9.14. But, node -e 'process.versions.v8' returns "2.3.8" not 2.4.9.14. Furthermore, according to ldd, /usr/bin/node does not use /usr/lib/libv8.so*. Finally, as I mentioned above, removing dev-lang/v8-2.4.9.14 does not seem to affect node. In order to use the system v8, node must be configured with "--shared-v8". It would also be nice if there was a USE flag controlling whether "--shared-v8" is set or not. Of course the default could be to use the system v8 as per gentoo's policies.
CC'ing dev-lang/v8 maintainers for good measure.
Created attachment 258951 [details] build failure with --shared-v8 It's not trivial, because the build fails with shared v8.
However, the root cause of the problem seems to be on v8 side (those "missing symbols" aren't exported). nodejs internally builds with visibility=default (vs. visibility=hidden), but I think we can do better than that. I'm going to consult upstream before making the changes in our tree though.
Created attachment 258953 [details] experimental v8 patch
Discussion with upstream: http://groups.google.com/group/v8-users/browse_thread/thread/8be60b3c1c887b4c
Should be fixed in nodejs-0.3.1-r1, and the patch has already been applied upstream. Thank you for the report.