Updating NodeJS to 0.6.15 on Beaglebone

A special note before reading this: updating NodeJS can possibly break your current NodeJS apps, including Cloud 9 IDE. Care should be taken when to prevent this.

wget http://nodejs.org/dist/v0.6.15/node-v0.6.15.tar.gz
tar xzf node-v0.6.15.tar.gz
cd node-v0.6.15

 

Now you have to edit one file before compiling it. I use nano, but you can use which ever editor you like:

nano deps/v8/SConstruct

Search for the following:

 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],

Change the line to (don’t forget the comma at the end):

'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS', '-march=armv7-a'],

All that is left is:

./configure --prefix=/usr && make && make install

(I installed node into /usr but you can change that if you’d like)

Sit back and wait. It will take around an hour for it to compile on DC power.

5 comments

  1. Ben N says:

    Thanks for posting this, very simple. Only thing I slipped up on was not replacing all instances of that line – and the first instance wasn’t enough to make it work. Went back and fixed that and it compiled fine. Thanks again! Ben.

    • Ian Corbitt says:

      Glad to hear it helped. Not sure why replacing just that one line didn’t work though, but I bet it might be linked to GCC versions.

  2. Paul Tanner says:

    Thx Ben, This is very useful.

    Point taken about breaking cloud9. Actually mine’s broken as shipped (last week) as a couple of node modules were absent and one of these (fibers) would not compile when I loaded it. Anyone know when Cloud9 will catch up?

    My main question is about space. I guess I’ll need at least 4Gb to do the above. My ‘bone came with < 1Gb. How much space did you need? Hopefully I can just copy the existing uSD on my mac?

    Thx. Paul

    • Ian Corbitt says:

      Mine originally shipped with a 4GB uSD, but I didn’t think that would play nice with Gentoo, so I upgraded. I currently have a 16GB uSD in it, and things are working perfectly.

      I wouldn’t advise trying to do with with anything less than 2GB uSD.