Bug 22001 - Fails to provide .so.1 and .so.1.8
Fails to provide .so.1 and .so.1.8
Product: Red Hat Linux
Classification: Retired
Component: gd (Show other bugs)
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Phil Knirsch
Depends On:
  Show dependency treegraph
Reported: 2000-12-09 02:20 EST by kenneth_porter
Modified: 2015-03-04 20:08 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2000-12-11 01:32:20 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description kenneth_porter 2000-12-09 02:20:18 EST
When upgrading from 1.7.3 package, RPM complains that other packages (eg. linuxconf) depend on libgd.so.1 and this is not provided by the 
new 1.8.3-4 package. The spec file needs to declare Provides: for the symlinks created by ldconf in the %post script.

Correcting this by adding a "Provides:  libgd.so, libgd.so.1" declaration, I found that ldconfig (1.9.5-15) only installed the .so and .so.1.8 links, 
but not the .so.1 link. I had to add the last link manually. I don't understand why this link wasn't automatically created. The final Provides line 
should also include the .so.1.8 file.
Comment 1 Bill Nottingham 2000-12-11 01:32:17 EST
Actually, if it's not getting picked up as providing this by RPM,
that would imply that the soname changed. I can only assume this was
done intentionally...
Comment 2 Phil Knirsch 2000-12-12 09:56:55 EST
I'm a little confused here. The only packages i found were the gd-1.3 and
gd-1.8.3, so i don't know here 1.7.3 came from (the is only a gdbm-1.7.3

But true, if the applications need it then there should be a Provides: for these
libraries if it doesn't break anything else (e.g. apps linked agains .so.1 und
gd-1.3 that won't work with .so.1 of gd-1.8.3 anymore).

Here a brief output of the gd library object dump. It makes clear why it only
provides .so.1.8:

[root@hamburg redhat]# objdump -p /usr/lib/libgd.so.1.8.3

/usr/lib/libgd.so.1.8.3:     file format elf32-i386

Program Header:
    LOAD off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**12
         filesz 0x0000e6e2 memsz 0x0000e6e2 flags r-x
    LOAD off    0x0000e6e4 vaddr 0x0000f6e4 paddr 0x0000f6e4 align 2**12
         filesz 0x0001e990 memsz 0x00022aa0 flags rw-
 DYNAMIC off    0x0002cfac vaddr 0x0002dfac paddr 0x0002dfac align 2**2
         filesz 0x000000c8 memsz 0x000000c8 flags rw-

Dynamic Section:
  NEEDED      libttf.so.2
  NEEDED      libjpeg.so.62
  NEEDED      libpng.so.2
  NEEDED      libz.so.1
  NEEDED      libm.so.6
  NEEDED      libc.so.6
  SONAME      libgd.so.1.8
  INIT        0x3184
  FINI        0xd774
  HASH        0x94
  STRTAB      0x1a20
  SYMTAB      0x900
  STRSZ       0xea1
  SYMENT      0x10
  PLTGOT      0x2dcb8
  PLTRELSZ    0x520
  PLTREL      0x11
  JMPREL      0x2c64
  REL         0x2b4c
  RELSZ       0x118
  RELENT      0x8
  VERNEED     0x2afc
  VERSYM      0x28d8

Version References:
  required from libc.so.6:
    0x09691f73 0x00 04 GLIBC_2.1.3
    0x0d696910 0x00 03 GLIBC_2.0
  required from libm.so.6:
    0x0d696910 0x00 02 GLIBC_2.0

Note You need to log in before you can comment on or make changes to this bug.