缺少单独的debuginfos,请使用:debuginfo-install glibc-2.12-1.47.el6_2.9.i686 libgcc-4.4.6-3.el6.i686 libstdc ++ - 4.4.6-3.el6.i686

时间:2012-04-30 20:15:24

标签: gdb centos

CentOS 6.2 + GNU gdb(GDB)红帽企业Linux(7.2-50.el6)

当我用GDB调试一个简单的c ++代码时,我看到了以下警告:

Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.47.el6_2.9.i686 libgcc-4.4.6-3.el6.i686 libstdc++-4.4.6-3.el6.i686

我尝试了以下方法,但没有一种能解决问题:

  1. 搜索SO

  2. yum install glibc

  3. debuginfo-install glibc-2.12-1.47.el6_2.9.i686 libgcc-4.4.6-3.el6.i686 libstdc++-4.4.6-3.el6.i686

  4. 事实上,当我逐个安装这些RPM时,我才意识到它们已经安装好了。

    [root@localhost Excluded]# rpm -ivh glibc-2.12-1.47.el6_2.9.i686.rpm 
    Preparing...                ########################################### [100%]
        package glibc-2.12-1.47.el6_2.9.i686 is already installed
    [root@localhost Excluded]# ls *.rpm
    glibc-2.12-1.47.el6_2.9.i686.rpm  libgcc-4.4.6-3.el6.i686.rpm
    [root@localhost Excluded]# rpm -ivh libgcc-4.4.6-3.el6.i686.rpm 
    Preparing...                ########################################### [100%]
        package libgcc-4.4.6-3.el6.i686 is already installed
    [root@localhost Excluded]# rpm -ivh libstdc++-4.4.6-3.el6.i686.rpm 
    warning: libstdc++-4.4.6-3.el6.i686.rpm: Header V4 DSA/SHA1 Signature, key ID 192a7d7d: NOKEY
    Preparing...                ########################################### [100%]
        package libstdc++-4.4.6-3.el6.i686 is already installed
        file /usr/lib/libstdc++.so.6.0.13 from install of libstdc++-4.4.6-3.el6.i686 conflicts with file from package libstdc++-4.4.6-3.el6.i686
    

    为什么GDB找不到它?

    问题:我是否要担心这个问题?如果没有,如何将其关闭?如果是的话,如何解决?

    谢谢

3 个答案:

答案 0 :(得分:90)

debuginfo-installyum-utils的命令,所以

  1. yum install yum-utils
  2. debuginfo-install glibc
  3. 如果警告仍然存在,请修改/etc/yum.repos.d/CentOS-Debuginfo.repo,设置enabled=1

答案 1 :(得分:0)

如果其他人遇到同样的问题,

我已经更新了glibc,不知怎的,旧的ldconfig已被刷新 在运行应用程序时遇到此错误

  加载共享库时出现

错误:libjson-c.so.2:无法打开共享对象文件:没有这样的文件或目录

即使在设置LD_LIBRARY_PATH之后它也无效:

LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH

最后,下面的命令得到了拯救。

// Add you library path here.
echo /usr/local/lib >> /etc/ld.so.conf

// And then Run ldconfig to reflect the path
ldconfig

答案 2 :(得分:0)

接受的答案的顺序对我不起作用。

我遵循了注释中的一些技巧,这是我在全新安装的CentOS 7.2中尝试并成功完成的工作

  1. 根据@lkraav的评论,我遵循了这个维基https://wiki.centos.org/AdditionalResources/Repositories/DebugInfo并创建了一个新文件。

以下内容可以附加到/etc/yum.repos.d/CentOS-Base.repo或创建的新文件中,例如/etc/yum.repos.d/CentOS-Debug.repo

  1. 我将这些内容从Wiki粘贴到了新的/etc/yum.repos.d/CentOS-Debug.repo文件中,但是将enabled=0行编辑为enabled=1

  2. debuginfo-install一切都在gdb警告中显示并成功安装。