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.
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...
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 though). 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 VERNEEDNUM 0x2 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