首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >/usr/bin/ld:在redhat上找不到/usr/lib64/libasan.so.0.0.0

/usr/bin/ld:在redhat上找不到/usr/lib64/libasan.so.0.0.0
EN

Stack Overflow用户
提问于 2019-06-18 23:12:39
回答 2查看 5.8K关注 0票数 6

我通常在我的c/c++程序中使用valgrind,但人们一直在推荐地址消毒器,所以我想测试它,但我在redhat系统上链接它时遇到了问题。

我得到了以下代码:

$ cat heap-use-after-after.cpp

代码语言:javascript
运行
复制
int main(int argc, char **argv) {
  int *array = new int[100];
  delete [] array;
  return array[argc];  // BOOM
}

编译方式如下:

$ g++ -O -g -fsanitize=address -释放后使用.cpp

代码语言:javascript
运行
复制
/usr/bin/ld: cannot find /usr/lib64/libasan.so.0.0.0
collect2: error: ld returned 1 exit status

在我安装libasan的redhat上

代码语言:javascript
运行
复制
sudo yum install libasan
[sudo] password for dingdongsong: 
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
rh-network-tools-rhel-x86_64-server-7-prod                                                                                                                                                                                                           | 1.5 kB  00:00:00     
rhel-x86_64-server-7-custom-prod                                                                                                                                                                                                                     | 1.0 kB  00:00:00     
rhel-x86_64-server-7-epel-prod                                                                                                                                                                                                                       | 1.5 kB  00:00:00     
rhel-x86_64-server-7-prod                                                                                                                                                                                                                            | 1.5 kB  00:00:00     
rhel-x86_64-server-7-rhscl-1-prod                                                                                                                                                                                                                    | 1.5 kB  00:00:00     
rhel-x86_64-server-7-thirdparty-oracle-java-prod                                                                                                                                                                                                     | 1.5 kB  00:00:00     
rhel-x86_64-server-extras-7-prod                                                                                                                                                                                                                     | 1.5 kB  00:00:00     
rhel-x86_64-server-optional-7-prod                                                                                                                                                                                                                   | 1.5 kB  00:00:00     
rhel-x86_64-server-supplementary-7-prod                                                                                                                                                                                                              | 1.5 kB  00:00:00     
Package libasan-4.9.2-6.2.el7.x86_64 already installed and latest version
Nothing to do

具有以下libasan共享对象:

$ locate libasan

代码语言:javascript
运行
复制
/opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/32/libasan.a
/opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/32/libasan.so
/opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/32/libasan_preinit.o
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/libasan.so
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/libasan_preinit.o
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libasan.a
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libasan.so
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libasan_preinit.o
/usr/lib64/libasan.so.1
/usr/lib64/libasan.so.1.0.0

谁能给我指个正确的方向。

谢谢

EN

Stack Overflow用户

发布于 2019-06-18 23:31:08

看起来它正在寻找一个比你更早的库版本。试着这样做,看看它是怎么说的:

代码语言:javascript
运行
复制
sudo yum install /usr/lib64/libasan.so.0.0.0

另外,您确定您的gcc-c++包版本是最新的吗?

我在CentOS 7容器中运行的libasan包的版本是:libasan-4.8.5-36.el7_6.2.x86_64

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

https://stackoverflow.com/questions/56652211

复制
相关文章

相似问题

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