[Topic DIscussion] 编译别人的项目出现 ‘GLIBC_2.29' not found 怎么处理
Tofloor
poster avatar
野山菌
deepin
2022-04-09 22:02
Author

在b站看的视频教程,跟着编译项目报错的,平时写c#,不太懂c++的东西,这种怎么处理

升级libc吗,apt search 没有更高版本的了

Reply Favorite View the author
All Replies
enforcee
deepin
2022-04-09 23:27
#1

改glibc有风险,如果一定要升级系统的glibc尽量准备一个备用的系统方便及时修复。所有的程序都是和glibc相关的,包括shell和gnu coreutils。

可以尝试用LD_PRELOAD等方法让程序加载其他位置的动态库。

Reply View the author
whoam1
deepin
2022-04-09 23:28
#2

用docker吧

Reply View the author
北冥夜未央
deepin
Ecological co-builder
2022-04-09 23:47
#3

这是软件需要GLIBC库2.29版,系统自带的是2.28版,可以自己下载.so库文件,然后编译的时候指定加载库文件路径:

使用gcc的-R或-rpath选项来在编译时就指定库的查找路径。

如果是Qt Creator编译,可以在.pro文件中加入:

unix:!mac:QMAKE_LFLAGS += -Wl,--rpath=路径

Reply View the author
野山菌
deepin
2022-04-12 07:38
#4
enforcee

改glibc有风险,如果一定要升级系统的glibc尽量准备一个备用的系统方便及时修复。所有的程序都是和glibc相关的,包括shell和gnu coreutils。

可以尝试用LD_PRELOAD等方法让程序加载其他位置的动态库。

好像也没找到怎么升级的,我下载2.29的glic编译放在一个单独目录了

Reply View the author
野山菌
deepin
2022-04-12 07:38
#5
whoam1

用docker吧

好的,我先了解下docker

Reply View the author
野山菌
deepin
2022-04-12 07:49
#6
北冥夜未央

这是软件需要GLIBC库2.29版,系统自带的是2.28版,可以自己下载.so库文件,然后编译的时候指定加载库文件路径:

使用gcc的-R或-rpath选项来在编译时就指定库的查找路径。

如果是Qt Creator编译,可以在.pro文件中加入:

unix:!mac:QMAKE_LFLAGS += -Wl,--rpath=路径

image.png

我把原来的libm.so.6 ln 到生成的libm.2.29.so 后。有新的报错 了

是还要装什么吗

Reply View the author