はじめまして、内山と申します。
値が返るだけの簡単な自作addonをnode ver.0.6.12 で試しています。
ところがchild process.fork()のsubで呼ばれる方でrequireするとUnable to load shared
libraryが出てしまいます。
同じ経験もしくは解決方法をご存じの方がいらっしゃれば教えていただけたらと思います。
以下ソース
[addon.cc]
--------------------------------------------------------------------------------------
#include <v8.h>
#include <node.h>
using namespace v8;
Handle<Value> TEST1 (const Arguments& args) {
HandleScope scope;
double data=3.14;
return Number::New((double)data);
}
extern "C" void init (Handle<Object> target) {
HandleScope scope;
NODE_SET_METHOD(target, "uchi_test", TEST1);
}
--------------------------------------------------------------------------------------
[fork.js]
------------------------------------------------------------------
var cp = require('child_process');
var n = cp.fork(__dirname + '/sub.js');
------------------------------------------------------------------
[sub.js]
---------------------------------------------------------------------------------
var pv = require('./build/Release/addon');
setInterval(function(){
console.log(pv.uchi_test()); <-- sub.js単体で動作させるとconsole.logは無事出力
},1000);
---------------------------------------------------------------------------------
% node fork.js
Error: Unable to load shared library /root/uchi/node/add_on_test/build/
Release/addon.node
宜しくお願い致します。