It turns out that this problem was caused by libc6-amd64 being installed (this 
package was pulled in as a dependency of another package). On a amd64 system 
this does not make sense as the libc6-amd64 package is not "there", its 
contents is provided by the libc6 package.
Installing libc6-amd64 replaces the symlink from ld-linux-x86-64.so.2 to 
/lib/x86_64-linux-gnu/ld-2.17.so normally found in /lib64 with a real file 
version of ld-2.17.so - and makes valgrind not work.

Removing libc6-amd64 and restoring the correct symlink fixes valgrind.
The recipe for doing this is:
1) Close everything (you'll be rebooting in a few sec.)
2) Half-remove libc6-amd64: apt-get remove libc6-amd64 (this causes ld-2.17.so 
to disappear, so you can't run any commands after this).
3) Reboot the system using a live-cd.
4) Recreate the correct symlink: ln -s /lib/x86_64-linux-gnu/ld-2.17.so 
/lib64/ld-linux-x86-64.so.2
6) Reboot the system (normal boot)
7) You can now completely remove the libc6-amd64 package.

The real bug in this is that it is possible to install libc6-amd64 on a
amd64 system in the first place. This should definitely be blocked.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1247026

Title:
  valgrind does not work on amd64 (strlen missing)

To manage notifications about this bug go to:
https://bugs.launchpad.net/valgrind/+bug/1247026/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to