32 bit libraries are built incorrectly

Bug #22890 reported by Edsel Adap
4
Affects Status Importance Assigned to Milestone
Ubuntu
Invalid
Medium
Tollef Fog Heen

Bug Description

Many of the 32-bit libraries that are installed on the 64bit Ubuntu Linux
(5.0.4) are built incorrectly. For example, /usr/X11R6/lib32/lib/libX11.so.6
refers to /usr/X11R6/lib/X11/locale. It should refer to
/usr/X11R6/lib32/X11/locale. The reason is that there is a lib/common directory
inside that directory which contains *.so files. The current way libX11.so.6 is
built will cause the 64-bit version to load, thus causing many 32bit
applications to fail.

The libX11.so.6 is just one example. There are many libraries in /usr/lib32 and
/lib32 which refer to /usr/lib and /lib respectively. They should refer to
/usr/lib32 and /lib32 when looking for additional files so that they can refer
to the correct versions of the .so's.

Other examples are /usr/lib32/libglib-2.0.so.*, /usr/lib32/libdgk_imlib.so.*,
/usr/lib32/libgtk-1.2.so.*, /usr/lib32/libgdk_pixbuf-2.0.so.*

In that last one, it attempts to find configuration files in /etc/gtk-2.0. So
both 64bit and 32bit versions of the library look for config files in
/etc/gtk-2.0. However the config files in /etc/gtk-2.0 lists the names of the
shared objects that libgdk_pixbuf needs to link with. Since there is only one
version of each config file, the 32-bit libgdk_pixbuf ends up linking with
64-bit ones. There should be an /etc/gtk-2.0-32 where the config files for the
32-bit libgdk_pixbuf needs to reside.

Yet another problem is /lib32/tls/libc-2.3.2.so which refers to /usr/lib/gconv,
when it should really refer to /usr/lib32/gconv.

There are many other 32bit libraries in this distribution that have similar
problems that prevent 32-bit programs from running on the 64bit OS.

This needs to be fixed to give a better user experience. Without it, I have to
jump through hoops to get 32 bit applications to run since some of the
(commercial) applications I use are only available in 32 bit mode.

Revision history for this message
Tollef Fog Heen (tfheen) wrote :

They're not built on amd64 at all, they're just repackaged libraries and this
is the way it'll be until we have proper multiarch.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.