Created attachment 516498 [details] strace unsymlink-lib-12 aborts on a non-multilib amd64 system: # unsymlink-lib --analyze /usr/lib needs to be a symlink to lib64! zsh: exit 1 unsymlink-lib --analyze ls -al /usr/lib /lib lrwxrwxrwx 1 root root 5 20. Nov 18:47 /lib -> lib64 lrwxrwxrwx 1 root root 10 23. Jan 23:35 /usr/lib -> /usr/lib64 attached is a strace
% tar -tvf stage3-amd64-nomultilib-20180116T214503Z.tar.xz | grep "/lib ->" lrwxrwxrwx root/root 0 2018-01-16 21:11 ./usr/local/lib -> lib64 lrwxrwxrwx root/root 0 2018-01-16 21:11 ./usr/lib -> lib64 lrwxrwxrwx root/root 0 2018-01-16 23:01 ./lib -> lib64 It seems that the /usr/lib symlink on your system is weird on your system in particular. Perhaps you manually deleted/re-created it at some point?
Good point. I replaced these symlinks with relative ones, which does work. Probably happened at some point while I moved the multilib system to no-multilib. As far as I'm concerned this can be closed, perhaps it would be good to print a better error, but I'm not sure that's worth the trouble if it only happens on systems where something has been replaced manually. This works: # ls -al /usr/local/lib /usr/lib /lib lrwxrwxrwx 1 root root 5 24. Jan 20:25 /lib -> lib64 lrwxrwxrwx 1 root root 5 24. Jan 20:25 /usr/lib -> lib64 lrwxrwxrwx 1 root root 5 4. Sep 2014 /usr/local/lib -> lib64
Ah yeah, and: Thanks!
I guess it's better if it fails like this, and people realize there's something wrong. If someone edited symlinks, it's quite possible he also edited something more, and it's better he realizes something is fishy than ends up with broken system.