Try make GYPFLAGS="-Dcomponent=static_library" On Jul 1, 2012, at 10:38 PM, Charles Lowell wrote:
> > > On Sunday, July 1, 2012 9:39:55 PM UTC-5, mschwartz wrote: > make GYPFLAGS="-Dcomponent=shared_library" > > Unfortunately, I need to build a static library. If I monkey patch > standalone.gypi to put in the -fPIC flag then it works fine, but it would be > nice if there were a way to specify this from the command line. > > > 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
