Ethereal-dev: RE: [Ethereal-dev] Problem building on win32

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

From: "Graham Bloice" <graham.bloice@xxxxxxxxxxxxx>
Date: Wed, 4 Dec 2002 10:16:09 -0000
> If you have a version of the WinPcap developer's package wherein any of
> the WinPcap header files include "winsock.h", you have a version of the
> WinPcap developer's package with which it is impossible to compile
> current versions of Ethereal.  If the currently installed version of
> WinPcap on your machine is prior to 2.3, you must uninstall it and
> install 2.3, and then remove the pre-2.3 WinPcap developer's package and
> install the 2.3 version.  (Or you could install the 3.0 alpha WinPcap
> and developer's package if you're feeling ambitious.)

I did indeed have the 2.2 developers pack.  I'm not sure how I managed to
acquire the old version, but getting 2.3 allowed compilation to proceed.
Sorry for all the noise.

Now the compilation halts when linking ethereal.exe due to link error
LNK2005 on 22 symbols.  The error is a conflict between MSVCRT and LIBC
libraries.  The error message suggests using the option /NODEFAULTLIB to
suppress linking with one of them, so I added /NODEFAULTLIB:LIBC to
LOCAL_LDFLAGS in config.nmake.  This finally produced an ethereal.exe,
although editcaps.exe failed to link with unresolved symbols (probably
missing libc).

With the shiny new ethereal.exe attempting a capture causes a crash, in the
capture process where a flush is done on the pipe, I get an access
violation.  This one is a bit difficult to debug as it's in the spawned
process so I can't set a breakpoint to just before the crash.  If the stack
frames are believable then the problem appears to be in the run time library
when acquiring a lock on the stream to do the flush.  I suspect that this
may be connected with the library problem above.

The binary installation of 0.9.7 works fine.

Environment details:

win XP SP1, Visual Studio 6 SP5, Platform SDK Aug 2002