I am afraid that from the isolates merge
(r7271<http://code.google.com/p/v8/source/detail?r=7271>)
building the sample shell using shared libraries does no longer work. This
is due to the sample shell not using APIs internal to v8 which is not
exported through include/v8.h. For testing isolates we needed thread support
for running tests, and currently the developer shell d8 is not suited for
running tests threads where added to the sample shell using internal V8
thread support. We have issue
1272<http://code.google.com/p/v8/issues/detail?id=1272>open on this.

It is still possible to build the process sample using V8 in a shared
library.

$ ldd process
linux-gate.so.1 =>  (0xf7777000)
 libv8.so => ./libv8.so (0xf7354000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7319000)
 libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf7222000)
libm.so.6 => /lib32/libm.so.6 (0xf71fc000)
 libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf71dd000)
libc.so.6 => /lib32/libc.so.6 (0xf7083000)
 /lib/ld-linux.so.2 (0xf7778000)

For chromium there is a builder building using shared libraries on the main
waterfall,
http://build.chromium.org/p/chromium/builders/Win%20Builder%20%28dbg%29%28shared%29,
and that will turn red if the Windows build using shared libraries fails.

Regards,
Søren

On Fri, Apr 8, 2011 at 08:40, Paweł Hajdan, Jr. <[email protected]>wrote:

> I'm using v8-3.2.8.2, and compiling it as a shared library gives the
> following result:
>
> i686-pc-linux-gnu-g++ -o shell -Wl,--hash-style=gnu -Wl,-O1 -Wl,--as-needed
> -m32 obj/sample/shell/release/shell.o -L. -lv8-3.2.8.2 -lpthread
> obj/sample/shell/release/shell.o: In function `RunMain(int, char**)':
> shell.cc:(.text+0xf7c): undefined reference to
> `v8::internal::Thread::Join()'
> shell.cc:(.text+0x1080): undefined reference to
> `v8::internal::Thread::Thread(v8::internal::Isolate*,
> v8::internal::Thread::Options const&)'
> shell.cc:(.text+0x1097): undefined reference to
> `v8::internal::Thread::Start()'
> shell.cc:(.text+0x1113): undefined reference to
> `v8::internal::OS::CreateSemaphore(int)'
> shell.cc:(.text+0x1121): undefined reference to
> `v8::internal::OS::CreateSemaphore(int)'
> obj/sample/shell/release/shell.o: In function
> `SourceGroup::IsolateThread::~IsolateThread()':
> shell.cc:(.text._ZN11SourceGroup13IsolateThreadD1Ev[SourceGroup::IsolateThread::~IsolateThread()]+0x14):
> undefined reference to `v8::internal::Thread::~Thread()'
> obj/sample/shell/release/shell.o: In function
> `SourceGroup::IsolateThread::~IsolateThread()':
> shell.cc:(.text._ZN11SourceGroup13IsolateThreadD0Ev[SourceGroup::IsolateThread::~IsolateThread()]+0x14):
> undefined reference to `v8::internal::Thread::~Thread()'
> collect2: ld returned 1 exit status
> scons: *** [shell] Error 1
> scons: building terminated because of errors.
>
> I'm also attaching a full build log.
>
>  Could you please fix this build issue? Also, are you testing the shared
> library build in the continuous integration, or at least before doing a
> tagged release?
>
> --
> 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

Reply via email to