Ethereal-dev: RE: [Ethereal-dev] base64_decode name clash (util.c vs. Heimdal w /--with-krb5)

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Biot Olivier <Olivier.Biot@xxxxxxxxxxx>
Date: Mon, 10 May 2004 15:47:16 +0200
|From: Thomas Anders
|
|Olivier Biot wrote:
|> Is the heimdal function effectively announced and used in the API or
|> is it only exported by accident?
|
|To quote a Heimdal core developer (Love) on this:
|
|"Almost all functions in libroken pollute the namespace, its not every
|  good and we are (very very) slowly fixing that problem.
|  Thus, its not exported by accident."

Sigh... There's no choice then: we have to rename our function or make it
static to the HTTP dissector. Or we could provide a tvb_base64_decode()
helper (this would require adding another data source)? Additionally, the
POP3 and SMTP dissectors may like this helper :)

|> | Somewhat related: "--with-krb5" causes the Heimdal libs to be
|> | (unnecessarily) linked into libdfilter and libftypes. This also
|> | breaks building libethereal.so ("multiple definition of ..."),
|> | but can be fixed easily by trimming "LIBS=" in the corresponding
|> | Makefiles.
|> 
|> All Makefile.in files (but the one in wiretap) seem to be 
|contaminated
|> with:
|>     KRB5_CONFIG = @KRB5_CONFIG@
|>     KRB5_LIBS = @KRB5_LIBS@
|> However only one actually uses it:
|>     $ grep 'KRB5_LIBS' epan/Makefile.in
|>     KRB5_LIBS = @KRB5_LIBS@
|>     libethereal_la_LIBADD = @INET_ATON_O@ @INET_PTON_O@ @INET_NTOP_O@
|> dfilter/libdfilter.la ftypes/libftypes.la @KRB5_LIBS@
|
|AC_ETHEREAL_KRB5_CHECK already does:
|
|   LIBS="$LIBS $KRB5_LIBS"
|
|which seems to cause the problems I mentioned.

I would like to get rid of the automatic inclusion of library-specific
CFLAGS, CPPFLAGS and LIBS entries into the common CFLAGS, CPPFLAGS and LIBS
variables, as there's no way to control them. As a result today we're
compiling with the GTK+ header files and includes in libethereal!

The only proper way of doing this is to have an autoconf macro define the
XXX_CFLAGS, XXX_CPPFLAGS, XXX_LDFLAGS and XXX_LIBS and use @XXX_CFLAGS@ etc
placeholders in the Makefile.am files so a ./configure will replace the
library-specific settings only where they are necessary.

As a cygwin build takes about 3 hours to compile on my laptop, I don't have
the patience anymore in performing autoconf updates. I also don't have a
linux box at hand for the time being.

Regards,

Olivier