首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mac上的llv8call -第二次尝试

Mac上的llv8call -第二次尝试
EN

Stack Overflow用户
提问于 2009-01-03 04:56:11
回答 3查看 119关注 0票数 2

我在上一个问题中没有给出太多信息。

我从http://code.google.com/p/llv8call/ v0.4构建了llv8call。我已经安装了已知的依赖项,即libxml-2.0和libreadline。我的开发系统是MacOSX10.5。llv8call是用Scons构建的。

当我试图通过./llv8call运行llv8call时,我得到了这个错误:

代码语言:javascript
复制
library loading error: org.coderepos.env is not found in : (loadBinary)

我不确定如何排除此错误。作者还没有回复我。我需要一些关于如何解决这个问题的技巧,而不是一个明确的答案,尽管如果有人有一个,它是非常受欢迎的。

这些文件安装在/usr/local/llv8call中。在llv8call/lib/llv8call/org/coderepos下有一个目录结构,但它不包含"env“目录。我的第一个猜测是,无论它在org.coderepos.env中寻找什么库,都应该在这条路径上,但"env“并不存在。如果这听起来合理,这可能是一个我应该开始寻找的地方,但我需要确认。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-01-03 05:21:57

你的直觉似乎是对的。执行grep:

代码语言:javascript
复制
grep -r "org.coderepos" *|less

我看到它检查org.coderepos下的许多“库”。此外,在preload_builtin_classes函数的src/main.cc中,我们可以看到:

代码语言:javascript
复制
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);
}

朋友,那是你的确凿证据。

票数 1
EN

Stack Overflow用户

发布于 2009-08-27 06:21:26

它正在/org/coderepos目录中查找一个名为env (即libenv.so)的库。

可以使用make /org/coderepos并将库复制到其中,也可以让动态链接器在其他地方查找/org/coderepos内容。

票数 0
EN

Stack Overflow用户

发布于 2009-10-07 17:28:44

我通过在我的llv8call源目录的顶层目录中执行以下操作修复了这个问题(在运行scons构建所有内容之后):

代码语言:javascript
复制
mkdir -p out/lib/llv8call/org/coderepos
find ext -name \*.dylib -exec cp {} out/lib/llv8call/org/coderepos \;

"dtruss -f test.sh“有助于找到v8查找库的位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/408627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档