Ethereal-dev: Re: [Ethereal-dev] Plugins

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

From: Guy Harris <guy@xxxxxxxxxx>
Date: Wed, 26 Mar 2003 11:03:12 -0800
On Wed, Mar 26, 2003 at 09:32:39AM +0100, Tomas Kukosa wrote:
>   what is the disadvantage of having dissectors in plugins?

Well, one disadvantage is that a plugin dissector isn't available
on a platform on which GLib doesn't support run-time dynamic linking.

I think MacOS X *might* be one of them.  There's no support for its
native run-time linking mechanism in GLib 1.2[.x]'s gmodule stuff (which
is what Ethereal currently uses for run-time linking), at least; I don't
have my copy of "MacOS X For UNIX Developers" handy, but I think it
*might* have said there's a library that includes
"dlopen()"/"dlsym()"/etc.  wrappers around the native run-time linking
mechanism - but that'd work only if GLib were configured to use it.

There might also be platforms on which Ethereal runs that don't have
*any* native run-time linker, so you'd have to use GNU dld - but GLib
1.2[.x] doesn't include support for that, either ("gmodule-dld.c"
supports HP-UX's run-time linking mechanism for 32-bit executables).

libtool has, as I remember, its own wrappers for run-time dynamic
linking - but I also seem to remember that we originally used that but
that Gilbert Ramirez, I think, replaced it with the GLib gmodule stuff
due to some problems with the libtool wrappers.  (I don't remember what
the problems were.)