On Jul 17, 2006, at 1:55 PM, Steve Grinwis wrote:
I attempted to run my plug-in with the pre-release version of
Wireshark,
but it doesn't like me at all! It comes up with the error
"Couldn't load module C:\Program
Files\Wireshark\plugins\0.99.2pre1\xxx.dll: The specified module could
not be found."
Am I to assume then that I would have to uninstall Ethereal, and then
build Wireshark from scratch, and recompile my plug-in, to get it to
work with Wireshark?
No.
You would, however, probably have to recompile your plug-in with
Wireshark; there is no ABI for plugins at this point - plugins built
with version N of Ethereal/Wireshark are not guaranteed to run with
version M, for M != N.
(You would also have to install your binary in the right directory,
i.e. to work with Wireshark 0.99.2pre1 on Windows, it'd have to be
installed in {installation directory for Wireshark}\plugins
\0.99.2pre1, but I assume that you'd either already done that or did
that after seeing the error in question.)
Shouldn't the binaries of Ethereal and Wireshark be compatible?
In the sense of "would it be a good thing if there were a plugin
ABI?", yes. However, a plugin ABI requires a plugin API, and a
plugin API requires getting the API right, and the API for a
dissector currently is not what I would consider "right" yet.
In the sense of "is there not a plugin ABI?", no, there isn't a
plugin ABI, so the binaries of versions N and M don't support the
same plugins. In particular, the binaries of Ethereal 0.99.1, and
earlier Ethereal binaries, don't support the same plugins as the
binary of Wireshark 0.99.2. (I.e., it's not an Ethereal vs.
Wireshark issue, it's a version vs. version issue.)