You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I would like to add nodejs to my LibraryBox and have found this: https://github.com/akwrt/openwrt-nodejs but I am unclear on how I can incorporate it with the current LibraryBox builds.
I tried an early build of Node.js for OpenWRT, and it was....unsuitable.
Really buggy, slow, caused all sorts of performance problems. We can look
at this release to see if it's any better...
I would like to add nodejs to my LibraryBox and have found this: https://github.com/akwrt/openwrt-nodejs but I am unclear on how I can
incorporate it with the current LibraryBox builds.
Would someone be able to help?
—
Reply to this email directly or view it on GitHub #26.
Awesome! This script uses Node 0.10.25, but v4.0.0 was just released so it might make sense to try that version.
I'm also interested in compiling Elixir with OpenWRT, but need a bit of guidance in understand what prerequisites are needed when compiling. I filed this issue on OpenWRT, but would ulimately love to have this on LibraryBox openwrt/packages#1786
My Node.js on ARM experience is limited to Raspberry Pi and BeagleBone where others have figured out the porting issues (and we thank them). As a suggestion, you might look over the Omega Onion project which is rather prominently introducing Node.js on a minimal OpenWRT platform.
We'll look into it asap, gang. I, too, would like node.js on the platform, for server-side epub rendering. :-) Let me dig in this week and see what I can find out.
maybe to clear things up a bit:
ARM(Raspberry) != MIPS (Alot mini routers)
So, binaries aren't replacable/re-usable.
The gcc of your system is only a kickstart gcc. The real gcc used in the buildchain is compiled by the OpenWrt toolchain itself.
You need to add this package via a package-feed to your build environment and mark it as a "module" using "make menuconfig". After that compile it with "make -j3".
Hi,
try it again at the end of the week. According to the OpenWRT-Dev Mailing list, you are not the only one having problems- I tried it stand alone as well, without luck.
best regards
Matthias
My question is, should I install the 4.8 version of g++ in order for this to compile? Will that be an issue for LibraryBox and/or PirateBox that is currently using g++ 4.6?
The tessel iojs v2.3.0 compiled for a while but still failed with the following:
vagrant@precise32:~/openwrt-dev-environment/openwrt$ make V=s package/feeds/local/iojs/compile
make[1]: Entering directory `/home/vagrant/openwrt-dev-environment/openwrt'
make[2]: Entering directory `/home/vagrant/openwrt-dev-environment/openwrt/package/toolchain'
WARNING: skipping libssp -- package not selected
WARNING: skipping libgfortran -- package not selected
WARNING: skipping ldd -- package not selected
WARNING: skipping ldconfig -- package not selected
make[2]: Leaving directory `/home/vagrant/openwrt-dev-environment/openwrt/package/toolchain'
make[2]: Entering directory `/home/vagrant/openwrt-dev-environment/openwrt/package/ocf-crypto-headers'
make[2]: Leaving directory `/home/vagrant/openwrt-dev-environment/openwrt/package/ocf-crypto-headers'
make[2]: Entering directory `/home/vagrant/openwrt-dev-environment/openwrt/package/zlib'
make[2]: Leaving directory `/home/vagrant/openwrt-dev-environment/openwrt/package/zlib'
make[2]: Entering directory `/home/vagrant/openwrt-dev-environment/openwrt/package/openssl'
WARNING: skipping openssl-util -- package not selected
make[2]: Leaving directory `/home/vagrant/openwrt-dev-environment/openwrt/package/openssl'
make[2]: Entering directory `/home/vagrant/openwrt-dev-environment/local_feed/packages/iojs'
CFLAGS="-Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/target-mips_r2_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/target-mips_r2_uClibc-0.9.33.2/include -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/include " CXXFLAGS="-Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/target-mips_r2_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/target-mips_r2_uClibc-0.9.33.2/include -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/include " LDFLAGS="-L/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/target-mips_r2_uClibc-0.9.33.2/usr/lib -L/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/target-mips_r2_uClibc-0.9.33.2/lib -L/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/usr/lib -L/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib " make -C /home/vagrant/openwrt-dev-environment/openwrt/build_dir/target-mips_r2_uClibc-0.9.33.2/iojs-v2.3.0/. AR=mips-openwrt-linux-uclibc-ar AS="mips-openwrt-linux-uclibc-gcc -c -Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float" LD=mips-openwrt-linux-uclibc-ld NM=mips-openwrt-linux-uclibc-nm CC="mips-openwrt-linux-uclibc-gcc" GCC="mips-openwrt-linux-uclibc-gcc" CXX="mips-openwrt-linux-uclibc-g++" RANLIB=mips-openwrt-linux-uclibc-ranlib STRIP=mips-openwrt-linux-uclibc-strip OBJCOPY=mips-openwrt-linux-uclibc-objcopy OBJDUMP=mips-openwrt-linux-uclibc-objdump SIZE=mips-openwrt-linux-uclibc-size CROSS="mips-openwrt-linux-uclibc-" ARCH="mips" ;
make[3]: Entering directory `/home/vagrant/openwrt-dev-environment/openwrt/build_dir/target-mips_r2_uClibc-0.9.33.2/iojs-v2.3.0'
make -C out BUILDTYPE=Release V=s
make[4]: Entering directory `/home/vagrant/openwrt-dev-environment/openwrt/build_dir/target-mips_r2_uClibc-0.9.33.2/iojs-v2.3.0/out'
mips-openwrt-linux-uclibc-g++ '-DGTEST_DONT_DEFINE_ASSERT_EQ=1' '-DGTEST_DONT_DEFINE_ASSERT_GE=1' '-DGTEST_DONT_DEFINE_ASSERT_GT=1' '-DGTEST_DONT_DEFINE_ASSERT_LE=1' '-DGTEST_DONT_DEFINE_ASSERT_LT=1' '-DGTEST_DONT_DEFINE_ASSERT_NE=1' -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/target-mips_r2_uClibc-0.9.33.2/usr/include -I../src -I../deps/v8/include -I../deps/gtest/include -pthread -Wall -Wextra -Wno-unused-parameter -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++0x -MMD -MF /home/vagrant/openwrt-dev-environment/openwrt/build_dir/target-mips_r2_uClibc-0.9.33.2/iojs-v2.3.0/out/Release/.deps//home/vagrant/openwrt-dev-environment/openwrt/build_dir/target-mips_r2_uClibc-0.9.33.2/iojs-v2.3.0/out/Release/obj.target/cctest/test/cctest/util.o.d.raw -Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/target-mips_r2_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/target-mips_r2_uClibc-0.9.33.2/include -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/include -c -o /home/vagrant/openwrt-dev-environment/openwrt/build_dir/target-mips_r2_uClibc-0.9.33.2/iojs-v2.3.0/out/Release/obj.target/cctest/test/cctest/util.o ../test/cctest/util.cc
In file included from ../test/cctest/util.cc:1:0:
../src/util.h:53:1: error: expected unqualified-id before 'using'
../src/util.h:63:23: error: 'ListNodeMember' has not been declared
../src/util.h:63:23: error: expected '>' before '<' token
../src/util.h:75:25: error: 'ListNodeMember' has not been declared
../src/util.h:75:25: error: expected '>' before '<' token
../src/util.h:81:23: error: 'ListNodeMember' has not been declared
../src/util.h:81:23: error: expected '>' before '<' token
In file included from ../test/cctest/util.cc:2:0:
../src/util-inl.h:29:23: error: 'ListNodeMember' has not been declared
../src/util-inl.h:29:23: error: expected '>' before '<' token
../src/util-inl.h:30:13: error: 'M' was not declared in this scope
../src/util-inl.h:30:14: error: template argument 2 is invalid
../src/util-inl.h:30:17: error: 'Iterator' has not been declared
../src/util-inl.h: In function 'int node::Iterator(node::ListNode<T>*)':
../src/util-inl.h:30:57: error: only constructors take member initializers
../src/util-inl.h:30:70: warning: no return statement in function returning non-void [-Wreturn-type]
../src/util-inl.h: At global scope:
../src/util-inl.h:32:23: error: 'ListNodeMember' has not been declared
../src/util-inl.h:32:23: error: expected '>' before '<' token
../src/util-inl.h:33:16: error: 'M' was not declared in this scope
../src/util-inl.h:33:17: error: template argument 2 is invalid
../src/util-inl.h:33:20: error: '<expression error>::Iterator' has not been declared
../src/util-inl.h:33:42: error: non-member function 'T* node::operator*()' cannot have cv-qualifier
../src/util-inl.h:33:42: error: 'T* node::operator*()' must have an argument of class or enumerated type
../src/util-inl.h:37:23: error: 'ListNodeMember' has not been declared
../src/util-inl.h:37:23: error: expected '>' before '<' token
../src/util-inl.h:38:28: error: 'M' was not declared in this scope
../src/util-inl.h:38:29: error: template argument 2 is invalid
../src/util-inl.h:39:13: error: 'M' was not declared in this scope
../src/util-inl.h:39:14: error: template argument 2 is invalid
../src/util-inl.h:39:17: error: '<expression error>::Iterator' has not been declared
../src/util-inl.h:39:38: error: 'const int& node::operator++()' must have an argument of class or enumerated type
../src/util-inl.h:44:23: error: 'ListNodeMember' has not been declared
../src/util-inl.h:44:23: error: expected '>' before '<' token
../src/util-inl.h:45:18: error: 'M' was not declared in this scope
../src/util-inl.h:45:19: error: template argument 2 is invalid
../src/util-inl.h:45:22: error: '<expression error>::Iterator' has not been declared
../src/util-inl.h:45:49: error: 'Iterator' does not name a type
../src/util-inl.h:45:59: error: ISO C++ forbids declaration of 'that' with no type [-fpermissive]
../src/util-inl.h:45:65: error: non-member function 'bool node::operator!=(const int&)' cannot have cv-qualifier
../src/util-inl.h:45:65: error: 'bool node::operator!=(const int&)' must have an argument of class or enumerated type
../src/util-inl.h:49:23: error: 'ListNodeMember' has not been declared
../src/util-inl.h:49:23: error: expected '>' before '<' token
../src/util-inl.h:50:13: error: 'M' was not declared in this scope
../src/util-inl.h:50:14: error: template argument 2 is invalid
../src/util-inl.h:55:23: error: 'ListNodeMember' has not been declared
../src/util-inl.h:55:23: error: expected '>' before '<' token
../src/util-inl.h:56:18: error: 'M' was not declared in this scope
../src/util-inl.h:56:19: error: template argument 2 is invalid
../src/util-inl.h:56:31: error: variable or field 'MoveBack' declared void
../src/util-inl.h:56:39: error: missing template arguments before '*' token
../src/util-inl.h:56:41: error: 'that' was not declared in this scope
../src/util-inl.h:68:23: error: 'ListNodeMember' has not been declared
../src/util-inl.h:68:23: error: expected '>' before '<' token
../src/util-inl.h:69:18: error: 'M' was not declared in this scope
../src/util-inl.h:69:19: error: template argument 2 is invalid
../src/util-inl.h: In function 'void node::PushBack(T*)':
../src/util-inl.h:70:35: error: 'M' was not declared in this scope
../src/util-inl.h:71:3: error: 'head_' was not declared in this scope
../src/util-inl.h: At global scope:
../src/util-inl.h:77:23: error: 'ListNodeMember' has not been declared
../src/util-inl.h:77:23: error: expected '>' before '<' token
../src/util-inl.h:78:18: error: 'M' was not declared in this scope
../src/util-inl.h:78:19: error: template argument 2 is invalid
../src/util-inl.h: In function 'void node::PushFront(T*)':
../src/util-inl.h:79:35: error: 'M' was not declared in this scope
../src/util-inl.h:80:3: error: 'head_' was not declared in this scope
../src/util-inl.h: At global scope:
../src/util-inl.h:86:23: error: 'ListNodeMember' has not been declared
../src/util-inl.h:86:23: error: expected '>' before '<' token
../src/util-inl.h:87:18: error: 'M' was not declared in this scope
../src/util-inl.h:87:19: error: template argument 2 is invalid
../src/util-inl.h:87:32: error: non-member function 'bool node::IsEmpty()' cannot have cv-qualifier
../src/util-inl.h: In function 'bool node::IsEmpty()':
../src/util-inl.h:88:10: error: 'head_' was not declared in this scope
../src/util-inl.h: At global scope:
../src/util-inl.h:91:23: error: 'ListNodeMember' has not been declared
../src/util-inl.h:91:23: error: expected '>' before '<' token
../src/util-inl.h:92:16: error: 'M' was not declared in this scope
../src/util-inl.h:92:17: error: template argument 2 is invalid
../src/util-inl.h: In function 'T* node::PopFront()':
../src/util-inl.h:93:15: error: no matching function for call to 'IsEmpty()'
../src/util-inl.h:93:15: note: candidate is:
../src/util-inl.h:87:6: note: template<class T, int <anonymous> > bool node::IsEmpty()
../src/util-inl.h:95:23: error: 'head_' was not declared in this scope
../src/util-inl.h:97:22: error: 'M' was not declared in this scope
../src/util-inl.h: At global scope:
../src/util-inl.h:100:23: error: 'ListNodeMember' has not been declared
../src/util-inl.h:100:23: error: expected '>' before '<' token
../src/util-inl.h:101:22: error: 'M' was not declared in this scope
../src/util-inl.h:101:23: error: template argument 2 is invalid
../src/util-inl.h:101:47: error: 'M' was not declared in this scope
../src/util-inl.h:101:48: error: template argument 2 is invalid
../src/util-inl.h:101:59: error: non-member function 'int node::begin()' cannot have cv-qualifier
../src/util-inl.h: In function 'int node::begin()':
../src/util-inl.h:102:19: error: 'head_' was not declared in this scope
../src/util-inl.h: At global scope:
../src/util-inl.h:105:23: error: 'ListNodeMember' has not been declared
../src/util-inl.h:105:23: error: expected '>' before '<' token
../src/util-inl.h:106:22: error: 'M' was not declared in this scope
../src/util-inl.h:106:23: error: template argument 2 is invalid
../src/util-inl.h:106:47: error: 'M' was not declared in this scope
../src/util-inl.h:106:48: error: template argument 2 is invalid
../src/util-inl.h:106:57: error: non-member function 'int node::end()' cannot have cv-qualifier
../src/util-inl.h: In function 'int node::end()':
../src/util-inl.h:107:45: error: 'head_' was not declared in this scope
../test/cctest/util.cc: In member function 'virtual void UtilTest_ListHead_Test::TestBody()':
../test/cctest/util.cc:8:44: error: could not convert template argument '&UtilTest_ListHead_Test::TestBody()::Item::node_' to 'int'
../test/cctest/util.cc:8:50: error: invalid type in declaration before ';' token
../test/cctest/util.cc:11:3: error: request for member 'IsEmpty' in 'list', which is of non-class type 'List {aka int}'
../test/cctest/util.cc:16:8: error: request for member 'PushBack' in 'list', which is of non-class type 'List {aka int}'
../test/cctest/util.cc:17:3: error: request for member 'IsEmpty' in 'list', which is of non-class type 'List {aka int}'
../test/cctest/util.cc:21:20: error: expected initializer before 'it'
../test/cctest/util.cc:22:5: error: request for member 'end' in 'list', which is of non-class type 'List {aka int}'
../test/cctest/util.cc:22:5: error: 'it' was not declared in this scope
../test/cctest/util.cc:23:5: error: 'it' was not declared in this scope
../test/cctest/util.cc:24:7: error: 'it' was not declared in this scope
../test/cctest/util.cc:25:5: error: request for member 'end' in 'list', which is of non-class type 'List {aka int}'
../test/cctest/util.cc:29:8: error: request for member 'PushBack' in 'list', which is of non-class type 'List {aka int}'
../test/cctest/util.cc:32:20: error: expected initializer before 'it'
../test/cctest/util.cc:33:5: error: request for member 'end' in 'list', which is of non-class type 'List {aka int}'
../test/cctest/util.cc:33:5: error: 'it' was not declared in this scope
../test/cctest/util.cc:34:5: error: 'it' was not declared in this scope
../test/cctest/util.cc:35:7: error: 'it' was not declared in this scope
../test/cctest/util.cc:36:5: error: request for member 'end' in 'list', which is of non-class type 'List {aka int}'
../test/cctest/util.cc:39:5: error: request for member 'end' in 'list', which is of non-class type 'List {aka int}'
../test/cctest/util.cc:42:3: error: request for member 'PopFront' in 'list', which is of non-class type 'List {aka int}'
../test/cctest/util.cc:44:3: error: request for member 'IsEmpty' in 'list', which is of non-class type 'List {aka int}'
../test/cctest/util.cc:47:20: error: expected initializer before 'it'
../test/cctest/util.cc:48:5: error: request for member 'end' in 'list', which is of non-class type 'List {aka int}'
../test/cctest/util.cc:48:5: error: 'it' was not declared in this scope
../test/cctest/util.cc:49:5: error: 'it' was not declared in this scope
../test/cctest/util.cc:50:7: error: 'it' was not declared in this scope
../test/cctest/util.cc:51:5: error: request for member 'end' in 'list', which is of non-class type 'List {aka int}'
../test/cctest/util.cc:54:3: error: request for member 'PopFront' in 'list', which is of non-class type 'List {aka int}'
../test/cctest/util.cc:56:3: error: request for member 'IsEmpty' in 'list', which is of non-class type 'List {aka int}'
../test/cctest/util.cc:57:3: error: request for member 'begin' in 'list', which is of non-class type 'List {aka int}'
../test/cctest/util.cc:57:3: error: request for member 'end' in 'list', which is of non-class type 'List {aka int}'
make[4]: *** [/home/vagrant/openwrt-dev-environment/openwrt/build_dir/target-mips_r2_uClibc-0.9.33.2/iojs-v2.3.0/out/Release/obj.target/cctest/test/cctest/util.o] Error 1
make[4]: Leaving directory `/home/vagrant/openwrt-dev-environment/openwrt/build_dir/target-mips_r2_uClibc-0.9.33.2/iojs-v2.3.0/out'
make[3]: *** [iojs] Error 2
make[3]: Leaving directory `/home/vagrant/openwrt-dev-environment/openwrt/build_dir/target-mips_r2_uClibc-0.9.33.2/iojs-v2.3.0'
make[2]: *** [/home/vagrant/openwrt-dev-environment/openwrt/build_dir/target-mips_r2_uClibc-0.9.33.2/iojs-v2.3.0/.built] Error 2
make[2]: Leaving directory `/home/vagrant/openwrt-dev-environment/local_feed/packages/iojs'
make[1]: *** [package/feeds/local/iojs/compile] Error 2
make[1]: Leaving directory `/home/vagrant/openwrt-dev-environment/openwrt'
make: *** [package/feeds/local/iojs/compile] Error 2
vagrant@precise32:~/openwrt-dev-environment/openwrt$
Activity
griffey commentedon Sep 19, 2015
I tried an early build of Node.js for OpenWRT, and it was....unsuitable.
Really buggy, slow, caused all sorts of performance problems. We can look
at this release to see if it's any better...
Jason
On Fri, Sep 18, 2015 at 9:59 PM Kevin Old notifications@github.com wrote:
kevinold commentedon Sep 19, 2015
Awesome! This script uses Node 0.10.25, but v4.0.0 was just released so it might make sense to try that version.
I'm also interested in compiling Elixir with OpenWRT, but need a bit of guidance in understand what prerequisites are needed when compiling. I filed this issue on OpenWRT, but would ulimately love to have this on LibraryBox openwrt/packages#1786
kevinold commentedon Sep 19, 2015
I tested building nodejs into OpenWRT with the script I referenced, and I'm running into the following:
I think it is because I'm using OpenWRT 15 instead of an earlier version and that it is not compatible with gcc 4.6.
I found this that seems to solve it, but references gcc 4.9: https://dev.openwrt.org/ticket/18182
kevinold commentedon Sep 19, 2015
It's also worth noting that they've started compiling releases for arm with each release: https://nodejs.org/download/release/v4.1.0/node-v4.1.0-linux-armv7l.tar.gz
Would I be able to just copy these builds over the TP Link MR3040?
jfathman commentedon Sep 19, 2015
My Node.js on ARM experience is limited to Raspberry Pi and BeagleBone where others have figured out the porting issues (and we thank them). As a suggestion, you might look over the Omega Onion project which is rather prominently introducing Node.js on a minimal OpenWRT platform.
https://onion.io/omega
https://github.com/OnionIoT/OpenWRT-Packages/tree/master/iojs
You might find some source or discussion that could get you going. I think the Tessel 2 project may also be Node.js on OpenWRT.
griffey commentedon Sep 20, 2015
We'll look into it asap, gang. I, too, would like node.js on the platform, for server-side epub rendering. :-) Let me dig in this week and see what I can find out.
kevinold commentedon Sep 21, 2015
Awesome! I've attempted to compile the iojs linked from @jfathman but am running into compile errors. I'll keep trying but probably with a v3 or v4.
I've also run across nodejs/node#2948 which is relevant and could help us.
kevinold commentedon Sep 21, 2015
Extremely naive question, but now that nodejs provides builds for arm, can't we use its Makefile directly
kevinold commentedon Sep 21, 2015
Accidentally closed sorry, reopened
kevinold commentedon Sep 21, 2015
https://github.com/nodejs/node/blob/master/Makefile Search for "arm" and you'll see the ARCH is modified accordingly. Combine that with lots of flags throughout the code for ARM architecture https://github.com/nodejs/node/search?utf8=✓&q=arm
MaStr commentedon Sep 21, 2015
maybe to clear things up a bit:
ARM(Raspberry) != MIPS (Alot mini routers)
So, binaries aren't replacable/re-usable.
The gcc of your system is only a kickstart gcc. The real gcc used in the buildchain is compiled by the OpenWrt toolchain itself.
You need to add this package via a package-feed to your build environment and mark it as a "module" using "make menuconfig". After that compile it with "make -j3".
kevinold commentedon Sep 21, 2015
Thanks for the clarification @MaStr. As I said, it was an extremely naive question. :)
I had already started to compile iojs v2.3.0 using the reference to the Onion scripts above, but ran into a compile error.
I've just kicked off a build of this https://github.com/kevinold/openwrt-nodejs which updates the script node 4.1.0. I will report back with progress.
kevinold commentedon Sep 21, 2015
I've been trying to get the compile to run all day but it seems the git server that hosts the
mtd-utilspackage is returning an error:I've tried every hour or two and it's still throwing it. Hoping the git server stops "hanging up" at some point. The web version is accessible.
MaStr commentedon Sep 22, 2015
kevinold commentedon Sep 22, 2015
I checked on IRC and the owner of that server restarted it and I'm past that issue. The compile is running now.
kevinold commentedon Sep 22, 2015
I'm at the stage now where I'm compiling nodejs 4.1.0, but it needs:
The complete log:
I have 4.6.3:
From reading https://github.com/fivdi/onoff/wiki/Node.js-v4-and-native-addons, which is unrelated to this but contains some interesting info about gcc requirements for the version of node, it says that versions of node/iojs after v3 require this newer version.
My question is, should I install the 4.8 version of g++ in order for this to compile? Will that be an issue for LibraryBox and/or PirateBox that is currently using g++ 4.6?
MaStr commentedon Sep 22, 2015
You can give it a try, but I'm not sure if :
The PirateBox/LibraryBox packages themself are plattform-independend.
kevinold commentedon Sep 22, 2015
@MaStr So should I just downgrade the version of nodejs/iojs I'm attempting to compile?
kevinold commentedon Sep 22, 2015
I've update kevinold/openwrt-nodejs@2ab3ca7 to go against nodejs 0.12.7 which works with gcc 4.6.3.
I'm digging into this next error:
kevinold commentedon Sep 22, 2015
Referencing https://github.com/tessel/openwrt-tessel/blob/master/package/node/iojs/Makefile.
It may help with getting the config flags right. Might try to build that version.
kevinold commentedon Sep 22, 2015
^^^ This iojs v2.3.0 package from tessel is compiling.
kevinold commentedon Sep 22, 2015
The tessel iojs v2.3.0 compiled for a while but still failed with the following: