Wireshark Gurus,
First things, first...
My development system is RHEL v5.6 and as it doesn't support a "new" enough version of GTK, my work uses the v1.6.9 SVN head.
That said, I have created my own plugin, it builds and
works great on the system I've developed it on. However, when I build
the RPM, and install the RPM on another machine (identical to my
development system minus all the source code) I always get a "couldn't
load module" error. The error message is quite detail and so I know it
is because my plugin is using some common functions from the wimax
plugin (i.e. wimax_tlv.c).
I include the wimax_tlv.h in my source as follows:
#include <plugins/wimax/wimax_tlv.h>
While grasping at straws I even tried:
#include "plugins/wimax/wimax_tlv.h"
Neither
#include format made a difference. My build of Wireshark worked
regardless on my development system and gave the same exact "couldn't
load module" error on the production system.
I don't get any
warnings or complaints about the "#include
<plugins/wimax/wimax_tlv.h>" on my development system when
compiling or building the RPM, but it sure seems to have a problem with
it on the production system.
One other notable thing is that on
my development system when I start Wireshark and look at the plugins
listing (Help->About->Plugins) my plugin is listed, but on the
production system where Wireshark was installed using my RPM, it is not
listed in the plugins listing. I followed the directions for creating
and including a plugin in README.plugin, but obviously I've missed
something. Also, my plugin library does get placed in
/usr/lib/wireshark/plugin/<version>/ on the production system when
I install my RPM.
I really don't want to have a redundant copy
of the code in my custom
plugin's directory so that I won't have to worry about merging
corrections\updates. I even grep'ed my entire Wireshark directory on my
development system looking for another dissector or plugin that
included a header from another plugin\dissector and found one
(gtk/voip_calls.c) which contains a #include of a header from a
dissector (gtk/voip_calls.c:60:#include
<plugins/unistim/packet-unistim.h>). So it seems like what I'm
doing should work, but clearly I'm in over my head. Any suggestions
would be much appreciated.
Thanks,
Austin