Ethereal-dev: Re: [Ethereal-dev] some plugin problems

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

From: Guy Harris <gharris@xxxxxxxxxxxx>
Date: Mon, 6 Nov 2000 00:51:29 -0800
On Sun, Nov 05, 2000 at 08:38:20PM -0500, Ed Warnicke wrote:
> But when I make (or attempt to run the result of make;make install) 
> I get the complaint:
> 
> ** WARNING **: The plugin mgcp.so has no protocol symbol and no
> plugin_reg_handoff symbol

That's odd - I tried checking out a fresh CVS tree, adding your
"plugins/mgcp" directory to it, and updating the relevant other files to
know about that directory, did a build, and installed the plugins (I
didn't do a full install, but that shouldn't have been necessary), and
then ran the Ethereal built in that directory, and it didn't complain.

"packet-mgcp.c" - and "packet-gryphon.c" - don't declare
"plugin_reg_handoff()" with DLLEXPORT (that's a bug, and I'll check in a
fix for "packet-gryphon.c"), but, as it's complaining about "mgcp.so",
not "mgcp.dll", this looks like some UNIX-flavored OS, in which case
DLLEXPORT won't be necessary.

Is this Windows with Cygwin, in which case it *might* have "dlopen()"
and company?  If so, DLLEXPORT *might* be required - however, if that's
the case, it should have complained about "gryphon.so" as well.  If that
didn't happen, I have no idea what happened; I'd suggest doing a "cvs
update" to get the DLLEXPORT in "packet-gryphon.c", and adding DLLEXPORT
to "plugin_reg_handoff()" in "packet-mgcp.c", and trying again.

> I've attached the output of running cvs diff in the ethereal/ directory 
> and a tarball of the ethereal/plugin/mgcp directory which contains 
> the meat of things (if someone could tell me how to incorporate 
> this into the patch I would very appreciative).  

I would be equally appreciative if somebody would do that;
unfortunately, I think this is one of the places where "cvs diff" sucks
used bong water, as I don't think it supports the equivalent of the "-N"
flag that GNU diff supports - it really needs some way of being told to
do the equivalent of "-N" for "cvs add"ed files.

("cvs diff" also does a wretched job of putting full pathnames into
patches - unless there's some magic flag I need to use - causing "patch"
to get confused about the file to be patched when a file in a
subdirectory is to be patched, unless there's some magic flag to

	% patch --version
	patch 2.5.4

		...

that I need to use).