大津です。
> uv_dlopen のエラーメッセージの詳細が出ていない件については
>
> ”uv_dlopen returns wrong error”
> https://github.com/joyent/libuv/issues/286#issuecomment-3330574
>
> で Ben がコメントしていますが ad hoc な解決にしたくないということで現状のままです。
ちょっと時間がたってしまいましたが、今朝出た 0.7.6 で下記の通り詳細なエラーが出るように対応しました。(結局 libuv
のAPIを拡張することになりましたが。)
$ ./node -e "require('./test/fixtures/module-loading-error.node')"
module.js:313
throw err;
^
Error: /var/tmp/node-v0.7.6/test/fixtures/module-loading-error.node:
file too short
at Object..node (module.js:476:11)
at Module.load (module.js:352:32)
(以下略)
これでアドオンでネイティブモジュールの読み込みに失敗した場合の原因追及が以前よりしやすくなりました。
また 0.7.6 ではアドオン周りを TooTallNate さんがいくつか修正されて、今後の形が見えてきました。
「gyp による Addon 向けネイティブモジュールの作成」について先ほどブログに書きましたので興味のある方は参考にしてください。
http://d.hatena.ne.jp/jovi0608/