On Fri, Feb 06, 2004 at 03:42:23PM -0800, Guy Harris wrote:
> Let me (or somebody) test it on, at minimum, Mac OS X
It built, but when I tried to run Ethereal, I got
dyld: /Users/guy/src/cmd/ethereal/.libs/lt-ethereal multiple
definitions of symbol _g_main_quit
/usr/local/lib/ethereal/plugins/0.10.0a/asn1.so definition of
_g_main_quit
/Users/guy/src/cmd/ethereal/wiretap/.libs/libwiretap.0.dylib(gmain.o)
definition of _g_main_quit
Trace/BPT trap (core dumped)
where the stack trace is
#0 0x8fe019e0 in __dyld_halt ()
#1 0x8fe0aa8c in __dyld_multiply_defined_error ()
#2 0x8fe0d3b8 in __dyld_link_library_module ()
#3 0x8fe0c9b8 in __dyld_resolve_undefineds ()
#4 0x8fe11760 in __dyld_link_in_need_modules ()
#5 0x8fe113f4 in __dyld_bind_lazy_symbol_reference ()
#6 0x8fe01620 in __dyld_stub_binding_helper_interface ()
#7 0x002d6970 in main (argc=1, argv=0xbffffba4) at main.c:1964
probably crashing due to the multiple defines.
I don't have a shared version of -lgtk or -lglib - I don't know if this
is because the libtool that GLib and GTK+ 1.2.10 come with don't
understand Mac OS X or not. This might mean that Ethereal, libwiretap,
and the asn.1 plugin are all statically linked with GTK+ and thus all
define their own versions of g_main_quit().
I'll have to see whether I can get GLib and GTK+ built as shared
libraries and see if it works. (I can't guarantee that I will be able
to do that on Sunday; I *might* be able to do it during the week, but I
can't guarantee that either, so I can't guarantee that I'll be able to
show that this can be made to work by the end of the week.)
I *might* be able to try it with Solaris this week (although the same
risk might apply).