Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-dev: [Wireshark-dev] 'version' symbol collision between packet-tango and packet-mysql

From: Jeff Morriss <jeff.morriss@xxxxxxxxxxx>
Date: Tue, 18 Jul 2006 16:06:36 +0800

While compiling 0.99.2 on Solaris 9, I noticed this warning:

/usr/ccs/bin/ld -G -h tango.so -o .libs/tango.so packet-tango.lo -R/u/morriss/wireshark/wireshark-0.99.2/epan/.libs -R/usr/local/lib -L/usr/local/lib -L/u/morriss/wireshark/wireshark-0.99.2/epan /u/morriss/wireshark/wireshark-0.99.2/epan/.libs/libwireshark.so -lgmodule-2.0 -ldl -lglib-2.0 -lc ld: warning: symbol `version' has differing sizes:
        (file packet-tango.lo value=0x6; file /u/morriss/wireshark/wireshark-0.99.2/epan/.libs/libwireshark.so value=0x4);
        packet-tango.lo definition taken

It looks like the symbol in libwireshark is from "packet-mysql.c":

/* Define version if we are not building wireshark statically */
#ifndef ENABLE_STATIC
#include <gmodule.h>
G_MODULE_EXPORT const gchar version[] = "0.1";
#endif

A bunch of .c files in "plugins/giop/" also define a (non-static) string named "version" which was put in there by "tools/wireshark_gen.py".

Shouldn't all those version strings be static?  Or...