Wireshark-dev: [Wireshark-dev] Problem: Installing Ethereal for plug-in development
From: "Turner, Jay" <Jay.Turner@xxxxxxxxxxxxxxxxxx>
Date: Tue, 10 Oct 2006 15:12:08 -0500
Title: Problem: Installing Ethereal for plug-in development

I am trying to load the latest Ethereal and redevelopment a plug-in I wrote 3 years ago.

I downloaded and installed ethereal-setup-0.99.0.exe to C:\Program Files\Ethereal

I downloaded and unzipped ethereal-1.1.0-SVN-18189.tar.gz to C:\Programs\ethereal

I downloaded Cygwin because it seems I might need the UNIX-like tools. It installed e.g. GNU bash, version 3.1.17(9)-release (i686-pc-cygwin).

I am using Microsoft Visual Studio 6.0 Enterprise Edition under Windows XP Professional 5.1.2600 SP2.

I only want to rebuild my old plug-in and not build the entire Ethereal product, but I know that I might need to perform some of the setup steps to get the development environment ready to build plug-ins. I started reading the README.win32 file. It referred me to http://wiki.ethereal.com/Development for detailed instructions on setting up my development environment; which referred me to http://www.ethereal.com/development.html; which said to access http://anonsvn.ethereal.com/ethereal-win32-libs/trunk/packages/ for some extra files needed to build under Windows. The packages (and README) link times out when trying to access it.

I returned to the README.win32 file. Under “Compiling the Ethereal distribution from source” and “Compilers” I executed “nmake -f makefile.nmake distclean” which resulted in:

Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0

Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

        rm -f gtk2.tmp/*.*

        if exist gtk2.tmp rmdir gtk2.tmp

        rm -f {lots of files…}

        cd asn1

NMAKE : fatal error U1077: 'cd' : return code '0x1'

Stop.

Then I executed “nmake -f makefile.nmake setup” which resulted in:

Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0

Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

: command not foundh: line 2:

: command not foundh: line 5:

'ools/win32-setup.sh: line 6: syntax error near unexpected token `{

'ools/win32-setup.sh: line 6: `err_exit () {

NMAKE : fatal error U1077: 'bash' : return code '0x2'

Stop.

I then went to my old plug-in source and read docs\README.plugins. Actually I’ve been bouncing around, trying different things, reinstalling, etc. so this was not literally the next thing I tried. I removed the .h files mentioned and the init method. I adjusted the makefiles, but since I really just wanted to recompile under MSVC I skipped ahead to that.

I added C:\Programs\ethereal, C:\Programs\ethereal\epan, C:\Programs\glib-2.12.3, C:\Programs\glib-2.12.3\glib, and C:\Programs\glib-2.12.3\gmodule to my Includes list, rebuilt and found that the config.h.win32 file has @HAVE_LIBPCAP@ and other such lines in it. Okay, there must be some magical autoconfig utility that massages my distribution files before I can use them. Too bad I can’t get into the packages trunk and get them. I tried running ./autoconf.sh and ./configure under cygwins bash but got error messages. So I fake it and just define most everything as “#define {name} 1”. Heh, I’m not trying to build Ethereal, I just want my plug-in to compile and I bet all that isn’t really needed for my plugin. So, I make the changes and recompile.

It compiles but won’t link. I’ll have to add in the libethereal.lib. But there is no such file, only a libethereal.def. Okay, I’ll add that in as /DEF:{path}libethereal.def. I go from 25 unresolved symbols to 721. And the list includes the symbols defined in the .DEF file, so I’m confused.

I want to take the libethereal.dll and make a .lib out of it. But I find that the “nmake –f makefile.nmake distclean” command has erased it, apparently because it UNIX-related.

So, how can I just get my old plug-in to recompile so that I can look at writing a new one for a new protocol?

I just sent all this to the ethereal-dev mailing list only to find it said that list was discontinued and to post here. I’m sorry if this message gets duplicated.

Thank you,

Jay