Ethereal-dev: Re: [Ethereal-dev] Compiling with MingW (native)

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: Mon, 12 Jul 2004 23:45:30 +0200
From: Noah Misch


| On Thu, Jul 08, 2004 at 10:50:25PM +0200, W. van den Akker wrote:
| > Ethereal can be compiled with either MSVC-6 or CygWin MingW.
| >
| > Has anyone tried to compile Ethereal with the native MingW
compiler (without
|
| I do not know, but it is surely feasible.  Folks have definitely
compiled
| plugins with MinGW; you can find that work in the list archives.

Gisle Vanem did. He sometimes posts Makefile updates. A search with
your favorite search engine on "Gisle Vanem mingw ethereal" should
return plenty of positive hits.

| > the CygWin stuff)? Which development libraries must I use? I
suppose the
|
| Use the same libraries as you would for the MSVC build.  If you need
Net-SNMP,
| though, you will probably need to build it from scratch, for it is a
static
| library, not a DLL.

I used to build Ethereal on CygWin. It works, but it takes ages to
compile (especially with the shared object code requiring libtool to
be used at compile time for every single object). You then need to
install the CygWin X11 environment.

I once succeeded in building a native Win32 Ethereal with CygWin,
thanks to hints posted about half a year ago by Stephen Blackheath.
Again, use your favorite search engine, and search for "ethereal
Stephen Blackheath cygwin native". This should provide you a starting
point.

| > CygWin MingW development libraries doesn't work....
|
| I am not familiar with these "Cygwin MinGW development libraries" of
which you
| speak.  Would you clarify?

The issue is that GCC does not prevent including the cygwin libraries
if no MinGW library is found that matches a given linker statement. I
also got this problem when trying to build a native Win32 Ethereal
with the precompiled libraries, as GCC invariably preferred the CygWin
libraries instead of the precompiled ones... I had to manually edit
the compiler command-line by using the correct linker flags (mainly
replacing any "-Ldir/to/ -lfoo" with "/dir/to/foo[.dll].a").

Hope this helps!

Best regards,

Olivier