首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何避免对libssl.so.10和libcrypt.so.10的依赖

如何避免对libssl.so.10和libcrypt.so.10的依赖
EN

Stack Overflow用户
提问于 2021-03-11 23:43:46
回答 1查看 141关注 0票数 1

我的方便的小rust二进制文件在编译并在几乎所有系统上运行时都工作得很好,除了我需要它运行的Ubuntu18.04。你可能会问,为什么?

代码语言:javascript
复制
error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory

不管它有什么价值,我确定它之前一直在抱怨libssl.so.10 -不确定我做了什么让它消失了。

无论如何,我认为传统的修复方法是更新libssl -出于某些原因,我不会在这里赘述,在这种情况下我不能这么做。我也尝试过符号链接libcrypt.so.1.0.0-这只会导致对缺少版本的抱怨。

因此,我希望有一种方法可以将这种依赖绑定到二进制文件中,而不是依赖于运行时系统上的可用的依赖项。我一点也不确定该怎么做;有人能给我建议吗?

代码语言:javascript
复制
[dependencies]
async-trait = "0.1.48"
clap = "3.0.0-beta.2"
futures = "0.3"
rusoto_credential = "0.46.0"
rusoto_core = { version="0.46.0" }
rusoto_lambda = "0.46.0"
rusoto_sts = "0.46.0"
serde = "0.9"
serde_json = "0.9"
serde_derive = "0.9"
tokio = { version = "1", features = ["full"] }
EN

回答 1

Stack Overflow用户

发布于 2021-03-12 00:17:25

只需将以下内容添加到您的依赖项中:

代码语言:javascript
复制
openssl = { version = "0.10", features = ["vendored"] }

瞧吧:

代码语言:javascript
复制
$ ldd target/debug/ssltest
        linux-vdso.so.1 (0x00007fffa538c000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f7ab1a67000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f7ab1a44000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f7ab1a3e000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7ab184c000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f7ab2a07000)

参见openssl crate documentation

如果启用了vendored Cargo功能,openssl-src机箱将用于编译并静态链接到OpenSSL的副本。

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

https://stackoverflow.com/questions/66585798

复制
相关文章

相似问题

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