我在上一个问题中没有给出太多信息。
我从http://code.google.com/p/llv8call/ v0.4构建了llv8call。我已经安装了已知的依赖项,即libxml-2.0和libreadline。我的开发系统是MacOSX10.5。llv8call是用Scons构建的。
当我试图通过./llv8call运行llv8call时,我得到了这个错误:
library loading error: org.coderepos.env is not found in : (loadBinary)我不确定如何排除此错误。作者还没有回复我。我需要一些关于如何解决这个问题的技巧,而不是一个明确的答案,尽管如果有人有一个,它是非常受欢迎的。
这些文件安装在/usr/local/llv8call中。在llv8call/lib/llv8call/org/coderepos下有一个目录结构,但它不包含"env“目录。我的第一个猜测是,无论它在org.coderepos.env中寻找什么库,都应该在这条路径上,但"env“并不存在。如果这听起来合理,这可能是一个我应该开始寻找的地方,但我需要确认。
发布于 2009-01-03 05:21:57
你的直觉似乎是对的。执行grep:
grep -r "org.coderepos" *|less我看到它检查org.coderepos下的许多“库”。此外,在preload_builtin_classes函数的src/main.cc中,我们可以看到:
Handle<Value> args[1];
args[0] = String::New("org.coderepos.fs");
loadBinary->Call(v8ext, 1, args);
args[0] = String::New("org.coderepos.env");
loadBinary->Call(v8ext, 1, args);
if (try_catch.HasCaught()) {
String::Utf8Value error(try_catch.Exception());
fprintf(stderr, "library loading error: %s\n", *error);
exit(2);
}朋友,那是你的确凿证据。
发布于 2009-08-27 06:21:26
它正在/org/coderepos目录中查找一个名为env (即libenv.so)的库。
可以使用make /org/coderepos并将库复制到其中,也可以让动态链接器在其他地方查找/org/coderepos内容。
发布于 2009-10-07 17:28:44
我通过在我的llv8call源目录的顶层目录中执行以下操作修复了这个问题(在运行scons构建所有内容之后):
mkdir -p out/lib/llv8call/org/coderepos
find ext -name \*.dylib -exec cp {} out/lib/llv8call/org/coderepos \;"dtruss -f test.sh“有助于找到v8查找库的位置。
https://stackoverflow.com/questions/408627
复制相似问题