1,编译源码,发现v8::Handle未声明的错误,经过多方调查,发现是node的版本的问题,可以用node 10.16.0,这个坑里面爬了一整天,也考虑过直接复制 ~/.cache/node-gyp/下面的正确版本号目录里面的内容,不料安装好指定版本的node之后,自动创建了这个目录,真是神奇。
2,usrsctp编译遇到错误,经过检查,是编译选项太拉风的原因,修改/root/Projects/owt-server/build/libdeps/usrsctp/configure 12143行,去掉 -Werror选项,可以过关。
3,check的时候遇到错误:
[FAIL] videoTranscoder-sw.node Error: /root/Projects/owt-server/source/agent/video/videoTranscoder/videoTranscoder_sw/build/Release/videoTranscoder-sw.node: undefined symbol: _ZTVN6webrtc21TemporalLayersFactoryE
at Object.Module._extensions..node (internal/modules/cjs/loader.js:805:18)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:690:17)
at require (internal/modules/cjs/helpers.js:25:18)
at /root/Projects/owt-server/scripts/module_test.js:33:11
at Array.map (<anonymous>)
at /root/Projects/owt-server/scripts/module_test.js:31:10
at ChildProcess.exithandler (child_process.js:285:7)
[FAIL] videoAnalyzer-sw.node Error: /root/Projects/owt-server/source/agent/video/videoTranscoder/videoAnalyzer_sw/build/Release/videoAnalyzer-sw.node: undefined symbol: _ZTVN6webrtc21TemporalLayersFactoryE
at Object.Module._extensions..node (internal/modules/cjs/loader.js:805:18)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:690:17)
at require (internal/modules/cjs/helpers.js:25:18)
at /root/Projects/owt-server/scripts/module_test.js:33:11
at Array.map (<anonymous>)
at /root/Projects/owt-server/scripts/module_test.js:31:10
at ChildProcess.exithandler (child_process.js:285:7)
[FAIL] videoMixer-sw.node Error: /root/Projects/owt-server/source/agent/video/videoMixer/videoMixer_sw/build/Release/videoMixer-sw.node: undefined symbol: _ZTVN6webrtc21TemporalLayersFactoryE
at Object.Module._extensions..node (internal/modules/cjs/loader.js:805:18)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:690:17)
at require (internal/modules/cjs/helpers.js:25:18)
at /root/Projects/owt-server/scripts/module_test.js:33:11
at Array.map (<anonymous>)
at /root/Projects/owt-server/scripts/module_test.js:31:10
at ChildProcess.exithandler (child_process.js:285:7)
研究发现是因为libwebrtc.a打包的问题,漏掉了部分的.o文件,自己手动打包就Ok了
4,启动的时候遇到mongo错误:
(node:19449) DeprecationWarning: Mongoose: `findOneAndUpdate()` and `findOneAndDelete()` without the `useFindAndModify` option set to false are deprecated. See: https://mongoosejs.com/docs/deprecations.html#findandmodify
Authentication failed.
Authentication failed.
百度搜索的结果是在mongo入口文件加上:
mongoose.set('useFindAndModify', false)