OpenWrt Forum Archive

Topic: Node v6 on mips

The content of this topic has been archived on 4 May 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hi guys,
I have seen some attempts and guides on the net and this forum talking about Nodejs Compilation for mips on OpenWrt.  But all are for earlier node versions like 0.12 or 0.10 and up to 4 which is not working really well because it needs fpu emulation.
My question  is,  did any of these change in node v6?  Or can anyone share a success story  for compiling node 6.x for mips? I tried cross compiling  for mips and got error about not finding execinfo.h file
Any insights?
Thanks

I have tried to compile NodeJS V6.4.0 with OpenWrt  15.05.1 toolchain for MT7620 platform but I cannot get it to complete successfully. I am copying a Node issue I opened in case someone has a better idea from what is wrong. Thanks!

ERROR:

../src/backtrace_posix.cc:16:22: fatal error: execinfo.h: No such file or directory #include <execinfo.h>

The script that I use to cross compile  NodeJS for my platform:

#!/bin/sh
export STAGING_DIR=/home/centaur/Simcom/OpenWrt-SDK-15.05.1-ramips-mt7620_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/
export BASE=${STAGING_DIR}toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/
export PREFIX=${BASE}bin/mipsel-openwrt-linux-
export CSTOOLS=${BASE}
export CSTOOLS_INC=${CSTOOLS}/include
export CSTOOLS_LIB=${CSTOOLS}/lib
export CC=${PREFIX}gcc
export CXX=${PREFIX}g++
export AR=${PREFIX}ar
export LD=${PREFIX}ld
export LD_LIBRARY_PATH=${BASE}lib
export LIBPATH=${LD_LIBRARY_PATH}
export RANLIB=${PREFIX}ranlib

export PATH=${BASE}bin:${PATH}

export LINK=${CXX}
export CCFLAGS="-march=24kec -mtune=24kec"
export CXXFLAGS="-march=24kec -mtune=24kec"
export LDFLAGS='-Wl,-rpath-link '${LIBPATH}

./configure --without-snapshot --dest-cpu=mipsel --with-mips-float-abi=soft --dest-os=linux --prefix=/opt/software --with-intl=none
make --jobs=6
make install

The discussion might have continued from here.