Ethereal-users: [Ethereal-users] Re: Problem building static version of Ethereal-0.8.12

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

From: Don Langbein <langbein@xxxxxxxxxx>
Date: Wed, 15 Nov 2000 10:57:12 -0500
>
> Date: Thu, 09 Nov 2000 18:52:27 -0500
> From: Don Langbein <langbein@xxxxxxxxxx>
> To: ethereal-users@xxxxxxxxxxxx
> Subject: [Ethereal-users] Problem building static version of Ethereal-0.8.12
>
> I 'cd' to my ethereal source directory, then do  'make clean,' then
> './configure --prefix=$HOME,' which ran to completion with no errors,
> then 'make ethereral_static.'  (For now I have the libpcap, libgtk+ and
> libg libraries in my personal directory, which is why I type
> '--prefix=$HOME' to configure.) Compile happens with no apparent
> problem, but at link time I get lots of undefined references to
> '_IO_stderr' and a few also to '_IO_stdin" and _IO_stdout.'  The sources
> of these messages are mostly C library 'fprintf' calls referencing
> 'stderr,' or 'stdout.'.  Using  the 'nm' program I learn that These are
> defined in /usr/libc.a (in module stdfiles.o). (Could they also be
> defined in some other library?)  Why libc (or maybe another library with
> proper definitions) is not getting scanned I do not know.  I am trying
> to uderstand how the Makefile works, but I'm finding it slow going.  (A
> few attempts to hip-shoot Makefile changes without really understanding
> what is going on have  failed.)
>
> More: the dynamic version of ethereal-0.8.12 compiles and runs just
> fine.  My build process is as above except that I do just 'make' (or
> sometimes 'make ethereal') instead of 'make ethereal_static.)
>
> In the interest  of full disclosure I will mention that I have added
> some dissectors for some special packet types used internally in a
> product here.  These dissectors seem to work fine in the dynamic
> version.  The problem with ethereal_static seems totally unrelated to
> the new dissectors.
>
> Our environment here is Red Hat Linux  release 5.2, kernal 2.0.36.
>
> A related question:  in the ethereal Makefile I see the definition,
>
>         ethereal_LDADD = \
>             $(ethereal_optional_objects)   \
>             $(ethereal_additional-libs)  \
>                                         \
>             "-dlopen" self  \
>             "-dlopen" plugins /gryphon/gryphon.la -lpcap
> -L/users/langbein/lib -L/users/Xll . . .(some other stuff)
>
> What exactly is '"-dlopen" self?'  For starters, which program reads it
> and processes it?    I can't seem to find that syntax as either a loader
> command line option or a Make command.  I'm obviously off in the weeds!
>
> Any help will be appreciated.  Thanks in advance.
>
> Don Langbein

Forget it.  Not an ethereal problem.  Sorry to clutter up the mailing list.

Problem was due to incomplete instance of glib in /usr/local/lib.

Don Langbein