No positive result. I've found a dirty hack to enable PIC. And I've submitted a patch that allows to force PIC to V8. I really hope it will be accepted.
-- Marat On Wednesday, April 16, 2014 9:35:13 PM UTC+4, Jakob Kummerow wrote: > > Try depending on 'v8_base.<(v8_target_arch)' and 'v8_snapshot' instead. > The 'v8' target is just a meta target, you can probably fold everything it > does into your own custom shared library (those dependencies being the most > important bits). > > > On Wed, Apr 16, 2014 at 12:29 PM, Marat Abdullin > <[email protected]<javascript:> > > wrote: > >> I use GYP for my entire project and it doesn't work. >> >> I add V8 using: >> "dependencies": [ >> "deps/v8/tools/gyp/v8.gyp:v8", >> ] >> >> with `component` set to `static_library` (and my library's target type is >> `shared_library`). >> >> Here is an example of compiler call (I use `make V=1` to get this) when >> it builds V8: >> >> g++ '-DV8_TARGET_ARCH_X64' '-DENABLE_DEBUGGER_SUPPORT' >> '-DV8_USE_DEFAULT_PLATFORM' '-DENABLE_HANDLE_ZAPPING' -Ideps/v8/src >> -fno-strict-aliasing -m64 -fdata-sections -ffunction-sections -O3 -MMD -MF >> out/Release/.deps/out/Release/obj.host/v8_base.x64/deps/v8/src/accessors.o.d.raw >> >> -c -o out/Release/obj.host/v8_base.x64/deps/v8/src/accessors.o >> deps/v8/src/accessors.cc >> No -fPIC (and quick V8's gyp-files examination shows that -fPIC is being >> added only in case `component` is set to `shared_library`). >> >> -- >> Marat >> >> >> On Wednesday, April 16, 2014 12:23:29 PM UTC+4, Jakob Kummerow wrote: >> >>> If you use GYP for your entire project, things should "just work". >>> Otherwise you'll probably have to modify V8's .gyp files. I'm not sure how, >>> you'll have to find that out for yourself. Try adding -fPIC to the 'cflags' >>> lists in build/toolchain.gypi. >>> >>> >>> On Wed, Apr 16, 2014 at 1:45 AM, Marat Abdullin <[email protected]>wrote: >>> >>>> This thing is pretty old but I still have the same problem. >>>> Is there any fix? >>>> >>>> I'm building a dynamic library and I'm statically linking V8 (version >>>> 3.24.40) in it. On OSX everything is linking just fine, but on Linux I get: >>>> >>>> /usr/bin/ld: out/Release/obj.target/deps/v8/tools/gyp/../../../../v8_ >>>> base.x64/deps/v8/src/accessors.o: relocation R_X86_64_32S against >>>> `vtable for v8::internal::StackFrame' can not be used when making a shared >>>> object; recompile with -fPIC >>>> >>>> out/Release/obj.target/deps/v8/tools/gyp/../../../../v8_ >>>> base.x64/deps/v8/src/accessors.o: could not read symbols: Bad value >>>> >>>> collect2: ld returned 1 exit status >>>> >>>> So, I need a way to tell V8 to build static library with -fPIC. Or is >>>> there any other fix for this? >>>> >>>> -- >>>> Marat >>>> >>>> On Monday, July 2, 2012 4:33:02 AM UTC+4, 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 >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "v8-users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >> -- >> v8-users mailing list >> [email protected] <javascript:> >> http://groups.google.com/group/v8-users >> --- >> You received this message because you are subscribed to the Google Groups >> "v8-users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
