使用rustbook工具时如何解决librustdoc.so问题?

时间:2017-01-01 16:50:51

标签: linux rust

我用过

cargo install --git https://github.com/steveklabnik/rustbook.git

成功安装了rustbook,但是当我运行rustbook时出现错误:

rustbook: error while loading shared libraries: librustdoc-c0dcaea09a16c7ec.so: cannot open shared object file: No such file or directory

但我可以找到这个.so文件。

./.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustdoc-c0dcaea09a16c7ec.so
./.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustdoc-c0dcaea09a16c7ec.so

如何让rustbook知道librustdoc-c0dcaea09a16c7ec.so的路径?

  • rustc 1.16.0-nightly(4ecc85beb 2016-12-28)
  • rustdoc 1.16.0-nightly(4ecc85beb 2016-12-28)

rustup show

Default host: x86_64-unknown-linux-gnu
nightly-x86_64-unknown-linux-gnu (default)
rustc 1.16.0-nightly (4ecc85beb 2016-12-28)

2 个答案:

答案 0 :(得分:1)

这似乎是一个已知的生锈问题(#350#765),特别是围绕货物安装的二进制文件,这些二进制文件是针对夜间工具链编译的。如果您的应用程序需要每晚进行编译,那么除了rustup run nightly myprogram之外,您所做的事情并不多。这将使用适当的环境启动程序。

如果应用程序不需要每晚Rust,请使用稳定的工具链进行安装。

答案 1 :(得分:0)

将包含您的共享库的目录列入/usr/lib,或者从已列在其中的路径中创建符号链接,或者从/usr/local/libld.so.conf更好,但也许您必须将其添加到module.exports = { val:null, get:function(){ var that = this; return new Promise(function(resolve, reject) { that.finddata('/', function(resp){ that.val = resp; resolve() }) }); }, finddata :function(path,callback){ setTimeout(function() { console.log("Lets wait for some time"); callback(10); }, 100) } } 中的列表中,因此这将是情况1)。