Ethereal-dev: Re: [Ethereal-dev] The Makefile problem: how to compile newly added dissector

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

From: Guy Harris <gharris@xxxxxxxxx>
Date: Fri, 9 Apr 2004 01:24:08 -0700
On Thu, Apr 08, 2004 at 08:44:35PM -0500, Wei Li (Michael) wrote:

> I tried to incorporate a new dissector into ethereal (0.10.2) and
> build it all.  As instructed, I updated the Makefile.common in the top
> directory.  However, the makefile does not recognize my new dissector
> file and left it uncompiled.

I forget what the answer was for 0.10.2, but the current version is
0.10.3 - and, in that version, you'd add it to the "DISSECTOR_SRC" macro
in the "epan/Makefile.common" file (and put "../" in front of the
dissector name, as is done for the names already there).

> Another question, I cannot load the executable "ethereal" or
> "tethereal" into GDB for debugging when I was working on version 0.10.3
> (GDB complains that they are not in executable format).  There is no
> such problem with the previous versions.  I did notice the executable
> file size of "ethereal" or "tethereal" is much smaller than those in
> previous versions.

Those are both due to the same change - the Ethereal and Tethereal
executables no longer contain the dissectors or the libethereal or
libwiretap code on most platforms; they're now in shared libraries.  We
use libtool on UN*X to make that work; one consequence is that
"ethereal" and "tethereal" are shell scripts that run the actual
binaries with the appropriate environment-variable settings so that they
find the shared libraries in the build directory.

This means that, instead of doing

	gdb ethereal

or

	gdb tethereal

you instead do

	./libtool gdb ethereal

or

	./libtool gdb tethereal