i want to cross compile nodejs for my Arm based board. After enough googling i am still not able to get it right. Can some one please refer some good document or summarize build procedure of nodejs for arm
On Tue, Sep 18, 2012 at 1:22 PM, Sumit Aggarwal <getsumit...@gmail.com> wrote:
> i want to cross compile nodejs for my Arm based board. After enough
> googling i am still not able to get it right.
> Can some one please refer some good document or summarize build procedure of
> nodejs for arm
It's pretty straightforward with v0.8:
$ CC=arm-linux-gcc ./configure --dest-cpu=arm
You can optionally specify the floating point ABI with
--with-arm-float-abi=soft|softfp|hard
On Tue, Sep 18, 2012 at 4:33 AM, Ben Noordhuis <i...@bnoordhuis.nl> wrote:
> On Tue, Sep 18, 2012 at 1:22 PM, Sumit Aggarwal <getsumit...@gmail.com> wrote:
>> i want to cross compile nodejs for my Arm based board. After enough
>> googling i am still not able to get it right.
>> Can some one please refer some good document or summarize build procedure of
>> nodejs for arm
> It's pretty straightforward with v0.8:
> $ CC=arm-linux-gcc ./configure --dest-cpu=arm
> You can optionally specify the floating point ABI with
> --with-arm-float-abi=soft|softfp|hard
Thanks Ban and Nathan Actually i tried both the methods and get the error
*NameError: name 'arm_neon' is not defined while evaluating condition 'arm_neon!=1 and arm_fpu!="vfpv3" and arm_fpu!="vfpv3-d16"' in /home/nodejs/deps/v8/tools/gyp/v8.gyp while loading dependencies of /home/nodejs/node.gyp while trying to load /home/nodejs/node.gyp*
Does it mean that i need to cross compile v8 separately and then try to compile nodejs ?? or some configuration change is required ?
Commented following portion in deps/v8/tools/gyp/v8.gyp and compilation was success with --without-snapshot option 149 'conditions': [ 150 ['armv7==1', { 151 # The ARM Architecture Manual mandates VFPv3 if NEON is 152 # available. 153 # The current V8 doesn't use d16-d31, so for vfpv3-d16, we can 154 # also enable vfp3 for the better performance. 155 'conditions': [ 156 # ['arm_neon!=1 and arm_fpu!="vfpv3" and arm_fpu!="vfpv3-d16"', { 157 # 'variables': { 158 # 'mksnapshot_flags': [ 159 # '--noenable_vfp3', 160 # ], 161 # }, 162 # }], 163 ],
i do not understand what is --without-snapshot option option and what commented portion does. can someone please telll I need to run executable on my board and check for error if any !!
> i do not understand what is --without-snapshot option option and what
> commented portion does. can someone please telll
> I need to run executable on my board and check for error if any !!
--without-snapshot disables precompiling the built-in objects (Array,
String, etc.). There is a performance penalty but it's minor, it only
affects startup times.
Hello Ben and Moreira i want to use nodejs for enhancement of device capabilities and want to do something like this 1. Make device as http web server. something like done by nokia " http://research.nokia.com/page/231". So that i can expose device capabilities to a web application and making device controllable by web like playing music, sharing data and may more.
2. Next step i have not decided yet but it should be something like supporting cross device web apps.
But fist step is very important to understand if i can achieve what i want and i am into right direction. Step Zero (Porting nodejs is already complete with Ben's help ) Can you suggest some good reference for making device as REST web server. and easily map c++ APIs.
i am a C++ developer and new to js. so making me slower in develop something in JS.
If you're not set on a particular device yet, you might pick up a used webOS device cheaply. You're restricted to Node v0.2.3 on phones (Palm Pre 2 or HP Veer) and v0.4.12 on the HP TouchPad, but Node is already tested and optimized. Plus, you can easily write a front end to configure your website in JavaScript as well.
> These flags could be more reliably set from /proc/cpuinfo or the command
> line,
> but grokking compiler flags is more portable...
> Cheers,
> Jon Kunkee
Thanks Jon, good to know. Do you know if there are actual ARMv7 units
out there that don't support VFPv3? All the ARMv7 gear I have or know
of supports it. So far I haven't received bug reports either.
> Thanks Jon, good to know. Do you know if there are actual ARMv7 units > out there that don't support VFPv3? All the ARMv7 gear I have or know > of supports it. So far I haven't received bug reports either.
I honestly don't know. There's a chance ARM would actually answer that question, but that's asking about their customer base...
The two systems I have access to here at school are both armv7l and support vfpv3.
I was thinking intelligently enabling NEON might be a performance boost, but I have no idea how to benchmark that.
<jonathan.kun...@gmail.com> wrote:
> I was thinking intelligently enabling NEON might be a performance boost,
> but I have no idea how to benchmark that.
You mean adding NEON support to V8? Because it doesn't support it now,
only VFPv3.
> You mean adding NEON support to V8? Because it doesn't support it now, > only VFPv3.
Point. I had assumed that the compiler could produce effective NEON code, but using SIMD effectively often does require explicit use in code. Adding it to the code would probably not be worth the cost for now.
I am having some problems cross compiling NodeJS for ARM processor, my ultimate target is to have it run under Android on a CubieBoard, the AllWinner A10 part.
Following Nathan's post, I am trying to compile either node v0.8.9 or v.0.10.3. My host platform is a CentOS X64 VM using the gcc-linaro-aarch64-linux-gnu-4.7 tool chain.
It seems to start out just fine until it tries to compile V8 then it has a problem saying that the ARM target is only supported on a 32bit host, but I have 32bit support added in. I have also successfully compiled V8 against the NDK toolchain following this post, and it runs under Android. http://code.google.com/p/v8/wiki/D8OnAndroid
Has anyone seen this problem, below is the compiler output. It's the same for both releases.
In file included from ../deps/v8/src/v8globals.h:31:0,
from ../deps/v8/src/v8.h:53,
from ../deps/v8/src/accessors.cc:28:
../deps/v8/src/globals.h:90:2: error: #error Host architecture was not detected as supported by v8 ../deps/v8/src/globals.h:120:2: error: #error Target architecture arm is only supported on arm and ia32 host In file included from ../deps/v8/src/platform.h:99:0,
from ../deps/v8/src/v8utils.h:32,
from ../deps/v8/src/v8.h:56,
from ../deps/v8/src/accessors.cc:28:
../deps/v8/src/atomicops.h:168:2: error: #error "Atomic operations are not supported on your platform" In file included from ../deps/v8/src/lazy-instance.h:94:0,
> On Tue, Sep 18, 2012 at 4:33 AM, Ben Noordhuis <in...@bnoordhuis.nl<javascript:>> > wrote: > > On Tue, Sep 18, 2012 at 1:22 PM, Sumit Aggarwal <getsu...@gmail.com<javascript:>> > wrote: > >> i want to cross compile nodejs for my Arm based board. After enough > >> googling i am still not able to get it right. > >> Can some one please refer some good document or summarize build > procedure of > >> nodejs for arm
> > It's pretty straightforward with v0.8:
> > $ CC=arm-linux-gcc ./configure --dest-cpu=arm
> > You can optionally specify the floating point ABI with > > --with-arm-float-abi=soft|softfp|hard