homebridge的移植---target端
皮骏
2023-12-01
第二篇
移植之交叉编译
目标板:linux
第一步Nodejs编译:主机上的版本是v8.10.0,, 目标板的版本是v4.3.2
1. 交叉编译nodejs
$(SDK)/external/node-v4.3.2$ #export CC=arm-linux-gcc CXX=arm-linux-g++ LD=arm-linux-ld RAINLIB=arm-linux-rainlib AR=arm-linux-ar [ CFLAGS=-static CXXFLAGS=-static LDFLAGS=-static ]
$(SDK)/external/node-v4.3.2$ #./configure --prefix=../../out/node-v4.3.2/ --dest-cpu=arm --without-snapshot --fully-static [ --debug ]
2.验证:在target上创建helloworld.js,由于target没有显示和触摸屏,通过主机访问http://$IP:12330/ ,页面会有“Hello World”
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('Hello World\n');
}).listen(12330, "$IP");
console.log('Server running at http://$IP:12330/');
也可以: node -v
第二步avahi编译:
1. 交叉编译avahi
$(SDK)$ source env.sh
2.1 下载libdaemon包 : 0pointer.de/lennart/projects/libdaemon/
$(SDK)/external/libdaemon-0.14$ ./configure --prefix=$(pwd)/../../out/system/ --host=arm-rkcvr-linux-uclibcgnueabihf
$(SDK)/external/libdaemon-0.14$ make
$(SDK)/external/libdaemon-0.14$ make install
log>>>libdaemon.log
>>>>>>>> configure: error: cannot check setpgrp when cross compiling <<<<<<<
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
make clean
echo "ac_cv_func_setpgrp_void=yes" > config.cache
./configure --prefix=$(pwd)/../../out/system/ --host=arm-rkcvr-linux-uclibcgnueabihf --config-cache
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2.2 下载avahi源码 : www.avahi.org
!!!!!! 重点是看configure和docs文档(比如README)!!!!!!
$(SDK)/external/avahi-0.7$ /configure --host=arm-rkcvr-linux-uclibcgnueabihf --prefix=$(pwd)/../../out/system/ --with-xml=expat --with-distro=none --localstatedir=/var --disable-gdbm --disable-qt3 --disable-qt4 --disable-gtk --disable-gtk3 --disable-python --disable-mono CFLAGS="-I$(pwd)/../../out/system -I$(pwd)/../../out/system/include" LDFLAGS="-L$(pwd)/../../out/system/lib -lintl -liconv -lexpat" LIBDAEMON_CFLAGS="-I$(pwd)/../../out/system/include/libdaemon" LIBDAEMON_LIBS="-L$(pwd)/../../out/system/lib -ldaemon" DBUS_CFLAGS="-I$(pwd)/../../out/system/include/dbus-1.0 -I$(pwd)/../../out/system/lib/dbus-1.0/include" DBUS_LIBS="-L$(pwd)/../../out/system/lib -ldbus-1" GOBJECT_LIBS="-L$(pwd)/../../out/system/lib -lgobject-2.0" GLIB20_CFLAGS="-I$(pwd)/../../out/system/include/glib-2.0" GLIB20_LIBS="-L$(pwd)/../../out/system/lib -lglib-2.0"
2.3 说明make V=1 -j8 && make install
log>>>
A: ./configure: line 19479: intltool-update: command not found
checking for intltool >= 0.35.0... found
configure: error: Your intltool is too old. You need intltool 0.35.0 or later.
>>> sudo apt-get install intltool
B: checking for XML_ParserCreate in -lexpat... no
checking for XML_ParserCreate in -lbsdxml... no
configure: error: *** neither libexpat not libbsdxml could be found ***
>>>
./configure --host=arm-rkcvr-linux-uclibcgnueabihf --prefix=$(pwd)/../../out/system/ --with-distro=none --localstatedir=/var --disable-gdbm LIBDAEMON_CFLAGS="-I$(pwd)/../../out/system/include/libdaemon" LIBDAEMON_LIBS="-L$(pwd)/../../out/system/lib -ldaemon" --disable-qt3 --disable-qt4 --disable-gtk --disable-gtk3 --disable-python --disable-mono GOBJECT_LIBS="-L$(pwd)/../../out/system/lib -lgobject-2.0" GLIB20_CFLAGS="-I$(pwd)/../../out/system/include/glib-2.0" GLIB20_LIBS="-L$(pwd)/../../out/system/lib -lglib-2.0" EXPAT_LIBS="-L$(pwd)/../../out/system/lib -lexpat"
还是同样的错误 : expat是必须的,xml解析需要expat或者bsdxml,我们sdk中有expat,所以选用expat。
--disable-expat --disable-bsdxml 一样,至少要有一个
>>> ./configure --host=arm-rkcvr-linux-uclibcgnueabihf --prefix=$(pwd)/../../out/system/ --with-distro=none --localstatedir=/var --disable-gdbm LIBDAEMON_CFLAGS="-I$(pwd)/../../out/system/include/libdaemon" LIBDAEMON_LIBS="-L$(pwd)/../../out/system/lib -ldaemon" --disable-qt3 --disable-qt4 --disable-gtk --disable-gtk3 --disable-python --disable-mono GOBJECT_LIBS="-L$(pwd)/../../out/system/lib -lgobject-2.0" GLIB20_CFLAGS="-I$(pwd)/../../out/system/include/glib-2.0" GLIB20_LIBS="-L$(pwd)/../../out/system/lib -lglib-2.0" -L$(pwd)/../../out/system/lib -I$(pwd)/../../out/system/include -lexpat
>>>./configure --host=arm-rkcvr-linux-uclibcgnueabihf --prefix=$(pwd)/../../out/system/ --with-distro=none --localstatedir=/var --disable-gdbm LIBDAEMON_CFLAGS="-I$(pwd)/../../out/system/include/libdaemon" LIBDAEMON_LIBS="-L$(pwd)/../../out/system/lib -ldaemon" --disable-qt3 --disable-qt4 --disable-gtk --disable-gtk3 --disable-python --disable-mono GOBJECT_LIBS="-L$(pwd)/../../out/system/lib -lgobject-2.0" GLIB20_CFLAGS="-I$(pwd)/../../out/system/include/glib-2.0" GLIB20_LIBS="-L$(pwd)/../../out/system/lib -lglib-2.0" --with-xml=expat
C: 成功:
./configure --host=arm-rkcvr-linux-uclibcgnueabihf --prefix=$(pwd)/../../out/system/ --with-distro=none --localstatedir=/var --disable-gdbm LIBDAEMON_CFLAGS="-I$(pwd)/../../out/system/include/libdaemon" LIBDAEMON_LIBS="-L$(pwd)/../../out/system/lib -ldaemon" --disable-qt3 --disable-qt4 --disable-gtk --disable-gtk3 --disable-python --disable-mono GOBJECT_LIBS="-L$(pwd)/../../out/system/lib -lgobject-2.0" GLIB20_CFLAGS="-I$(pwd)/../../out/system/include/glib-2.0" GLIB20_LIBS="-L$(pwd)/../../out/system/lib -lglib-2.0" --with-xml=none LDFLAGS=-L$(pwd)/../../out/system/lib LIBS=-ldbus-1
D: make
D1. mv out/system/lib/glib-2.0/include/glibconfig.h out/system/include/glib-2.0/
D2. ./configure --host=arm-rkcvr-linux-uclibcgnueabihf --prefix=$(pwd)/../../out/system/ --with-distro=none --localstatedir=/var --disable-gdbm LIBDAEMON_CFLAGS="-I$(pwd)/../../out/system/include/libdaemon" LIBDAEMON_LIBS="-L$(pwd)/../../out/system/lib -ldaemon" --disable-qt3 --disable-qt4 --disable-gtk --disable-gtk3 --disable-python --disable-mono GOBJECT_LIBS="-L$(pwd)/../../out/system/lib -lgobject-2.0" GLIB20_CFLAGS="-I$(pwd)/../../out/system/include/glib-2.0" GLIB20_LIBS="-L$(pwd)/../../out/system/lib -lglib-2.0" --with-xml=none LDFLAGS="-L$(pwd)/../../out/system/lib" CFLAGS=-I$(pwd)/../../out/system/include LIBS=-ldbus-1 -lintl
external/avahi-0.7$ cp avahi-common/.libs/libavahi-common.so.3.5.3 ../../out/system/lib
E: export LDFLAGS="-L$(pwd)/../../out/system/lib" CFLAGS=-I$(pwd)/../../out/system/include LIBS="-L$(pwd)/../../out/system/lib -ldbus-1 -lintl"
./configure --host=arm-rkcvr-linux-uclibcgnueabihf --prefix=$(pwd)/../../out/system/ --with-distro=none --localstatedir=/var --disable-gdbm LIBDAEMON_CFLAGS="-I$(pwd)/../../out/system/include/libdaemon" LIBDAEMON_LIBS="-L$(pwd)/../../out/system/lib -ldaemon" --disable-qt3 --disable-qt4 --disable-gtk --disable-gtk3 --disable-python --disable-mono GOBJECT_LIBS="-L$(pwd)/../../out/system/lib -lgobject-2.0" GLIB20_CFLAGS="-I$(pwd)/../../out/system/include/glib-2.0" GLIB20_LIBS="-L$(pwd)/../../out/system/lib -lglib-2.0" --with-xml=none
!!!修改avahi-daemon/Makefile 将sysconfdir = $(prefix)/etc 改为sysconfdir = /etc再执行make V=1命令
make之后再修改avahi-daemon/Makefile 将sysconfdir = /etc 改为sysconfdir = $(prefix)/etc 然后make install
第三步测试部分:
刚开始的测试步骤,在target上面用npm下载homebridge和插件,运行的时候发现行不通(缺各种module),一方面flash太小(约100M),另一方面缺交叉编译器,从而放弃这个思路。另一思路:先将主机上的homebridge和插件打包,再交叉编译。
zjm@zjm:/usr/local/lib/node_modules$ sudo tar cvf homebridge-light.tar homebridge homebridge-yeelight
# target
# add node npm homebridge into env-path
PATH=$PATH:/app/bin:/data/node-v4.3.2/bin:/app/homebridge/bin:/data/node-v4.3.2/lib/node_modules/npm/bin:/data/node-v4.3.2/lib/node_modules/npm/bin/node-gyp-bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/app/lib/:/data/node_modules/npm/lib/:/app/homebridge/lib
# may be need:
mkdir -p /data/node-v4.3.2/lib/node_modules/npm/bin/node_modules/npm/bin/
ln -s /data/node-v4.3.2/lib/node_modules/npm/bin/npm-cli.js /data/node-v4.3.2/lib/node_modules/npm/bin/node_modules/npm/bin/npm-cli.js
# npm config
npm config list / ls -l
export NODE_PATH=/data/node-v4.3.2/lib/node_modules
export HOME=/data # ???
npm config set prefix=/data/node-v4.3.2
npm config set cache=/data/node-v4.3.2/cache # mkdir cache
# add module path
mkdir /data/.node_modules
# set npm url
npm config set registry=https://registry.npmjs.org
npm config set registry=https://registry.npm.taobao.org
# or 编辑 $HOME/.npmrc 加入下面内容
registry = https://registry.npm.taobao.org or https://registry.npmjs.org/
# connect wifi
# npm install -g commander
# $some errors happened:
!!!!!!Error: setuid user id does not exist
>>>node_modules/npm/node_modules/uid-number/uid-number.js
>>>replace uidSupport = process.getuid && process.setuid with uidSupport = false
>>> or
>>>sed -i'' -r 's/^( +, uidSupport = ).+$/\1false/' /path/to/uid-number.js
# test
/data/node_modules/npm # node &
/data/node_modules/npm # homebridge &
# summary
export NODE_HOME=/data/node-v4.3.2 #Node所在路径
export PATH=$NODE_HOME/bin:$PATH
碰到的问题:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Fix error field.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
====================================================================================================================================================================
module.js:327
throw err;
^
Error: Cannot find module '../build/Release/dns_sd_bindings'/app/homebridge/node_modules/mdns/lib
at Function.Module._resolveFilename (module.js:325:15)
at Function.Module._load (module.js:276:25)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/app/homebridge/node_modules/mdns/lib/dns_sd.js:32:22)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
====================================================================================================================================================================
Error: Cannot find module 'hap-nodejs'
>>> ln -s node-v4.3.2/lib/node_modules/ha-nodejs/index.js /data/.node_modules/hap-nodejs
====================================================================================================================================================================
Error: Cannot find module 'commander'
>>> ln -s /data/node-v4.3.2/lib/node_modules/npm/node_modules/request/node_modules/har-validator/node_modules/commander/index.js /data/.node_modules/commander
====================================================================================================================================================================
/data # homebridge
: '/app/homebridge/node_modules/mdns/build/Release/dns_sd_bindings.node' is not an ELF executable for ARM
Segmentation fault
>>> 难点!!!!!!!!!!!!!!!!
>>> zjm@zjm:~/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge$ find . -name "*.node"
./node_modules/mdns/build/Release/obj.target/dns_sd_bindings.node
./node_modules/mdns/build/Release/dns_sd_bindings.node
./node_modules/ed25519/build/Release/obj.target/ed25519.node
./node_modules/ed25519/build/Release/ed25519.node
./node_modules/curve25519-n2/build/Release/curve.node
./node_modules/curve25519-n2/build/Release/obj.target/curve.node
>>>
====================================================================================================================================================================
~/.homebridge/config.json
====================================================================================================================================================================
zjm@zjm:~/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns$ cd ../../../../../
zjm@zjm:~/fu/workdir/rv1108/rv1108-cvr_firmware_20170505$ source env.sh
zjm@zjm:~/fu/workdir/rv1108/rv1108-cvr_firmware_20170505$ cd -
/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns
zjm@zjm:~/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns$ export CC=arm-linux-gcc CXX=arm-linux-g++ LD=arm-linux-ld RAINLIB=arm-linux-rainlib AR=arm-linux-ar
zjm@zjm:~/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns$ ./../../../../../out/node-v4.3.2/lib/node_modules/npm/bin/node-gyp-bin/node-gyp rebuild
gyp info it worked if it ends with ok
gyp info using node-gyp@3.0.3
gyp info using node@8.10.0 | linux | x64
gyp info spawn python2
gyp info spawn args [ '/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/out/node-v4.3.2/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/out/node-v4.3.2/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/zjm/.node-gyp/8.10.0/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/home/zjm/.node-gyp/8.10.0',
gyp info spawn args '-Dnode_gyp_dir=/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/out/node-v4.3.2/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=node.lib',
gyp info spawn args '-Dmodule_root_dir=/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.' ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make:进入目录'/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns/build'
CXX(target) Release/obj.target/dns_sd_bindings/src/dns_sd.o
arm-linux-g++.br_real: error: unrecognized command line option ‘-m64’
make: *** [Release/obj.target/dns_sd_bindings/src/dns_sd.o] 错误 1
make:离开目录“/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns/build”
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/out/node-v4.3.2/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack at emitTwo (events.js:126:13)
gyp ERR! stack at ChildProcess.emit (events.js:214:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Linux 3.13.0-138-generic
gyp ERR! command "/usr/local/bin/node" "/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/out/node-v4.3.2/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns
gyp ERR! node -v v8.10.0
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
zjm@zjm:~/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns$
====================================================================================================================================================================
export CC=arm-linux-gcc CXX=arm-linux-g++ LD=arm-linux-ld RAINLIB=arm-linux-rainlib AR=arm-linux-ar CFLAGS=-I../../../../../external/avahi-0.7/avahi-compat-libdns_sd CXXFLAGS=-I../../../../../external/avahi-0.7/avahi-compat-libdns_sd LDFLAGS=-m32
zjm@zjm:~/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns$ ./../../../../../out/node-v4.3.2/lib/node_modules/npm/bin/node-gyp-bin/node-gyp --target=v4.3.2 --release --arch=arm --nodedir=../../../../../out/node-v4.3.2 rebuild
./../../../../../out/node-v4.3.2/lib/node_modules/npm/bin/node-gyp-bin/node-gyp --target=v4.3.2 --release --arch=arm --nodedir=../../../../../out/node-v4.3.2 rebuild -h
!!!!!! export PATH=/path/to/your/node:$PATH !!!!!!
zjm@zjm:~/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns$ ./../../../../../out/node-v4.3.2/lib/node_modules/npm/bin/node-gyp-bin/node-gyp -V=1 --target=v4.3.2 --release --arch=arm --nodedir=../../../../../out/node-v4.3.2 --devdir=../../../../../out/node-v4.3.2 rebuild --silly
zjm@zjm:~/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/curve25519-n2$ ./../../../../../out/node-v4.3.2/lib/node_modules/npm/bin/node-gyp-bin/node-gyp -V=1 --target=v4.3.2 --release --arch=arm --nodedir=../../../../../out/node-v4.3.2 --devdir=../../../../../out/node-v4.3.2 rebuild --silly
zjm@zjm:~/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/ed25519$ ./../../../../../out/node-v4.3.2/lib/node_modules/npm/bin/node-gyp-bin/node-gyp -V=1 --target=v4.3.2 --release --arch=arm --nodedir=../../../../../out/node-v4.3.2 --devdir=../../../../../out/node-v4.3.2 rebuild --silly
以mdns为例:
zjm@zjm:~/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns$ ./../../../../../out/node-v4.3.2/lib/node_modules/npm/bin/node-gyp-bin/node-gyp -V=1 --target=v4.3.2 --release --arch=arm --nodedir=../../../../../out/node-v4.3.2 --devdir=../../../../../out/node-v4.3.2 rebuild --silly
gyp info it worked if it ends with ok
gyp verb cli [ '/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/out/node-v4.3.2/bin/node',
gyp verb cli '/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/out/node-v4.3.2/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli '-V=1',
gyp verb cli '--target=v4.3.2',
gyp verb cli '--release',
gyp verb cli '--arch=arm',
gyp verb cli '--nodedir=../../../../../out/node-v4.3.2',
gyp verb cli '--devdir=../../../../../out/node-v4.3.2',
gyp verb cli 'rebuild',
gyp verb cli '--silly' ]
gyp info using node-gyp@3.0.3
gyp info using node@4.3.2 | linux | arm
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` succeeded python2 /usr/bin/python2
gyp verb check python version `python2 -c "import platform; print(platform.python_version());"` returned: "2.7.6\n"
gyp verb get node dir compiling against specified --nodedir dev files: ../../../../../out/node-v4.3.2
gyp verb build dir attempting to create "build" dir: /home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns/build
gyp verb build dir "build" dir needed to be created? /home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns/build
gyp verb build/config.gypi creating config file
gyp sill build/config.gypi { target_defaults:
gyp sill build/config.gypi { cflags: [],
gyp sill build/config.gypi default_configuration: 'Release',
gyp sill build/config.gypi defines: [],
gyp sill build/config.gypi include_dirs: [],
gyp sill build/config.gypi libraries: [] },
gyp sill build/config.gypi variables:
gyp sill build/config.gypi { arm_float_abi: 'hard',
gyp sill build/config.gypi arm_fpu: 'vfpv3',
gyp sill build/config.gypi arm_thumb: 0,
gyp sill build/config.gypi arm_version: '7',
gyp sill build/config.gypi asan: 0,
gyp sill build/config.gypi gas_version: 0,
gyp sill build/config.gypi host_arch: 'arm',
gyp sill build/config.gypi icu_small: false,
gyp sill build/config.gypi node_byteorder: 'little',
gyp sill build/config.gypi node_install_npm: true,
gyp sill build/config.gypi node_prefix: '../../out/node-v4.3.2/',
gyp sill build/config.gypi node_release_urlbase: '',
gyp sill build/config.gypi node_shared_http_parser: false,
gyp sill build/config.gypi node_shared_libuv: false,
gyp sill build/config.gypi node_shared_openssl: false,
gyp sill build/config.gypi node_shared_zlib: false,
gyp sill build/config.gypi node_tag: '',
gyp sill build/config.gypi node_use_dtrace: false,
gyp sill build/config.gypi node_use_etw: false,
gyp sill build/config.gypi node_use_lttng: false,
gyp sill build/config.gypi node_use_openssl: true,
gyp sill build/config.gypi node_use_perfctr: false,
gyp sill build/config.gypi openssl_fips: '',
gyp sill build/config.gypi openssl_no_asm: 0,
gyp sill build/config.gypi python: '/usr/bin/python',
gyp sill build/config.gypi target_arch: 'arm',
gyp sill build/config.gypi uv_parent_path: '/deps/uv/',
gyp sill build/config.gypi uv_use_dtrace: false,
gyp sill build/config.gypi v8_enable_gdbjit: 0,
gyp sill build/config.gypi v8_enable_i18n_support: 0,
gyp sill build/config.gypi v8_no_strict_aliasing: 1,
gyp sill build/config.gypi v8_optimized_debug: 0,
gyp sill build/config.gypi v8_random_seed: 0,
gyp sill build/config.gypi v8_use_snapshot: false,
gyp sill build/config.gypi want_separate_host_toolset: 0,
gyp sill build/config.gypi nodedir: '../../../../../out/node-v4.3.2',
gyp sill build/config.gypi copy_dev_lib: false,
gyp sill build/config.gypi standalone_static_library: 1,
gyp sill build/config.gypi V: '1',
gyp sill build/config.gypi target: 'v4.3.2',
gyp sill build/config.gypi devdir: '/tmp/.gyp' } }
gyp verb build/config.gypi writing out config file: /home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns/build/config.gypi
gyp verb config.gypi checking for gypi file: /home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns/config.gypi
gyp verb common.gypi checking for gypi file: /home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns/common.gypi
gyp verb gyp gyp format was not specified; forcing "make"
gyp info spawn python2
gyp info spawn args [ '/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/out/node-v4.3.2/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/out/node-v4.3.2/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/out/node-v4.3.2/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=../../../../../out/node-v4.3.2',
gyp info spawn args '-Dnode_gyp_dir=/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/out/node-v4.3.2/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=node.lib',
gyp info spawn args '-Dmodule_root_dir=/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.' ]
gyp verb command build []
gyp verb build type Release
gyp verb architecture arm
gyp verb node dev dir ../../../../../out/node-v4.3.2
gyp verb `which` succeeded for `make` /usr/bin/make
gyp info spawn make
gyp info spawn args [ 'V=1', 'BUILDTYPE=Release', '-C', 'build' ]
make:进入目录'/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns/build'
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/dns_sd.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/dns_sd.o ../src/dns_sd.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/dns_service_browse.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/dns_service_browse.o ../src/dns_service_browse.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/dns_service_enumerate_domains.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/dns_service_enumerate_domains.o ../src/dns_service_enumerate_domains.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/dns_service_get_addr_info.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/dns_service_get_addr_info.o ../src/dns_service_get_addr_info.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/dns_service_process_result.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/dns_service_process_result.o ../src/dns_service_process_result.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/dns_service_ref.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/dns_service_ref.o ../src/dns_service_ref.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/dns_service_ref_deallocate.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/dns_service_ref_deallocate.o ../src/dns_service_ref_deallocate.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/dns_service_ref_sock_fd.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/dns_service_ref_sock_fd.o ../src/dns_service_ref_sock_fd.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/dns_service_register.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/dns_service_register.o ../src/dns_service_register.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/dns_service_resolve.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/dns_service_resolve.o ../src/dns_service_resolve.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/dns_service_update_record.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/dns_service_update_record.o ../src/dns_service_update_record.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/mdns_utils.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/mdns_utils.o ../src/mdns_utils.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/network_interface.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/network_interface.o ../src/network_interface.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/socket_watcher.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/socket_watcher.o ../src/socket_watcher.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/txt_record_ref.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/txt_record_ref.o ../src/txt_record_ref.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/txt_record_create.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/txt_record_create.o ../src/txt_record_create.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/txt_record_deallocate.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/txt_record_deallocate.o ../src/txt_record_deallocate.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/txt_record_set_value.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/txt_record_set_value.o ../src/txt_record_set_value.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/txt_record_get_length.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/txt_record_get_length.o ../src/txt_record_get_length.cpp
arm-linux-g++ '-DNODE_GYP_MODULE_NAME=dns_sd_bindings' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DBUILDING_NODE_EXTENSION' -I../../../../../../out/node-v4.3.2/include/node -I../../../../../../out/node-v4.3.2/src -I../../../../../../out/node-v4.3.2/deps/uv/include -I../../../../../../out/node-v4.3.2/deps/v8/include -I../node_modules/nan -I../../../../../../out/node-v4.3.2/include -I../../../../../../external/avahi-0.7/avahi-compat-libdns_sd -I../lib -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -O3 -fPIC -fno-rtti -fno-exceptions -std=gnu++0x -fPIC -fPIC -MMD -MF ./Release/.deps/Release/obj.target/dns_sd_bindings/src/txt_record_buffer_to_object.o.d.raw -I../../../../../external/avahi-0.7/avahi-compat-libdns_sd -c -o Release/obj.target/dns_sd_bindings/src/txt_record_buffer_to_object.o ../src/txt_record_buffer_to_object.cpp
arm-linux-g++ -shared -pthread -rdynamic -O3 -static -Wl,-soname=dns_sd_bindings.node -o Release/obj.target/dns_sd_bindings.node -Wl,--start-group Release/obj.target/dns_sd_bindings/src/dns_sd.o Release/obj.target/dns_sd_bindings/src/dns_service_browse.o Release/obj.target/dns_sd_bindings/src/dns_service_enumerate_domains.o Release/obj.target/dns_sd_bindings/src/dns_service_get_addr_info.o Release/obj.target/dns_sd_bindings/src/dns_service_process_result.o Release/obj.target/dns_sd_bindings/src/dns_service_ref.o Release/obj.target/dns_sd_bindings/src/dns_service_ref_deallocate.o Release/obj.target/dns_sd_bindings/src/dns_service_ref_sock_fd.o Release/obj.target/dns_sd_bindings/src/dns_service_register.o Release/obj.target/dns_sd_bindings/src/dns_service_resolve.o Release/obj.target/dns_sd_bindings/src/dns_service_update_record.o Release/obj.target/dns_sd_bindings/src/mdns_utils.o Release/obj.target/dns_sd_bindings/src/network_interface.o Release/obj.target/dns_sd_bindings/src/socket_watcher.o Release/obj.target/dns_sd_bindings/src/txt_record_ref.o Release/obj.target/dns_sd_bindings/src/txt_record_create.o Release/obj.target/dns_sd_bindings/src/txt_record_deallocate.o Release/obj.target/dns_sd_bindings/src/txt_record_set_value.o Release/obj.target/dns_sd_bindings/src/txt_record_get_length.o Release/obj.target/dns_sd_bindings/src/txt_record_buffer_to_object.o -Wl,--end-group -ldns_sd
/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/prebuilts/toolschain/usr/bin/../lib/gcc/arm-rkcvr-linux-uclibcgnueabihf/4.8.5/../../../../arm-rkcvr-linux-uclibcgnueabihf/bin/ld: /home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/prebuilts/toolschain/usr/bin/../lib/gcc/arm-rkcvr-linux-uclibcgnueabihf/4.8.5/crtbeginT.o: relocation R_ARM_MOVW_ABS_NC against `__TMC_END__' can not be used when making a shared object; recompile with -fPIC
/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/prebuilts/toolschain/usr/bin/../lib/gcc/arm-rkcvr-linux-uclibcgnueabihf/4.8.5/crtbeginT.o: error adding symbols: 错误的值
collect2: error: ld returned 1 exit status
make: *** [Release/obj.target/dns_sd_bindings.node] 错误 1
make:离开目录“/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns/build”
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/out/node-v4.3.2/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 3.13.0-138-generic
gyp ERR! command "/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/out/node-v4.3.2/bin/node" "/home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/out/node-v4.3.2/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "-V=1" "--target=v4.3.2" "--release" "--arch=arm" "--nodedir=../../../../../out/node-v4.3.2" "--devdir=../../../../../out/node-v4.3.2" "rebuild" "--silly"
gyp ERR! cwd /home/zjm/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns
gyp ERR! node -v v4.3.2
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
zjm@zjm:~/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns$ cd build/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>去掉static(不能和shared一起使用)
zjm@zjm:~/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns/build$ arm-linux-g++ -shared -pthread -rdynamic -O3 -Wl,-soname=dns_sd_bindings.node -o Release/obj.target/dns_sd_bindings.node -Wl,--start-group Release/obj.target/dns_sd_bindings/src/dns_sd.o Release/obj.target/dns_sd_bindings/src/dns_service_browse.o Release/obj.target/dns_sd_bindings/src/dns_service_enumerate_domains.o Release/obj.target/dns_sd_bindings/src/dns_service_get_addr_info.o Release/obj.target/dns_sd_bindings/src/dns_service_process_result.o Release/obj.target/dns_sd_bindings/src/dns_service_ref.o Release/obj.target/dns_sd_bindings/src/dns_service_ref_deallocate.o Release/obj.target/dns_sd_bindings/src/dns_service_ref_sock_fd.o Release/obj.target/dns_sd_bindings/src/dns_service_register.o Release/obj.target/dns_sd_bindings/src/dns_service_resolve.o Release/obj.target/dns_sd_bindings/src/dns_service_update_record.o Release/obj.target/dns_sd_bindings/src/mdns_utils.o Release/obj.target/dns_sd_bindings/src/network_interface.o Release/obj.target/dns_sd_bindings/src/socket_watcher.o Release/obj.target/dns_sd_bindings/src/txt_record_ref.o Release/obj.target/dns_sd_bindings/src/txt_record_create.o Release/obj.target/dns_sd_bindings/src/txt_record_deallocate.o Release/obj.target/dns_sd_bindings/src/txt_record_set_value.o Release/obj.target/dns_sd_bindings/src/txt_record_get_length.o Release/obj.target/dns_sd_bindings/src/txt_record_buffer_to_object.o -Wl,--end-group
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
zjm@zjm:~/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns/build$ ls Release/obj.target/
dns_sd_bindings dns_sd_bindings.node
zjm@zjm:~/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge/node_modules/mdns/build$ file Release/obj.target/dns_sd_bindings.node
Release/obj.target/dns_sd_bindings.node: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped
====================================================================================================================================================================
zjm@zjm:~/fu/workdir/rv1108/rv1108-cvr_firmware_20170505/routon/homebridge/homebridge$ grep -nr "standalone_static_library"
node_modules/mdns/build/config.gypi:48: "standalone_static_library": 1,
node_modules/ed25519/build/config.gypi:48: "standalone_static_library": 1,
node_modules/curve25519-n2/build/config.gypi:48: "standalone_static_library": 1,