Skip to content

Add nodejs to LibraryBox #26

Open
Open

Description

@kevinold

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?

Activity

  1. griffey commented on Sep 19, 2015

    @griffey
    Contributor

    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:

    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.

  2. kevinold commented on Sep 19, 2015

    @kevinold
    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

  3. kevinold commented on Sep 19, 2015

    @kevinold
    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)
    
  4. kevinold commented on Sep 19, 2015

    @kevinold
    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?

  5. jfathman commented on Sep 19, 2015

    @jfathman

    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.

  6. griffey commented on Sep 20, 2015

    @griffey
    Contributor

    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.

  7. kevinold commented on Sep 21, 2015

    @kevinold
    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.

  8. kevinold commented on Sep 21, 2015

    @kevinold
    Author

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

  9. kevinold commented on Sep 21, 2015

    @kevinold
    Author

    Accidentally closed sorry, reopened

  10. kevinold commented on Sep 21, 2015

    @kevinold
    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

  11. MaStr commented on Sep 21, 2015

    @MaStr
    Contributor

    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".

  12. kevinold commented on Sep 21, 2015

    @kevinold
    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.

  13. kevinold commented on Sep 21, 2015

    @kevinold
    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.

  14. MaStr commented on Sep 22, 2015

    @MaStr
    Contributor
  15. kevinold commented on Sep 22, 2015

    @kevinold
    Author

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

  16. kevinold commented on Sep 22, 2015

    @kevinold
    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?

  17. MaStr commented on Sep 22, 2015

    @MaStr
    Contributor

    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.

  18. kevinold commented on Sep 22, 2015

    @kevinold
    Author

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

  19. kevinold commented on Sep 22, 2015

    @kevinold
    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
    
  20. kevinold commented on Sep 22, 2015

    @kevinold
    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.

  21. kevinold commented on Sep 22, 2015

    @kevinold
    Author

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

  22. kevinold commented on Sep 22, 2015

    @kevinold
    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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions