make GYPFLAGS="-Dcomponent=shared_library" I think the default is static library for OSX (x64).
Mixing static and shared libraries is really difficult with the GNU tools. OSX uses the LLVM tool chain, which is similar but has significant differences. If you're building a 64-bit version on a 32-bit system, it could be that v8 is so big that 32-bit relocations in the code segments of the library are not enough bits. On Jul 1, 2012, at 5:33 PM, Charles Lowell wrote: > Hi, > > I'm trying to build a shared object and link in the static v8 library. This > works fine for me on OSX, but on Linux I get the following error: > > /usr/bin/ld: > /tmp/build_321giz8disep/vendor/v8/out/x64.release/obj.target/v8_base/src/api.o: > relocation R_X86_64_32S against `vtable for v8::ScriptData' can not be used > when making a shared object; recompile with -fPIC > > /tmp/build_321giz8disep/vendor/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a: > could not read symbols: Bad value > collect2: ld returned 1 exit status > > Is there a way to tell GYP to build a static v8 library with -fPIC? Is there > a way to do this without patching one of the gypfiles? > > cheers, > Charles > > -- > v8-users mailing list > [email protected] > http://groups.google.com/group/v8-users -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users
