Wireshark-dev: Re: [Wireshark-dev] Win32: Visual Studio Express as default?
From: Ulf Lamping <ulf.lamping@xxxxxx>
Date: Tue, 23 Jan 2007 17:53:09 +0100
> I have successfully compiled WS by following the new procedure on the WS
> developer guide:
> http://www.wireshark.org/docs/wsdg_html/#ChSetupWin32
> The team did a great job: now everybody can compile WS for free!

Thanks, it was indeed some hard work to make this as smooth as possible.

> 
> Now, the issue I have is that plugins compiled with this setup do not
> load in earlier versions of WS (compiled with VC6). I get an error
> "unable to load module". It seems that installing MS C-Runtime
> redistributable package solves this (vcredist -
> http://www.microsoft.com/downloads/details.aspx?FamilyId=32BC1BEE-A3F9-4
> C13-9C99-220B62A191EE&displaylang=en).

The problem is, that your users "target" machine misses the msvcr80.dll file (contained in vcredit_x86.exe), that your plugin depends on - but Wireshark itself not (so Wireshark won't provide it). 

The actual required DLL depends on your compiler (exactly: C-Runtime) version compiled, for example Visual Studio .NET 2002 will need msvcr70.dll (the devel guide gives some details on this).

Please note that this is a problem common for all programs, not only Wireshark. The binary must provide the C runtime DLL that it was compiled with.

> 
> My question is when will be the main stream WS be compiled with Visual
> Studio Express? (which will (not 100% sure) remove this issue).
> 

As the support for MSVC != 6 is currently experimental, don't expect this soon - we really need some more experience with it first.

First of all, mixing binaries will only work if the plugin is "safely" developed, e.g. it don't passes file handles to other plugins or the Wireshark core - I don't know it this is currently the case for all plugins.

Secondly, even if we would release Wireshark compiled with the 8.0 compiler, we would still have similar problems with plugins compiled with other C compiler Versions (7.0, 7.1, 9.0, ...).

In general: It's not such a good idea to mix binaries coming from different compiler versions.

You may think about providing your own Wireshark setup together with your plugin for now ...

Regards, ULFL

_______________________________________________________________________
Viren-Scan für Ihren PC! Jetzt für jeden. Sofort, online und kostenlos.
Gleich testen! http://www.pc-sicherheit.web.de/freescan/?mc=022222