You can also specify flags when building, I'm doing it like this in one project. It works as expected.
CFLAGS="-fPIC" CXXFLAGS="-fPIC" make native Den onsdagen den 16:e april 2014 kl. 23:56:38 UTC+2 skrev Marat Abdullin: > > 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 <dak...@brokenpipe.ru>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 >>>> <dak...@brokenpipe.ru>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 >>>>> v8-u...@googlegroups.com >>>>> >>>>> 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 v8-users+u...@googlegroups.com. >>>>> >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> -- >>> -- >>> v8-users mailing list >>> v8-u...@googlegroups.com >>> 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 v8-users+u...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- -- v8-users mailing list v8-users@googlegroups.com 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 v8-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.