Zlib version in FreeBSD - 3 releases behind?

Kris Sridhar kris.universe at gmail.com
Fri Mar 8 16:27:51 UTC 2013


The library (/lib/libz.so.6) in FreeBSD 9.1R does seem to have Zlib 1.2.4 based on the complaints from the following at least:


I've provided objdump -p output from my machine:
fBSD9# objdump -p libz.so.6

libz.so.6:     file format elf32-i386-freebsd

Program Header:
    LOAD off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**12
         filesz 0x000124c4 memsz 0x000124c4 flags r-x
    LOAD off    0x000124c4 vaddr 0x000134c4 paddr 0x000134c4 align 2**12
         filesz 0x000002e0 memsz 0x000002e4 flags rw-
 DYNAMIC off    0x00012588 vaddr 0x00013588 paddr 0x00013588 align 2**2
         filesz 0x000000d8 memsz 0x000000d8 flags rw-
   STACK off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
         filesz 0x00000000 memsz 0x00000000 flags rw-

Dynamic Section:
  NEEDED      libc.so.7
  SONAME      libz.so.6
  INIT        0x13f0
  FINI        0xe1b4
  HASH        0xb4
  STRTAB      0xaec
  SYMTAB      0x3fc
  STRSZ       0x49f
  SYMENT      0x10
  PLTGOT      0x1367c
  PLTRELSZ    0x1b0
  PLTREL      0x11
  JMPREL      0x1240
  REL         0x1130
  RELSZ       0x110
  RELENT      0x8
  VERDEF      0x106c
  VERNEED     0x1110
  VERSYM      0xf8c
  RELCOUNT    0x1e

Version definitions:
1 0x01 0x09d5f4e6 libz.so.6
2 0x00 0x07e5cf30 ZLIB_1.2.4.0
3 0x00 0x053ecdd0 ZLIBprivate_1.0
4 0x00 0x07e5c230 ZLIB_1.2.7.0
5 0x00 0x077a28b2 FBSD_1.2

Version References:
  required from libc.so.7:
    0x077a28b0 0x00 06 FBSD_1.0

fBSD9# uname -r

If Zlib 1.2.7 were installed independently from tar.gz downloaded from zlib.net site, it produces,
/usr/local/lib/libz.so.1.2.7 which is different from /lib/libz.so.6 of course.
But this installs a /usr/local/include/zlib.h that is identical to /usr/src/lib/libz/zlib.h as well as /usr/include/zlib.h

The complaint mentioned before from dependent objects like libarchive that the "/lib/libz.so.6 containing ZLIB_1_2_4 is missing" results if one removes /lib/libz.so.6 and replaces with a symlink to the new version like:
/lib/libz.so.6 --> /usr/local/lib/libz.so.1.2.7

Given the version definitions from the objdump -p of the original /lib/libz.so.6 that was installed as part of a fresh, clean install of FreeBSD 9.1R, as provided above, any thoughts on the Zlib version  actually baked into the release please?


On Mar 6, 2013, at 5:27 PM, Giorgos Keramidas <keramida at FreeBSD.org> wrote:

> On 2013-03-06 08:06, Arthur Chance <freebsd at qeng-ho.org> wrote:
>> On 03/05/13 16:12, Giorgos Keramidas wrote:
>>> On 2013-03-04 07:28, KrisUniverse <kris.universe at gmail.com> wrote:
>>>> The Zlib baked into FreeBSD is Zlib 1.2.4 even on 9.1R.
>>>> However, Zlib has gone to 1.2.7 sometime ago after stepping through
>>>> 1.2.5, 1.2.6 and 1.2.7 with bug fixes.
>>>> Is there any reason for not using Zlib 1.2.7?
>>> I don't have a 9.1-RELEASE system nearby, but I think zlib 1.2.7 _should_
>>> already be there...  Are you sure it's still an old version?
>> On my machine:
>> # uname -r
>> 9.1-RELEASE
>> [It's actually -p1 but I've not bothered replacing the kernel as the
>> problems were in user space.]
>> # grep 'define ZLIB_VERSION' /usr/src/lib/libz/zlib.h
>> #define ZLIB_VERSION "1.2.7"
> That's what I'd expect.  Thanks :)

More information about the freebsd-questions mailing list