Wireshark-users: [Wireshark-users] compiling static tshark binaries with wireshark 1.2.1 on solar

From: Tim Wieneke <tim@xxxxxxx>
Date: Wed, 02 Sep 2009 10:13:54 +0200
Hi,

I tried (unsuccessfully) to compile static binaries out of wireshark 1.2.1. Idee was to get a static binary of tshark to have a simply sniffer tool.

What I did:

./configure --prefix=/opt/wireshark --disable-glibtest --disable-plugins --enable-static --disable-shared --enable-tshark --disable-wireshark --disable-gtktest --disable-glibtest --disable-editcap --disable-capinfos --disable-mergecap --disable-text2pcap --disable-idl2wrs --disable-dftest --disable-randpkt --enable-dumpcap --disable-rawshark --disable-ipv6


What I got:

make[2]: Entering directory `/export/home/wireshark-1.2.1'
LANG=C /opt/csw/bin/perl ./make-version.pl .
Version configuration file version.conf not found.  Using defaults.
This is not a SVN build.
svnversion.h is up-to-date.
/bin/bash ./libtool --tag=CC --mode=link gcc -D_U_="__attribute__((unused))" -g -O2 -Wall -W -Wdeclaration-after-statement -Wendif-labels -Wpointer-arith -Wcast-align -Wformat-security -Wno-return-type -DFUNCPROTO=15 -I/usr/local/include -I/opt/csw/include/glib-2.0 -I/opt/csw/lib/glib-2.0/include -Wl,-static -all-static -L/opt/csw/lib -L/usr/local/lib -R/usr/local/lib -L/usr/local/lib -R/usr/local/lib -L/usr/local/lib -R/usr/local/lib -L/usr/local/lib -R/usr/local/lib -L/usr/local/lib -R/usr/local/lib -o tshark tshark-capture-pcap-util-unix.o tshark-capture_errs.o tshark-capture-pcap-util.o tshark-capture_ui_utils.o tshark-cfile.o tshark-clopts_common.o tshark-disabled_protos.o tshark-packet-range.o tshark-print.o tshark-ps.o tshark-sync_pipe_write.o tshark-timestats.o tshark-util.o tshark-tap-megaco-common.o tshark-tap-rtp-common.o tshark-version_info.o tshark-tap-afpstat.o tshark-tap-ansi_astat.o tshark-tap-bootpstat.o tshark-tap-camelcounter.o tshark-tap-camelsrt.o tshark-tap-comparestat.o tshark-tap-dcerpcstat.o tshark-tap-funnel.o tshark-tap-gsm_astat.o tshark-tap-h225counter.o tshark-tap-h225rassrt.o tshark-tap-httpstat.o tshark-tap-iostat.o tshark-tap-iousers.o tshark-tap-mgcpstat.o tshark-tap-megacostat.o tshark-tap-protocolinfo.o tshark-tap-protohierstat.o tshark-tap-radiusstat.o tshark-tap-rpcstat.o tshark-tap-rpcprogs.o tshark-tap-rtp.o tshark-tap-sctpchunkstat.o tshark-tap-sipstat.o tshark-tap-smbsids.o tshark-tap-smbstat.o tshark-tap-stats_tree.o tshark-tap-wspstat.o tshark-capture_opts.o tshark-capture_sync.o tshark-tempfile.o tshark-tshark-tap-register.o tshark-tshark.o wiretap/libwiretap.la epan/libwireshark.la wsutil/libwsutil.la -dlopen plugins/asn1/asn1.la -dlopen plugins/docsis/docsis.la -dlopen plugins/ethercat/ethercat.la -dlopen plugins/giop/cosnaming.la -dlopen plugins/giop/coseventcomm.la -dlopen plugins/gryphon/gryphon.la -dlopen plugins/irda/irda.la -dlopen plugins/m2m/m2m.la -dlopen plugins/mate/mate.la -dlopen plugins/opcua/opcua.la -dlopen plugins/profinet/profinet.la -dlopen plugins/sercosiii/sercosiii.la -dlopen plugins/stats_tree/stats_tree.la -dlopen plugins/unistim/unistim.la -dlopen plugins/wimax/wimax.la -L/opt/csw/lib -lgmodule-2.0 -lglib-2.0 -lintl -lm -lpcap -lsocket -lnsl -L/opt/csw/lib -lgcrypt -lgpg-error -L/opt/csw/lib -lgnutls -lnsl -lz -R/opt/csw/gcc3/lib
rm -f .libs/tshark.nm .libs/tshark.nmS .libs/tshark.nmT
creating .libs/tsharkS.c
extracting global C symbols from `plugins/asn1/.libs/asn1.a'
extracting global C symbols from `plugins/docsis/.libs/docsis.a'
extracting global C symbols from `plugins/ethercat/.libs/ethercat.a'
extracting global C symbols from `plugins/giop/.libs/cosnaming.a'
extracting global C symbols from `plugins/giop/.libs/coseventcomm.a'
extracting global C symbols from `plugins/gryphon/.libs/gryphon.a'
extracting global C symbols from `plugins/irda/.libs/irda.a'
extracting global C symbols from `plugins/m2m/.libs/m2m.a'
extracting global C symbols from `plugins/mate/.libs/mate.a'
extracting global C symbols from `plugins/opcua/.libs/opcua.a'
extracting global C symbols from `plugins/profinet/.libs/profinet.a'
extracting global C symbols from `plugins/sercosiii/.libs/sercosiii.a'
extracting global C symbols from `plugins/stats_tree/.libs/stats_tree.a'
extracting global C symbols from `plugins/unistim/.libs/unistim.a'
extracting global C symbols from `plugins/wimax/.libs/wimax.a'
(cd .libs && gcc  -g -O2 -c -fno-builtin "tsharkS.c")
rm -f .libs/tsharkS.c .libs/tshark.nm .libs/tshark.nmS .libs/tshark.nmT
gcc "-D_U_=__attribute__((unused))" -g -O2 -Wall -W -Wdeclaration-after-statement -Wendif-labels -Wpointer-arith -Wcast-align -Wformat-security -Wno-return-type -DFUNCPROTO=15 -I/usr/local/include -I/opt/csw/include/glib-2.0 -I/opt/csw/lib/glib-2.0/include -Wl,-static -o tshark tshark-capture-pcap-util-unix.o tshark-capture_errs.o tshark-capture-pcap-util.o tshark-capture_ui_utils.o tshark-cfile.o tshark-clopts_common.o tshark-disabled_protos.o tshark-packet-range.o tshark-print.o tshark-ps.o tshark-sync_pipe_write.o tshark-timestats.o tshark-util.o tshark-tap-megaco-common.o tshark-tap-rtp-common.o tshark-version_info.o tshark-tap-afpstat.o tshark-tap-ansi_astat.o tshark-tap-bootpstat.o tshark-tap-camelcounter.o tshark-tap-camelsrt.o tshark-tap-comparestat.o tshark-tap-dcerpcstat.o tshark-tap-funnel.o tshark-tap-gsm_astat.o tshark-tap-h225counter.o tshark-tap-h225rassrt.o tshark-tap-httpstat.o tshark-tap-iostat.o tshark-tap-iousers.o tshark-tap-mgcpstat.o tshark-tap-megacostat.o tshark-tap-protocolinfo.o tshark-tap-protohierstat.o tshark-tap-radiusstat.o tshark-tap-rpcstat.o tshark-tap-rpcprogs.o tshark-tap-rtp.o tshark-tap-sctpchunkstat.o tshark-tap-sipstat.o tshark-tap-smbsids.o tshark-tap-smbstat.o tshark-tap-stats_tree.o tshark-tap-wspstat.o tshark-capture_opts.o tshark-capture_sync.o tshark-tempfile.o tshark-tshark-tap-register.o tshark-tshark.o .libs/tsharkS.o -L/opt/csw/lib -L/usr/local/lib plugins/asn1/.libs/asn1.a plugins/docsis/.libs/docsis.a plugins/ethercat/.libs/ethercat.a plugins/giop/.libs/cosnaming.a plugins/giop/.libs/coseventcomm.a plugins/gryphon/.libs/gryphon.a plugins/irda/.libs/irda.a plugins/m2m/.libs/m2m.a plugins/mate/.libs/mate.a plugins/opcua/.libs/opcua.a plugins/profinet/.libs/profinet.a plugins/sercosiii/.libs/sercosiii.a plugins/stats_tree/.libs/stats_tree.a plugins/unistim/.libs/unistim.a plugins/wimax/.libs/wimax.a wiretap/.libs/libwiretap.a -L/opt/csw/mozilla/firefox/lib -L/opt/csw/lib/evolution/2.6 -L/usr/openwin/lib epan/.libs/libwireshark.a /export/home/wireshark-1.2.1/wsutil/.libs/libwsutil.a wsutil/.libs/libwsutil.a /opt/csw/lib/libgmodule-2.0.so -ldl /opt/csw/lib/libglib-2.0.so -lsunmath -lm -lpcap /opt/csw/lib/libgnutls.so /opt/csw/lib/libgcrypt.so /opt/csw/lib/libgpg-error.so /opt/csw/lib/libintl.a /opt/csw/lib/libiconv.so -lc -lsocket -lnsl -lz -R/opt/csw/lib -R/opt/csw/lib -R/usr/local/lib -R/opt/csw/gcc3/lib
ld: fatal: option -dy and -a are incompatible
ld: fatal: Flags processing errors
collect2: ld returned 1 exit status
rm -f .libs/tsharkS.o
make[2]: *** [tshark] Error 1
make[2]: Leaving directory `/export/home/wireshark-1.2.1'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/export/home/wireshark-1.2.1'
make: *** [all] Error 2


Remedy:
I did the build again (this time removed the line "--enable-static --disable-shared") and got finally a nice sun package. Nevertheless I would like to have a simply tshark binary with only a few dependencies.

Any hints to get around the nasty/blocking error with the dynamic linker stating the "-dy/-a" issue?

cheers
tim

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.