update puts 64bit liblzo.so.1 in lib32

Bug #162630 reported by AllesMeins on 2007-11-14
4
Affects Status Importance Assigned to Milestone
Ubuntu
Undecided
Unassigned

Bug Description

I'm sorry - I've no idea what package to select.

I'm using kubuntu on an amd64. To use 32bit programs (mplayer with 32bit codecs, firefox with 32bit plugins etc) I've some 32bit libs in /usr/lib32. This worked fine for the last year. But since the gutsy release every system update keeps putting a 64bit version (Class: ELF64) of liblzo.so.1 in my /usr/lib32 folder, overwriting the old 32bit version and keeping my 32bit programs from working. Is this a normal behavior?

Albert Damen (albrt) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better.

Can you please run the commands:
$ dpkg -S /usr/lib32/liblzo.so.1
$ dpkg -S /usr/lib32/liblzo.so.1.0.0

And report the output? This will tell us which package installed these files in /usr/lib32/
Please also provide the result of the command
$ ls -la /usr/lib32/liblzo.so.1

$ dpkg -S /usr/lib32/liblzo.so.1
ia32-libs: /usr/lib32/liblzo.so.1

$ dpkg -S /usr/lib32/liblzo.so.1.0.0
ia32-libs: /usr/lib32/liblzo.so.1.0.0

$ ls -la /usr/lib32/liblzo.so.1
lrwxrwxrwx 1 root root 11 2007-11-16 13:58 /usr/lib32/liblzo.so.1 -> liblzu.so.1

Albert Damen (albrt) wrote :

Hmm, on my system the ia32-libs packages properly report ELF 32.

Please run the commands
$ file /usr/lib32/liblzo.so.1.0.0
$ dpkg -s ia32-libs | grep Version

Did ls -la /usr/lib32/liblzo.so.1 really point to liblzu.so.1 ? If so, what does dpkg -S liblzu.so.1 say?

$ file /usr/lib32/liblzo.so.1.0.0
/usr/lib32/liblzo.so.1.0.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped

$ dpkg -s ia32-libs | grep Version
Version: 2.1ubuntu3

$ dpkg -S liblzu.so.1
dpkg: *liblzu.so.1* not found.

Albert Damen (albrt) wrote :

The symlink for liblzo.so.1 is clearly wrong, as it should be pointing to liblzo.so.1.0.0:
lrwxrwxrwx 1 root root 15 2007-11-21 23:34 /usr/lib32/liblzo.so.1 -> liblzo.so.1.0.0 (also from ia32-libs version 2.1ubuntu3).

Unfortunately Ubuntu does not seem to have any package which provides a file liblzu.so.1, so it is unclear what is causing this problem.

Does this problem only occur with updates (and I assume you use update-manager for these)? Or does it also happen when you do sudo apt-get update and sudo apt-get upgrade from a terminal window?
Does it happen when you install a package through synaptic?

Lets put the link asside - maybe i messed this up, when trying to get my stuff working again. But the elf64 problem persist. What i just did is this:

I copied an (older) version of liblzo.so.1 and liblzo.so.1.0.0 i found in one of the older packages to /usr/lib32 replacing the existing files. To check everything went right i did

/usr/lib32$ readelf -h liblzo.so.1
ELF Header:
  Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
  Class: ELF32
  Data: 2's complement, little endian
  Version: 1 (current)
  OS/ABI: UNIX - System V
  ABI Version: 0
  Type: DYN (Shared object file)
  Machine: Intel 80386
  Version: 0x1
  Entry point address: 0x2170
  Start of program headers: 52 (bytes into file)
  Start of section headers: 130072 (bytes into file)
  Flags: 0x0
  Size of this header: 52 (bytes)
  Size of program headers: 32 (bytes)
  Number of program headers: 5
  Size of section headers: 40 (bytes)
  Number of section headers: 26
  Section header string table index: 25

After that i executed apt-get update and apt-get upgrade (installing the upgrades for the following packages: comerr-dev e2fslibs e2fsprogs libblkid1 libcomerr2 libss2 libuuid1 uuid-dev). After that I checked on my files again:

/usr/lib32$ readelf -h liblzo.so.1
ELF Header:
  Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
  Class: ELF64
  Data: 2's complement, little endian
  Version: 1 (current)
  OS/ABI: UNIX - System V
  ABI Version: 0
  Type: DYN (Shared object file)
  Machine: Advanced Micro Devices X86-64
  Version: 0x1
  Entry point address: 0x2940
  Start of program headers: 64 (bytes into file)
  Start of section headers: 116976 (bytes into file)
  Flags: 0x0
  Size of this header: 64 (bytes)
  Size of program headers: 56 (bytes)
  Number of program headers: 5
  Size of section headers: 64 (bytes)
  Number of section headers: 25
  Section header string table index: 24

As you can see the elf-class has changed from elf32 to elf64.

Installing a new package ("kalzium") via synaptic shows the same behaviour - elf32 before, elf64 after.

Albert Damen (albrt) wrote :

To make sure the package ia32-libs is installed correctly, can you please do the same test as above again after re-installing the package ia32-libs?

That seems to have helped a little. Installing ia32-libs still puts the 64bit version in that folder, but after replacing it, it is not overwritten every time I install something new. How it is handled when new updates are available i cant tell at the time.
If it stays that way i can live with it, but still there seems to be something wrong.

Albert Damen (albrt) wrote :

As we have had a couple of updates since your last comment, I assume the updates are working OK now and will close this bug report.
Please reopen it if you do not agree, and don't hesitate to submit bug reports in the future. To reopen the bug report you can click on the current status, under the Status column, and change the Status back to "New". Thanks again!

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

Other bug subscribers