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-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.
>

-- 
-- 
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.

Reply via email to