debugging ld, "Inconsistency detected by ld.so" debugging ld, "Inconsistency detected by ld.so" linux linux

debugging ld, "Inconsistency detected by ld.so"


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.