debugging ld, “Inconsistency detected by ld.so”

落爺英雄遲暮 提交于 2019-12-01 04:23:13

Inconsistency detected by ld.so: dl-version.c: 224: _dl_check_map_versions: Assertion 'needed != ((void *)0)' failed!

This is a bug in glibc, or a corruption in one of your shared libraries. The glibc code reads:

  while (1)
  {
     ElfW(Vernaux) *aux;
     struct link_map *needed = find_needed (strtab + ent->vn_file, map);

     /* If NEEDED is NULL this means a dependency was not found
        and no stub entry was created.  This should never happen.  */
     assert (needed != NULL);
 ...

Your options at this point are:

  • reinstall and verify md5sums for all libraries involved to rule out on-disk corruption, and
  • install debuginfo package for glibc, and try to understand which library and which symbol version is triggering the assertion, or
  • report this in appropriate bug tracker for your Linux distro.

Setting LD_DEBUG=symbols,bindings or even LD_DEBUG=all may also provide some clues on exactly which symbols are being looked up.

I got kind of a similar error. All I did was to open a new terminal and run the python code again.

That worked for me.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!