Newer version of g++ needed to compile node.js

I have downloaded latest source code and tools available for the WD MyCloud (Gen 2, e.g. v2 firmware). The tools are very old (October 2013, or 3 1/2 years old) and the version of g++ provided is 4.6.4. I am trying to compile nodejs, but I need a newer version than 0.10x (which is practically end of life at this point). However, this requires a minimum g++ version of 4.8.

If I had some very detailed instructions on what I needed to do, I might be able to compile a newer g++, but given the ease with which things could go wrong when trying to compile a compiler and get all the libraries right, a pre-compiled version would be greatly appreciated.

Has anybody done this before? WD, if you are listening, any chance you can update the tools to the latest version? Thanks!

Hopefully an experienced User will be able to assist.

With regards to updates, I will pass along your feedback to the corresponding teams.

Newest crosstools: Grab it from Synology
Or build it yourself!
Another option: Use chrooted debian and use build-essential or any other “native” compiler (And compile all what you need on device)

Thanks for the links!

I tried the Synology cross tools using the same basic procedure that works with the 4.6.4 g++ compiler (substituting the path of the new compiler), but the binary they created doesn’t seem to be able to run on my MyCloud device without a small bit of a hack…

In Linux/Ubuntu I run:

cd ~/WDMC/tools
tar -xJvf /media/psf/Home/Downloads/armada375-gcc493_glibc220_hard-GPL.txz
cd ~/test
~/WDMC/tools/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-g++ -o test2A test2.cpp

Then I upload the resulting test2A binary to the MyCloud device, and try to run it:

root@mycloud root # ls -l test2A
-rwxr-xr-x    1 root     root         28368 Mar  1 11:01 test2A
root@mycloud root # ./test2A
-sh: ./test2A: not found

Seems a library loader or something is not happy. So I looked at the binaries and discovered that the working binary references /lib/ld-linux.so.3, whereas the non-working binary references /lib/ld-linux-armhf.so.3

So I created a symlink:

cd /lib
ln -s ld-2.15.so ld-linux-armhf.so.3

Now it works! The program doesn’t do anything very complicated, so I’m not sure if the program running ok is a good test. But since the CPU on the MyCloud v2 has VFP, I assume this hack should be okay.