Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Ethereal-dev: RE: [Ethereal-dev] Questions & Lessons building on Win32

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

From: "Donnie Hale" <donnie@xxxxxxxxxxxxxx>
Date: Tue, 13 Apr 2004 21:59:34 -0400
Thanks to everyone for their prompt input. I've made some progress. As I
didn't really want a full install of the old Visual Studio, I did a very
minimal install (essentially just command-line tools and includes/libraries)
on another machine. I also did a very minimal install of the Win32 SDK under
that same directory on the other machine. Then I .zipped up that directory
and copied to my dev machine. (I did that to avoid all the crap that happens
when a product is installed.) So now I have a very lean install of the VC6
stuff which I can use.

In that environment, I've had pretty good success building the ethereal
binaries. I am still encountering some anomalies, for which I have
questions. Note that for a test environment, I've created the following
directory structure:

dist/
  bin/
    diameter (copied from binary distribution location)
    etc/* (copied from binary distribution location)
    lib/* (with dll's copied from 3rd party library locations)
    plugins/0.10.3
    snmp/mibs (copied from binary distribution location)

I put the DLLs from the 3rd party libraries plus the just-built ethereal
.exe's and wiretap.dll in the "bin" directory. I put the just-built plugin
dll's in the plugins/0.10.3 directory.

1) If I include the "rudp.dll" plugin in the plugins/0.10.3 directory,
ethereal.exe immediately gives an access violation accessing memory at
0x00000000 during startup. A quick glance at dumpbin on that DLL doesn't
show anything out of the ordinary. Has anyone encountered this issue?

2) ethereal.exe doesn't seem to acknowledge the "etc" and "lib" directories
under "bin" (i.e. same relative location as in the binary distribution).
With that environment, when I run ethereal.exe I get an assertion error
during startup: "toolbar.c, line 190 (pixbuf)". In a command window, this
message appears:

(ethereal.exe:6664): GdkPixbuf-WARNING **: Can not open pixbuf loader module
file 'D:\Projects\Ethereal\dist\etc\gtk-2.0\gdk-pixbuf.loaders': No such
file or directory

(ethereal.exe:6664): GdkPixbuf-WARNING **: Error loading XPM image loader:
Image type 'xpm' is not supported

Based on that error message, I created "etc" and "lib" directories under
"dist" (see above) rather than under "bin". Having done that, ethereal.exe
seems to work OK. I don't understand why a different relative directory
structure than in the binary distribution works when I've built the binaries
myself? Thoughts?

Thanks again for all the help,

Donnie