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
