On Mon, Jan 14, 2002 at 04:14:23PM -0500, R. P. Channing Rodgers, M.D. wrote:
> 1) Comression using zlib does not get built into the
> ethereal binary, even thought we have the latest zlib
> installed. With ethereal v. 0.8.8, configuration output
> included:
>
> checking whether to use zlib for reading compressed capture files... yes
> checking for zlib.h... yes
> checking for gzgets in -lz... yes
>
> resulting in the use of zlib compression, in v. 0.9.0
> we observe:
>
> checking whether to use zlib for reading compressed capture files... yes
> checking for zlib.h... (cached) yes
> checking for gzseek in -lz... (cached) no
>
> and compression is *not* built into the ethereal binary,
> even though we have the latest (v. 1.1.3) version of
> zlib installed, from the principal author, available at:
>
> http://www.info-zip.org/pub/infozip/zlib/
>
> and configure is clearly finding the include file, just
> not the call "gzseek"; in running nm on the libz.a file
> we observe:
>
> [4] | 0| 8|OBJT |LOCL |0 |3 |gz_magic
> [3] | 0| 1352|FUNC |LOCL |0 |2 |gz_open
> [14] | 5376| 212|FUNC |GLOB |0 |2 |gzclose
> [17] | 1404| 112|FUNC |GLOB |0 |2 |gzdopen
> [18] | 5588| 444|FUNC |GLOB |0 |2 |gzerror
> [16] | 4632| 472|FUNC |GLOB |0 |2 |gzflush
> [1] | 0| 0|FILE |LOCL |0 |ABS |gzio.c
> [42] | 1352| 52|FUNC |GLOB |0 |2 |gzopen
> [41] | 3096| 1152|FUNC |GLOB |0 |2 |gzread
> [15] | 4248| 384|FUNC |GLOB |0 |2 |gzwrite
>
> that is, there is no "gzseek".
Then either
1) that "zlib.a" file is *NOT* the result of compiling the
source for zlib 1.1.3
or
2) somehow it was built incorrectly (no, I don't know how that
might have happened)
as the zlib 1.1.3 source file "gzio.c" *does* include a "gzseek()"
routine (which *is* required by Ethereal in order to read gzipped
files).
It also includes a "gzgets()" routine, but it doesn't show up in your
"nm" output, either. Assuming that your "nm" output showed *all* the
routines in "libz.a", then this leads me to suspect that, somehow, your
Ethereal 0.8.8 build was done with a *different* version of the zlib
file (zlib.a or zlib.so), as it *did* find "gzgets()" (and "gzseek()",
as otherwise Ethereal would not have built).
Make sure you are *NOT* linking with, for example, an ancient zlib in
"/usr/openwin/lib". (That's a problem on many free UNIXes with XFree86;
however, the ancient zlib is part of recent X releases, and if the
latest Solaris release includes such a release, complete with its
ancient zlib, this might be the problem you're seeing.)