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

Reply via email to