Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add nodejs to LibraryBox #26

Open
kevinold opened this issue Sep 19, 2015 · 22 comments
Open

Add nodejs to LibraryBox #26

kevinold opened this issue Sep 19, 2015 · 22 comments

Comments

@kevinold
Copy link

Hi,

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?

@griffey
Copy link
Contributor

griffey commented 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 [email protected] wrote:

Hi,

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.

@kevinold
Copy link
Author

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
Copy link
Author

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

s" BUILDTYPE=Release  ;
make[4]: Entering directory `/home/vagrant/openwrt/build_dir/target-mips_34kc_musl-1.1.11/node-v0.10.25'
make -C out BUILDTYPE=Release V=s
make[5]: Entering directory `/home/vagrant/openwrt/build_dir/target-mips_34kc_musl-1.1.11/node-v0.10.25/out'
  mips-openwrt-linux-musl-gcc '-DL_ENDIAN' '-DPURIFY' '-D_REENTRANT' '-DOPENSSL_NO_HEARTBEATS' '-DOPENSSL_NO_ASM' '-DENGINESDIR="/dev/null"' '-DOPENSSLDIR="/etc/ssl"' '-DTERMIOS' -I../deps/openssl -I../deps/openssl/openssl -I../deps/openssl/openssl/crypto -I../deps/openssl/openssl/crypto/asn1 -I../deps/openssl/openssl/crypto/evp -I../deps/openssl/openssl/crypto/md2 -I../deps/openssl/openssl/crypto/modes -I../deps/openssl/openssl/crypto/store -I../deps/openssl/openssl/include  -Wall -Wextra -Wno-unused-parameter -pthread -Wno-missing-field-initializers -Wno-old-style-declaration -O2 -fno-strict-aliasing -fno-tree-vrp -fno-omit-frame-pointer  -MMD -MF /home/vagrant/openwrt/build_dir/target-mips_34kc_musl-1.1.11/node-v0.10.25/out/Release/.deps//home/vagrant/openwrt/build_dir/target-mips_34kc_musl-1.1.11/node-v0.10.25/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/ui/ui_openssl.o.d.raw -Os -pipe -mno-branch-likely -mips32r2 -mtune=34kc -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -mips16 -minterlink-mips16 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro  -I/home/vagrant/openwrt/staging_dir/target-mips_34kc_musl-1.1.11/usr/include -I/home/vagrant/openwrt/staging_dir/target-mips_34kc_musl-1.1.11/include -I/home/vagrant/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_musl-1.1.11/usr/include -I/home/vagrant/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_musl-1.1.11/include/fortify -I/home/vagrant/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_musl-1.1.11/include  -c -o /home/vagrant/openwrt/build_dir/target-mips_34kc_musl-1.1.11/node-v0.10.25/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/ui/ui_openssl.o ../deps/openssl/openssl/crypto/ui/ui_openssl.c
../deps/openssl/openssl/crypto/ui/ui_openssl.c:232:21: fatal error: termio.h: No such file or directory
 # include <termio.h>
                     ^
compilation terminated.
make[5]: *** [/home/vagrant/openwrt/build_dir/target-mips_34kc_musl-1.1.11/node-v0.10.25/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/ui/ui_openssl.o] Error 1
make[5]: Leaving directory `/home/vagrant/openwrt/build_dir/target-mips_34kc_musl-1.1.11/node-v0.10.25/out'
make[4]: *** [node] Error 2
make[4]: Leaving directory `/home/vagrant/openwrt/build_dir/target-mips_34kc_musl-1.1.11/node-v0.10.25'
make[3]: *** [/home/vagrant/openwrt/build_dir/target-mips_34kc_musl-1.1.11/node-v0.10.25/.built] Error 2
make[3]: Leaving directory `/home/vagrant/openwrt/feeds/nodejs/nodejs'
make[2]: *** [package/feeds/nodejs/nodejs/compile] Error 2
make[2]: Leaving directory `/home/vagrant/openwrt'
make[1]: *** [/home/vagrant/openwrt/staging_dir/target-mips_34kc_musl-1.1.11/stamp/.package_compile] Error 2
make[1]: Leaving directory `/home/vagrant/openwrt'
make: *** [world] Error 2
vagrant@precise32:~/openwrt$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.6/lto-wrapper
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
Thread model: posix
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)

@kevinold
Copy link
Author

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
Copy link

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
Copy link
Contributor

griffey commented 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
Copy link
Author

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
Copy link
Author

Extremely naive question, but now that nodejs provides builds for arm, can't we use its Makefile directly

@kevinold kevinold reopened this Sep 21, 2015
@kevinold
Copy link
Author

Accidentally closed sorry, reopened

@kevinold
Copy link
Author

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
Copy link
Contributor

MaStr commented 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
Copy link
Author

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
Copy link
Author

I've been trying to get the compile to run all day but it seems the git server that hosts the mtd-utils package is returning an error:

echo "Checking out files from the git repository..."; mkdir -p /home/vagrant/openwrt-dev-environment/openwrt/tmp/dl && cd /home/vagrant/openwrt-dev-environment/openwrt/tmp/dl && rm -rf mtd-utils-1.4.5 && [ \! -d mtd-utils-1.4.5 ] && git clone git://git.infradead.org/mtd-utils.git mtd-utils-1.4.5 --recursive && (cd mtd-utils-1.4.5 && git checkout 5319b84974fcb71504aed2d1b8285e9c0a4a4bb8) && echo "Packing checkout..." && rm -rf mtd-utils-1.4.5/.git &&   /bin/tar cfz /home/vagrant/openwrt-dev-environment/openwrt/tmp/dl/mtd-utils-1.4.5.tar.gz mtd-utils-1.4.5 && mv /home/vagrant/openwrt-dev-environment/openwrt/tmp/dl/mtd-utils-1.4.5.tar.gz /home/vagrant/openwrt-dev-environment/openwrt/dl/ && rm -rf mtd-utils-1.4.5;
Checking out files from the git repository...
Cloning into 'mtd-utils-1.4.5'...
fatal: The remote end hung up unexpectedly
make[3]: *** [/home/vagrant/openwrt-dev-environment/openwrt/dl/mtd-utils-1.4.5.tar.gz] Error 128
make[3]: Leaving directory `/home/vagrant/openwrt-dev-environment/openwrt/tools/mtd-utils'
make[2]: *** [tools/mtd-utils/compile] Error 2
make[2]: Leaving directory `/home/vagrant/openwrt-dev-environment/openwrt'
make[1]: *** [/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/target-mips_r2_uClibc-0.9.33.2/stamp/.tools_install_nnnnn] Error 2
make[1]: Leaving directory `/home/vagrant/openwrt-dev-environment/openwrt'
make: *** [world] Error 2

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
Copy link
Contributor

MaStr commented Sep 22, 2015 via email

@kevinold
Copy link
Author

I checked on IRC and the owner of that server restarted it and I'm past that issue. The compile is running now.

@kevinold
Copy link
Author

I'm at the stage now where I'm compiling nodejs 4.1.0, but it needs:

WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)

The complete log:

vagrant@precise32:~/openwrt-dev-environment/openwrt$ make V=s package/feeds/local/nodejs/compile
make[1]: Entering directory `/home/vagrant/openwrt-dev-environment/openwrt'
make[2]: Entering directory `/home/vagrant/openwrt-dev-environment/local_feed/packages/openwrt-nodejs/nodejs'
(cd /home/vagrant/openwrt-dev-environment/openwrt/build_dir/host/node-v4.1.0/; if [ -x configure ]; then cp -fpR /home/vagrant/openwrt-dev-environment/openwrt/scripts/config.{guess,sub} /home/vagrant/openwrt-dev-environment/openwrt/build_dir/host/node-v4.1.0// &&  CC="gcc" CFLAGS="-O2 -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host/include" CPPFLAGS="-I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host/include" LDFLAGS="-L/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host/lib" SHELL="/bin/bash" ./configure CC="gcc" CFLAGS="-O2 -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host/include" CPPFLAGS="-I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host/include" LDFLAGS="-L/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host/lib" SHELL="/bin/bash" --prefix=/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host --without-snapshot ; fi )
WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)
creating  ./icu_config.gypi
{ 'target_defaults': { 'cflags': [],
                       'default_configuration': 'Release',
                       'defines': [],
                       'include_dirs': [],
                       'libraries': []},
  'variables': { 'asan': 0,
                 'gas_version': '2.22',
                 'host_arch': 'ia32',
                 'icu_small': 'false',
                 'node_byteorder': 'little',
                 'node_install_npm': 'true',
                 'node_prefix': '/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host',
                 'node_release_urlbase': '',
                 'node_shared_http_parser': 'false',
                 'node_shared_libuv': 'false',
                 'node_shared_openssl': 'false',
                 'node_shared_zlib': 'false',
                 'node_tag': '',
                 'node_use_dtrace': 'false',
                 'node_use_etw': 'false',
                 'node_use_lttng': 'false',
                 'node_use_openssl': 'true',
                 'node_use_perfctr': 'false',
                 'openssl_fips': '',
                 'openssl_no_asm': 0,
                 'python': '/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host/bin/python',
                 'target_arch': 'ia32',
                 'uv_parent_path': '/deps/uv/',
                 'uv_use_dtrace': 'false',
                 'v8_enable_gdbjit': 0,
                 'v8_enable_i18n_support': 0,
                 'v8_no_strict_aliasing': 1,
                 'v8_optimized_debug': 0,
                 'v8_random_seed': 0,
                 'v8_use_snapshot': 0,
                 'want_separate_host_toolset': 0}}
creating  ./config.gypi
creating  ./config.mk
WARNING: warnings were emitted in the configure phase
gyp: CFLAGS=-O2 -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host/include not found (cwd: /home/vagrant/openwrt-dev-environment/openwrt/build_dir/host/node-v4.1.0) while trying to load CFLAGS=-O2 -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host/include
Error running GYP
make[2]: *** [/home/vagrant/openwrt-dev-environment/openwrt/build_dir/host/node-v4.1.0/.configured] Error 1
make[2]: Leaving directory `/home/vagrant/openwrt-dev-environment/local_feed/packages/openwrt-nodejs/nodejs'
make[1]: *** [package/feeds/local/nodejs/host/compile] Error 2
make[1]: Leaving directory `/home/vagrant/openwrt-dev-environment/openwrt'
make: *** [package/feeds/local/nodejs/compile] Error 2

I have 4.6.3:

vagrant@precise32:~/openwrt-dev-environment/openwrt$  g++ --version
g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 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
Copy link
Contributor

MaStr commented Sep 22, 2015

You can give it a try, but I'm not sure if :

  • the build will work against the stock packages of OpenWrt
  • it does not break other package-compiles (and you have a dependency chain of fixes)

The PirateBox/LibraryBox packages themself are plattform-independend.

@kevinold
Copy link
Author

@MaStr So should I just downgrade the version of nodejs/iojs I'm attempting to compile?

@kevinold
Copy link
Author

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:

. /home/vagrant/openwrt-dev-environment/openwrt/include/shell.sh; gzip -dc /home/vagrant/openwrt-dev-environment/openwrt/dl/node-v0.12.7.tar.gz | /bin/tar -C /home/vagrant/openwrt-dev-environment/openwrt/build_dir/host/node-v0.12.7/.. -xf -
touch /home/vagrant/openwrt-dev-environment/openwrt/build_dir/host/node-v0.12.7/.prepared5f684f8e65d9bec11431f08830d108a6
(cd /home/vagrant/openwrt-dev-environment/openwrt/build_dir/host/node-v0.12.7/; if [ -x configure ]; then cp -fpR /home/vagrant/openwrt-dev-environment/openwrt/scripts/config.{guess,sub} /home/vagrant/openwrt-dev-environment/openwrt/build_dir/host/node-v0.12.7// &&  CC="gcc" CFLAGS="-O2 -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host/include" CPPFLAGS="-I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host/include" LDFLAGS="-L/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host/lib" SHELL="/bin/bash" ./configure CC="gcc" CFLAGS="-O2 -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host/include" CPPFLAGS="-I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host/include" LDFLAGS="-L/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host/lib" SHELL="/bin/bash" --prefix=/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host --without-snapshot ; fi )
creating  ./icu_config.gypi
{ 'target_defaults': { 'cflags': [],
                       'default_configuration': 'Release',
                       'defines': [],
                       'include_dirs': [],
                       'libraries': []},
  'variables': { 'clang': 0,
                 'gcc_version': 46,
                 'host_arch': 'ia32',
                 'icu_small': 'false',
                 'node_install_npm': 'true',
                 'node_prefix': '/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host',
                 'node_shared_cares': 'false',
                 'node_shared_http_parser': 'false',
                 'node_shared_libuv': 'false',
                 'node_shared_openssl': 'false',
                 'node_shared_v8': 'false',
                 'node_shared_zlib': 'false',
                 'node_tag': '',
                 'node_use_dtrace': 'false',
                 'node_use_etw': 'false',
                 'node_use_mdb': 'false',
                 'node_use_openssl': 'true',
                 'node_use_perfctr': 'false',
                 'openssl_no_asm': 0,
                 'python': '/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host/bin/python',
                 'target_arch': 'ia32',
                 'uv_library': 'static_library',
                 'uv_parent_path': '/deps/uv/',
                 'uv_use_dtrace': 'false',
                 'v8_enable_gdbjit': 0,
                 'v8_enable_i18n_support': 0,
                 'v8_no_strict_aliasing': 1,
                 'v8_optimized_debug': 0,
                 'v8_random_seed': 0,
                 'v8_use_snapshot': 'false',
                 'want_separate_host_toolset': 0}}
creating  ./config.gypi
creating  ./config.mk
gyp: CFLAGS=-O2 -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host/include not found (cwd: /home/vagrant/openwrt-dev-environment/openwrt/build_dir/host/node-v0.12.7) while trying to load CFLAGS=-O2 -I/home/vagrant/openwrt-dev-environment/openwrt/staging_dir/host/include
Error running GYP
make[2]: *** [/home/vagrant/openwrt-dev-environment/openwrt/build_dir/host/node-v0.12.7/.configured] Error 1
make[2]: Leaving directory `/home/vagrant/openwrt-dev-environment/local_feed/packages/openwrt-nodejs/nodejs'
make[1]: *** [package/feeds/local/nodejs/host/compile] Error 2
make[1]: Leaving directory `/home/vagrant/openwrt-dev-environment/openwrt'
make: *** [package/feeds/local/nodejs/compile] Error 2

@kevinold
Copy link
Author

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
Copy link
Author

^^^ This iojs v2.3.0 package from tessel is compiling.

@kevinold
Copy link
Author

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$

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants