sebdraven / pyv8

PyV8
0 stars 0 forks source link

Location of static V8 library is wrong #182

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. build Boost and V8, using 'make native' for V8
2. run 'python setup.py install'

What is the expected output? What do you see instead?

Linking error:
g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro 
build/temp.linux-x86_64-3.2/src/Utils.o 
build/temp.linux-x86_64-3.2/src/Exception.o 
build/temp.linux-x86_64-3.2/src/Context.o 
build/temp.linux-x86_64-3.2/src/Engine.o 
build/temp.linux-x86_64-3.2/src/Wrapper.o 
build/temp.linux-x86_64-3.2/src/Debug.o 
build/temp.linux-x86_64-3.2/src/Locker.o build/temp.linux-x86_64-3.2/src/AST.o 
build/temp.linux-x86_64-3.2/src/PrettyPrinter.o 
build/temp.linux-x86_64-3.2/src/PyV8.o -L$BOOST_HOME/stage/lib 
-L$V8_HOME/out/x64.release/obj.target/tools/gyp/ -lrt -lboost_python 
-lboost_thread -lboost_system -lv8_base.x64 -lv8_snapshot -o 
build/lib.linux-x86_64-3.2/_PyV8.cpython-32mu.so -fPIC
/usr/bin/ld: cannot find -lv8_base.x64
/usr/bin/ld: cannot find -lv8_snapshot
collect2: error: ld returned 1 exit status
error: command 'g++' failed with exit status 1

The problem occurs because it searches for the library at the location: 
$V8_HOME/out/x64.release/obj.target/tools/gyp/
There is, however, no x64.release folder, as because of 'make native' it is 
called 'native' and the correct location is:
$V8_HOME/out/native/obj.target/tools/gyp/

Tried again with 'make x64.release' and no problems.

What version of the product are you using? On what operating system?
PyV8: Revision 521, with patches mentioned at issue 180.
V8: Revision 15386 
python: 3.2.4
Debian Squeeze (with a fair amount of Debian Wheezy and some Sid packages)

Original issue reported on code.google.com by joren...@gmail.com on 30 Jun 2013 at 1:02

GoogleCodeExporter commented 9 years ago
Thanks, added /out/native to the library search path, but I suggest you use 
`python setup.py build` to build v8 library, because pyv8 need to patch its 
*.gpy before build it, which enabled RTTI and exception in v8.

Original comment by flier...@gmail.com on 10 Jul 2013 at 7:23