deathcap / wsmc

WebSocket proxy to Minecraft
33 stars 10 forks source link

dyld: lazy symbol binding failed: Symbol not found: __ZN2v811HandleScopeC1Ev #17

Closed deathcap closed 9 years ago

deathcap commented 9 years ago

After restarting wsmc, getting these link errors seemingly out of nowhere:

wsmc $ npm start

> wsmc@0.0.1 start /Users/admin/games/voxeljs/wsmc
> NODE_DEBUG=mc-proto node wsmc.js

dyld: lazy symbol binding failed: Symbol not found: __ZN2v811HandleScopeC1Ev
  Referenced from: /Users/admin/games/voxeljs/wsmc/node_modules/ws/build/Release/bufferutil.node
  Expected in: dynamic lookup

dyld: Symbol not found: __ZN2v811HandleScopeC1Ev
  Referenced from: /Users/admin/games/voxeljs/wsmc/node_modules/ws/build/Release/bufferutil.node
  Expected in: dynamic lookup

Trace/BPT trap: 5

https://github.com/mapnik/node-mapnik/wiki/Troubleshooting says:

Symbol not found: HandleScope

dyld: lazy symbol binding failed: Symbol not found: __ZN2v811HandleScopeC1Ev
  Referenced from: /Users/dane/projects/node-mapnik/lib/binding/node-v11-darwin-x64/mapnik.node
  Expected in: flat namespace
This can happen if node was compiled with -fvisibility=hidden which appears not to be supported currently: https://github.com/joyent/node/pull/4274. Note: I've found that -fvisibility=hidden and/or -flto work fine when compiling node-mapnik and node itself: its just that when node is compiled with -fvisibility=hidden then this breaks node-mapnik (and likely all c++ addons).
deathcap commented 9 years ago

Unknown what caused this, but reinstalling ws recompiled bufferutil and fixed the link error:

wsmc $ npm install ws
|
> ws@0.4.32 install /Users/admin/games/voxeljs/wsmc/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)

  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
  SOLINK_MODULE(target) Release/bufferutil.node
  SOLINK_MODULE(target) Release/bufferutil.node: Finished
  CXX(target) Release/obj.target/validation/src/validation.o
  SOLINK_MODULE(target) Release/validation.node
  SOLINK_MODULE(target) Release/validation.node: Finished
ws@0.4.32 node_modules/ws
├── tinycolor@0.0.1
├── options@0.0.6
├── commander@2.1.0
└── nan@1.0.0
wsmc $ npm start

> wsmc@0.0.1 start /Users/admin/games/voxeljs/wsmc
> NODE_DEBUG=mc-proto node wsmc.js

WS(0.0.0.0:24444) <--> MC(localhost:25565)