首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在AWS官方的Rocky Linux上安装静态库(如libstdc++、libm、libc)?

如何在AWS官方的Rocky Linux上安装静态库(如libstdc++、libm、libc)?
EN

Stack Overflow用户
提问于 2022-08-04 21:09:57
回答 2查看 466关注 0票数 0

Rocky是一个免费发行版,它重新打包了RHEL ()的每个版本。这就是CentOS过去的样子。

在AWS上有Rocky Linux 8 Green Obsidian (当前8.6 = RHEL 8.6)和Rocky Linux 9 Blue Onyx (当前9.0 = RHEL 9.0)的官方版本。

我正在使用g++ (gcc)。

在Rocky Linux8.6上: g++ (GCC) 8.5.0 20210514 (红帽8.5.0-10)

在Rocky Linux9.0上: g++ (GCC) 11.2.1 20220127 (红帽11.2.1-9)

具有动态连接的建筑物工作良好。在其他地方(例如,Ubuntu)使静态链接的构建工作得很好。

但是在Rocky平台(8或9)上似乎缺少了一些静态库,这会导致在尝试使用-static链接构建时出现错误消息。

代码语言:javascript
复制
/usr/bin/ld: cannot find -lstdc++
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lc

查看整个系统中任何lib*.a的静态链接,我确实发现

代码语言:javascript
复制
/usr/lib/gcc/x86_64-redhat-linux/8/32/libstdc++.a

不过,我认为这是为"32“位构建,而不是64位。我确实找到了用于动态链接的libm.so和libc.so,但是没有用于静态链接的libm.a或libc.a库。

使用yum,我找不到任何具有或提供libstdc++-静态的包。

gcc.x86_64和glibc-devel.x86_64已经安装好了。

需要什么才能获得静态构建所需的静态库?

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-04 21:15:24

libstdc++-static包位于CRB (CodeReady Builder)存储库中。您可以这样安装:

9

代码语言:javascript
复制
dnf --enablerepo=crb install libstdc++-static

8

代码语言:javascript
复制
dnf --enablerepo=powertools install libstdc++-static
票数 0
EN

Stack Overflow用户

发布于 2022-08-09 21:17:52

提供了一个答案,使相关回购仅针对具体安装。

作为另一种选择,如果您希望由于某种原因(例如,为了多个安装或操作)而使回购保持启用,则还可以执行以下操作。

9

代码语言:javascript
复制
sudo dnf config-manager --set-enabled crb

8

代码语言:javascript
复制
sudo dnf config-manager --set-enabled powertools

然后,您可以使用任何数量的命令,需要回购才能启用。

代码语言:javascript
复制
sudo dnf install -y libstdc++-static

..。

代码语言:javascript
复制
sudo dnf install -y glibc-static
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73242249

复制
相关文章

相似问题

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