3

OSX Mountain Lion の下の Mac で、nodejs からハイチャート エクスポーター「dali」を実行しようとしています。

次のエラーが表示されます。

module.js:485
    process.dlopen(filename, module.exports);
      ^
Error: dlopen(/Users/greg/node_modules/daemon/lib/daemon.v0.8.8.node, 1): no suitable image found.  Did find:
/Users/greg/node_modules/daemon/lib/daemon.v0.8.8.node: mach-o, but wrong architecture
at Object.Module._extensions..node (module.js:485:11)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/Users/greg/node_modules/daemon/lib/daemon.js:12:11)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)

重要な部分は次のとおりです。「間違ったアーキテクチャ」

私が実行した場合:

lipo -info /Users/greg/node_modules/daemon/lib/daemon.v0.8.8.node

戻り値:

Non-fat file: /Users/greg/node_modules/daemon/lib/daemon.v0.8.8.node is architecture: i386

x64 バージョンが必要だと思います。

このライブラリの 64 ビット バージョンを入手してインストールするにはどうすればよいですか?

4

1 に答える 1

0

この対話は約 1 か月ほど前に行われたと思います。C++で書かれたnodejsアドオンを実行する際に、元のポスターと同じ問題があります。

ただし、単一のアーキテクチャ ファイルを作成するために、一般的なファイル形式で lipo が使用されます。「Non-fat file...」というメッセージは、ファイルがユニバーサル (fat) ファイル形式ではないことを示していると確信しています。lipo はファット ファイルのみを受け入れるため、lipo はファイルに対して何もする必要がありません。

macho-o バイナリを少し掘り下げて、ヘッダーを確認しました。ファイルは aa mach bundle とマークされていますが、これは私が期待したものではありません。

wscript ビルド ファイルを使用して、NodeJS node-waf プログラムを介してファイルをビルドしました。現在、私の問題は解決されていません。私は NodeJS とビルド用の WAF wscript ファイルの両方に不慣れです。

于 2012-10-03T21:34:43.000 に答える