trunk fails to build

33 views
Skip to first unread message

mschwartz

unread,
Apr 27, 2012, 12:42:12 PM4/27/12
to v8-u...@googlegroups.com
This is the second time I've reported this kind of thing.

Shouldn't v8 actually build before being put in trunk?

g++ -fexceptions -fomit-frame-pointer -fdata-sections -ffunction-sections -fno-strict-aliasing -fvisibility=hidden -Wall -W -Wno-ignored-qualifiers -Wno-unused-function -Wno-unused-parameter -Wnon-virtual-dtor -m64 -O3 -fomit-frame-pointer -fdata-sections -ffunction-sections -ansi -fno-strict-aliasing -c -I./v8-read-only/include -I/usr/include/mysql -o process.o process.cpp
In file included from v8-read-only/src/elements.h:32:0,
                 from v8-read-only/src/objects-inl.h:38,
                 from v8-read-only/src/v8.h:60,
                 from process.cpp:18:
v8-read-only/src/heap.h:1426:3: error: invalid application of ‘sizeof’ to incomplete type ‘StaticAssertion<false>’ 
v8-read-only/src/heap.h:1426:3: error: template argument 1 is invalid
make[1]: *** [process.o] Error 1
make[1]: Leaving directory `/home/mschwartz/src/SilkJS/src'
make: *** [all] Error 2

mschwartz

unread,
Apr 27, 2012, 12:43:32 PM4/27/12
to v8-u...@googlegroups.com
Yeah, I know it's fixed in bleeding_edge.  This makes me have to tweak my Makefiles from one branch to the other, and then back to trunk when trunk compiles...

mschwartz

unread,
Apr 27, 2012, 12:45:28 PM4/27/12
to v8-u...@googlegroups.com
Sorry, it isn't fixed in bleeding_edge.  I spoke too soon :-)


On Friday, April 27, 2012 9:42:12 AM UTC-7, mschwartz wrote:

Jakob Kummerow

unread,
Apr 27, 2012, 12:48:31 PM4/27/12
to v8-u...@googlegroups.com
Current trunk compiles fine and ships in Chrome Canary v20.0.1120.0.

What GCC are you using?




--
Jakob Kummerow | Software Engineer (V8) | jkum...@google.com | +49 89 83930-9082
Google Germany GmbH
Diener-Straße 12
D-80331 München

AG Hamburg, HRB 86891
Sitz der Gesellschaft: 
ABC-Str. 19, D-20354 Hamburg
Geschäftsführer: Graham Law, Katherine Stephens

Tax ID: 48/725/00206 
VAT ID: DE813741370

mschwartz

unread,
Apr 27, 2012, 12:52:07 PM4/27/12
to v8-u...@googlegroups.com
mschwartz@oneiric:~/src/SilkJS$ gcc --version
gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1

Line 18 in process.cpp:

#include "v8-read-only/src/v8.h"

mschwartz

unread,
Apr 27, 2012, 1:02:41 PM4/27/12
to v8-u...@googlegroups.com
Commenting this line in heap.h makes it compile (line 1426):

//  STATIC_CHECK(kempty_symbolRootIndex == Internals::kEmptySymbolRootIndex);


On Friday, April 27, 2012 9:42:12 AM UTC-7, mschwartz wrote:

Jakob Kummerow

unread,
Apr 27, 2012, 1:19:13 PM4/27/12
to v8-u...@googlegroups.com
a few points...
  • You're #including v8-read-only/src/v8.h, which is an internal header file that's not supposed to be used by embedders. Try including v8-read-only/include/v8.h instead.
  • In line 17 of process.cc, you include SilkJS.h, which has an "#include <v8.h>" statement, which pulls in a system-wide installed header file, which most likely doesn't match the version that's checked out into v8-read-only! Combined with the first point, I'm not at all surprised that you're getting all sorts of whackiness.
  • At this point I believe that a vanilla V8 build would work just fine on your machine. Please try that next time before complaining about our build being broken.

Michael Schwartz

unread,
Apr 27, 2012, 1:27:42 PM4/27/12
to v8-u...@googlegroups.com
This is on a freshly installed Ubuntu in a VM.  There is no system wide <v8.h> header.  The -I./v8-read-only/include switch is having it read the v8 from the include directory.


I included the internal v8 header - to call AssureTickThreadStarted() (or whatever that function is named) during testing.

It does build with the internal include removed.  It has built with that header included for months.

I'd appreciate a response to the link above. 

Regards,

Jakob Kummerow

unread,
Apr 27, 2012, 1:37:59 PM4/27/12
to v8-u...@googlegroups.com
You don't need the ticker thread any more for optimizations.

Michael Schwartz

unread,
Apr 27, 2012, 1:40:53 PM4/27/12
to v8-u...@googlegroups.com
Really?  So after fork(), I'm getting all optimizations?

What about debugger?  After fork(), debuggers that talk to v8 via the debugger protocol seem really confused.  If I don't fork(), then the debugger works great.



Stephan Beal

unread,
Apr 27, 2012, 1:44:12 PM4/27/12
to v8-u...@googlegroups.com
On Fri, Apr 27, 2012 at 7:27 PM, Michael Schwartz <myk...@gmail.com> wrote:
This is on a freshly installed Ubuntu in a VM.  There is no system wide <v8.h> header.  The -I./v8-read-only/include switch is having it read the v8 from the include directory.

FWIW:

[stephan@host:~/src/google/trunk]$ svn info
Path: .
Repository UUID: ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revision: 11461
Node Kind: directory
Schedule: normal
Last Changed Author: yan...@chromium.org
Last Changed Rev: 11442
Last Changed Date: 2012-04-26 10:21:05 +0200 (Thu, 26 Apr 2012)

 [stephan@host:~/src/google/trunk]$ make x64.debug library=shared
cmp: EOF on out/environment
GYP_GENERATORS=make \
build/gyp/gyp --generator-output="out" build/all.gyp \
             -Ibuild/standalone.gypi --depth=. -Dtarget_arch=x64 \
             -S-x64  -Dcomponent=shared_library -Dv8_can_use_vfp_instructions=true
...snip...
  TOUCH /home/stephan/src/google/trunk/out/x64.debug/obj.target/build/All.stamp
make[1]: Leaving directory `/home/stephan/src/google/trunk/out'


== "works for me"

Ubuntu 12.04 w/ gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3.

--
----- stephan beal
http://wanderinghorse.net/home/stephan/
Reply all
Reply to author
Forward
0 new messages