Hi, This is currently by design that the default on 64-bit is to build the 32-bit version. Pass arch=x64 to the SCons command when building.
$ scons arch=x64 However, maybe we should consider defaulting to 64-bit on 64-bit Linux as the x64 port is maturing. Regarding V8 for FreeBSD there is no official maintainer, so be prepared for some issues from time to time. Regards, Søren On Thu, Jan 28, 2010 at 13:17, Dmitry Marakasov <[email protected]> wrote: > Hi! > > I'm building V8 on FreeBSD as a prerequisite for intensity engine > (syntensity.com). The engine have just switched to latest version > of V8, which fixed a problem with building on 64bit FreeBSD. Now it > builds just fine, but there are some issues which it would be good > to fix: > > 1) V8 doesn't build on 64bit system out of box: > > --- > % scons > scons: Reading SConscript files ... > TypeError: cannot concatenate 'str' and 'NoneType' objects: > File "/usr/home/amdmi3/v8-be/SConstruct", line 607: > 'help': 'the architecture to build for (' + ARCH_GUESS + ')' > --- > > stangely, there's no quirks for 64bit systems in tools/utils.py which > is used to set ARCH_GUESS. With this, it builds fine: > > --- 1.patch begins here --- > Index: tools/utils.py > =================================================================== > --- tools/utils.py (revision 3732) > +++ tools/utils.py (working copy) > @@ -71,6 +71,8 @@ > return 'ia32' > elif id == 'i86pc': > return 'ia32' > + elif id == 'amd64': > + return 'x64' > else: > return None > > --- 1.patch ends here --- > > 2) V8 doesn't build in presence of lang/spidermonkey port, as there's > an include conflict: spidermonkey installs jsregexp.h, and it's included > instead of the correct one from V8. Here's what happens: > > --- > ... > /usr/local/libexec/ccache/c++ -o obj/release/ia32/codegen-ia32.o -c -Wall > -Werror -W -Wno-unused-parameter -Wnon-virtual-dtor -m32 -O3 > -fomit-frame-pointer -fdata-sections -ffunction-sections -ansi -fno-rtti > -fno-exceptions -fvisibility=hidden -Wall -Werror -W -Wno-unused-parameter > -Wnon-virtual-dtor -m32 -O3 -fomit-frame-pointer -fdata-sections > -ffunction-sections -ansi -DV8_TARGET_ARCH_IA32 -DENABLE_DEBUGGER_SUPPORT > -DV8_NATIVE_REGEXP -DENABLE_LOGGING_AND_PROFILING -I/usr/local/include -Isrc > src/ia32/codegen-ia32.cc > In file included from /usr/local/include/jspubtd.h:45, > from /usr/local/include/jsregexp.h:46, > from src/ia32/codegen-ia32.cc:35: > /usr/local/include/jstypes.h:248:6: error: #error "Must define one of > XP_BEOS, XP_OS2, XP_WIN or XP_UNIX" > ... > --- > > That should be fixed by changing the order of include paths. > > 3) Also I've ran tests - everything pass on amd64, but some fail on i386: > > http://people.freebsd.org/~amdmi3/v8-i386.tests.log > > -- > Dmitry Marakasov . 55B5 0596 FF1E 8D84 5F56 9510 D35A 80DD F9D2 F77D > [email protected] ..: jabber: [email protected] http://www.amdmi3.ru > > -- > 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
