簡體   English   中英

ZMQ構建出現“ dyld:懶惰的符號綁定失敗:找不到符號:”的原因?

[英]Cause of “dyld: lazy symbol binding failed: Symbol not found:” error from ZMQ build?

我正在OSX 10.9.5上本地開發Meteor應用程序。

我收到此錯誤:

 dyld: lazy symbol binding failed: Symbol not found: _node_module_register

我相信這與zmq軟件包有關。 錯誤的更多信息:

Referenced from: /Users/user/node_modules/zmq/build/Release/zmq.node

我試過了:

除非絕對必要,否則我不願測試可能的問題(因為它需要完全升級。我使用的是較舊的計算機。):

警告:錯誤:dyld:惰性符號綁定失敗:找不到符號:_objc_autoreleasePoolPush

Git> dyld:懶惰的符號綁定失敗:找不到符號:_iconv_open

在較新版本的OSX下編譯的zmq? (我使用的是10.9.5。除非絕對必要,否則升級不是一個可行的選擇。)

如果這是問題...。

nm未找到符號時,處理“ dyld:惰性符號綁定失敗:未找到符號”錯誤

...我如何將庫靜態鏈接到zmq ???

完整錯誤:

=> App running at: http://localhost:3000/
W20151202-10:02:42.764(2)? (STDERR) dyld: lazy symbol binding failed: Symbol not found: _node_module_register
W20151202-10:02:42.766(2)? (STDERR)   Referenced from: /Users/user/node_modules/zmq/build/Release/zmq.node
W20151202-10:02:42.766(2)? (STDERR)   Expected in: dynamic lookup
W20151202-10:02:42.766(2)? (STDERR) 
W20151202-10:02:42.767(2)? (STDERR) dyld: Symbol not found: _node_module_register
W20151202-10:02:42.767(2)? (STDERR)   Referenced from: /Users/user/node_modules/zmq/build/Release/zmq.node
W20151202-10:02:42.767(2)? (STDERR)   Expected in: dynamic lookup
W20151202-10:02:42.767(2)? (STDERR) 
=> Exited from signal: SIGTRAP

我已經嘗試解決這一問題超過一天了。 任何幫助,將不勝感激。

我能夠通過刪除node_modules文件夾來解決此問題,然后運行

$ meteor npm install

(評論摘要,對於其他感興趣的人;由於我沒有任何親身體驗Meteor的經驗,我的解決方案可能是錯誤的,在這種情況下,請隨時糾正我:)

流星帶有自己的nodenpm可執行文件集。 如果要使用依賴於插件的 Node模塊(例如zmq ,則需要確保這些模塊與Meteor提供的可執行文件一起安裝; 否則,您可能會遇到問題(盡管如果安裝與Meteor使用的相同版本的Node,它可能會起作用,它們似乎是node@0.10.40npm@1.4.28 ,盡管我不知道Meteor可執行文件是“普通”節點/ npm或已修補)。

可執行文件可以在.meteor目錄中找到。 對於OS X,它們位於~/.meteor/packages/meteor-tool/1.1.10/mt-os.osx.x86_64/dev_bundle/bin/ (盡管我認為版本號可能會有所不同)。

確保使用Meteor可執行文件而不是全局安裝的Node / npm的簡便方法是,可以將該目錄添加到$PATH的開頭:

$ export PATH=~/.meteor/packages/meteor-tool/1.1.10/mt-os.osx.x86_64/dev_bundle/bin/:$PATH

之后,在同一個Shell會話中, nodenpm現在都應指向流星提供的版本,您可以使用它們安裝插件:

$ npm install zmq

我對此錯誤的理解是,用於安裝/運行node.js代碼的節點版本之間不匹配。

我遇到這個問題是因為我在節點5上安裝了npm,但是我的運行配置是節點0.11.something。

我將運行配置切換為使用節點5,問題消失了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM