Ethereal-dev: Re: [Ethereal-dev] Static/Dynamic linking of plugins in ethereal-0.9.15

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

From: "Parul Singla" <parul@xxxxxxxxxxxxxx>
Date: Mon, 13 Oct 2003 12:17:50 -0700
Hi All,
 I'm trying to compile ethereal-0.9.15 on "pure cygwin". During "make
ethereal.exe", I encounter following error:

/*****************************************************/
plugins/artnet/.libs/artnet.a(packet-artnet.o)(.text+0x4ed0):/cygdrive/c/Eth
ereal_Packages/ethereal-0.9.1
5/plugins/artnet/packet-artnet.c:2597: first defined here
plugins/pcli/.libs/pcli.a(packet-pcli.o)(.text+0x3b0): In function
`plugin_init':
/cygdrive/c/Ethereal_Packages/ethereal-0.9.15/plugins/pcli/packet-pcli.c:196
: multiple definition of `_pl
ugin_init'
plugins/artnet/.libs/artnet.a(packet-artnet.o)(.text+0x4ee0):/cygdrive/c/Eth
ereal_Packages/ethereal-0.9.1
5/plugins/artnet/packet-artnet.c:2610: first defined here
plugins/pcli/.libs/pcli.a(packet-pcli.o)(.text+0x0):packet-pcli.c: multiple
definition of `_version'
plugins/artnet/.libs/artnet.a(packet-artnet.o)(.text+0x0):packet-artnet.c:
first defined here
plugins/rtnet/.libs/rtnet.a(packet-rtnet.o)(.text+0x1290): In function
`plugin_reg_handoff':
/cygdrive/c/Ethereal_Packages/ethereal-0.9.15/plugins/rtnet/packet-rtnet.c:7
30: multiple definition of `_
plugin_reg_handoff'
plugins/artnet/.libs/artnet.a(packet-artnet.o)(.text+0x4ed0):/cygdrive/c/Eth
ereal_Packages/ethereal-0.9.1
5/plugins/artnet/packet-artnet.c:2597: first defined here
plugins/rtnet/.libs/rtnet.a(packet-rtnet.o)(.text+0x12a0): In function
`plugin_init':
/cygdrive/c/Ethereal_Packages/ethereal-0.9.15/plugins/rtnet/packet-rtnet.c:7
43: multiple definition of `_
plugin_init'
plugins/artnet/.libs/artnet.a(packet-artnet.o)(.text+0x4ee0):/cygdrive/c/Eth
ereal_Packages/ethereal-0.9.1
5/plugins/artnet/packet-artnet.c:2610: first defined here
plugins/rtnet/.libs/rtnet.a(packet-rtnet.o)(.text+0x0):packet-rtnet.c:
multiple definition of `_version'
plugins/artnet/.libs/artnet.a(packet-artnet.o)(.text+0x0):packet-artnet.c:
first defined here
Info: resolving _optarg by linking to __imp__optarg (auto-import)
Info: resolving _optind by linking to __imp__optind (auto-import)
collect2: ld returned 1 exit status
rm -f .libs/ethereal.exeS.o
make: *** [ethereal.exe] Error 1
/***************************************************************************
*********/

I think wuts happening here is, at make time we are telling that the plugins
should be build statically and hence following line in all the defined
plugins gets defined. (plz correct me if I'm wrong) Due to which the above
error happens. Maybe the solution is the "dynamic linkage of plugins" (DLL),
i don't know how.. if you guys can give a soultion OR any other solution to
fix the above problem.

#ifndef ENABLE_STATIC
G_MODULE_EXPORT const gchar version[] = VERSION;
#endif

Most of the places I have seen is people build ethereal as
"./configure --without-plugins", this is NOT wut I'm looking for. I need to
build using plugins.

Thanks and Regards,
-Parul