Ethereal-dev: Re: [Ethereal-dev] Kerberos bild error

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

From: "Olivier Biot" <ethereal@xxxxxxxxxx>
Date: Sat, 27 Mar 2004 13:09:11 +0100
From: Joerg Mayer

| On Mon, Mar 22, 2004 at 04:07:36PM +0000, Pia Sahlberg wrote:
| > When trying  --with-krb5 i get an awful lot of errors when
building the
| > shared library.
| > Essentially  it tries to pull in all of the kerberos libraries
multiple
| > times into the shared library, which
| > \obviously wont work.
| >
| > See attached log file
|
| OK, I think I found out why I don't have this problem of double libs
any
| more: I'm using Oliviers first patch to merge ./configure.in and
| epan/configure.in.
| Olivier: could you commit just htis first small patch (I can do this
too)
| or are there problems with this on other platforms?

Feel free to do so, I don't expect any problems on other platforms.
However, make sure you try this first by renaming the epan/config.h
into epan/config_unused.h and then try compiling Ethereal. Reason for
this is that <config.h> with -I. -I.. will first include the config.h
in epan...

| > Questions
| > 1, are there any configure options to completely disable building
these
| > shared libraries and fall back
| > to the old style build?  so i can at least build it with kerberos
support?
|
| No, but it's possible. I just can't make any promises that I will do
it
| before I leave for DomRep on Thursday morning :)
|
| > 2, is it absolutely necessary to pull the kerberos stuff in into
the
| > ethereal shared library?
| > Why cant it just link ethereal itself and tethereal itsefl with
the
| > kerberos libraries and leave
| > keberous outside of libethereal.
|
| Depending on the platform, this is what libtool does. On some
though,
| it is necessary to link the stuff into the library.

There's another reason why we get those duplicate linkages: today
we're using the autotools to add stuff directly into CFLAGS, INCLUDES
and LDFLAGS. A better approach is to define CFLAGS etc per target by
using configure substitution, something like:

    # Makefile.am excerpt
    libethereal_la_CFLAGS = @CFLAGS@ @PCRE_CFLAGS@ @KRB5_CFLAGS@ ...
    libethereal_la_LDADD = ...

To me it doesn't make sense to add all library stuff into the global
CFLAGS.

Regards,

Olivier