Comment 23 for bug 877793

Revision history for this message
Steve Langasek (vorlon) wrote :

Yes, this is a result of multiarch. Specifically, the availability of cross-installable packages means that both the /lib64 -> /lib and /usr/lib64 -> /usr/lib symlinks, which were always a crutch, are now a serious liability, because following this symlink on a 32-bit system can result in clobbering the 32-bit libraries and breaking the system software.

The eglibc package has been updated in oneiric and above to provide /lib64 as a separate directory, not a symlink; and to not provide /usr/lib64 at all. These will *not* be reintroduced as symlinks; having cross-installation of packages break the system libraries is a much worse problem than having upstream software that's not integrated with Ubuntu fail to work when installed.

The best solution here is for hplip upstream to check if it's on a Debian or Ubuntu system (probably by checking for the presence of /etc/debian_version) and if so, to use /usr/lib as the install path instead of /usr/lib64.

On the Ubuntu side, we can conceivably add /usr/lib64 to the search path for the x86_64 linker (both the libc6:amd64 and libc6-amd64:i386 packages), but this certainly comes with a maintenance cost, so I'm not sure we want to do this.