Wireshark-users: Re: [Wireshark-users] Build problems with Sun's compiler on Solaris 10

From: "Dr. David Kirkby" <david.kirkby@xxxxxxxxxx>
Date: Thu, 07 Feb 2008 09:08:32 +0000
Stig Bj�rlykke wrote:
2008/2/7, Dr. David Kirkby <david.kirkby@xxxxxxxxxx <mailto:david.kirkby@xxxxxxxxxx>>:

    I've trying to build wireshark-0.99.7  on a Sun Blade 2000 workstation
    running Solaris 10 update 4 using Sun's studio 11 compiler suite.

    Here are some notes. #6 is a show-stopper, as it is stopping me
    building
    wireshark - the others are minor points I believe which need
    fixing, but
    are quite easy to fix.


Hi.

Unfortunately the ethercat plugin had some anonymous structs and unions when releasing 0.99.7. They have been fixed in several commits to trunk, so please have a look at r24024, r24061, r24277 and r24279.
Thanks.

As I suppose none of the core developers are building with this compiler it would be nice if you could try patching with the given revisions, or just copy the ethercat files from trunk, and give us a feedback if this works.
I have got the plugin working now although I still have problems. I copied the files from trunk over the original files and the plugin builds ok. (Note, I did not create a new configure script for the plugin)


I've still got other issues though building wireshark, since after fixing that, it later bombs out:


gmake[2]: Entering directory `/export/home/drkirkby/foobar/wireshark-0.99.7/help'
gmake[2]: Nothing to be done for `all'.
gmake[2]: Leaving directory `/export/home/drkirkby/foobar/wireshark-0.99.7/help'
Making all in codecs
gmake[2]: Entering directory `/export/home/drkirkby/foobar/wireshark-0.99.7/codecs'
gmake[2]: Nothing to be done for `all'.
gmake[2]: Leaving directory `/export/home/drkirkby/foobar/wireshark-0.99.7/codecs'
Making all in gtk
gmake[2]: Entering directory `/export/home/drkirkby/foobar/wireshark-0.99.7/gtk'
gmake[2]: Nothing to be done for `all'.
gmake[2]: Leaving directory `/export/home/drkirkby/foobar/wireshark-0.99.7/gtk'
gmake[2]: Entering directory `/export/home/drkirkby/foobar/wireshark-0.99.7'
/bin/bash ./libtool --tag=CC --mode=link /opt/SUNWspro/bin/cc -D_U_="" -g -I/usr/local/include -mt -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/openwin/include -I/usr/sfw/include -I/usr/sfw/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -export-dynamic -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 wireshark capture-pcap-util-unix.o capture_errs.o capture-pcap-util.o capture_ui_utils.o cfile.o clopts_common.o disabled_protos.o packet-range.o print.o ps.o sync_pipe_write.o timestats.o util.o version_info.o airpcap_loader.o alert_box.o capture.o capture_info.o capture_opts.o capture_sync.o color_filters.o file.o fileset.o filters.o g711.o merge.o proto_hier_stats.o summary.o tempfile.o gtk/libui.a codecs/libcodec.a wiretap/libwiretap.la epan/libwireshark.la -dlopen plugins/agentx/agentx.la -dlopen plugins/artnet/artnet.la -dlopen plugins/asn1/asn1.la -dlopen plugins/ciscosm/ciscosm.la -dlopen plugins/docsis/docsis.la -dlopen plugins/enttec/enttec.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/lwres/lwres.la -dlopen plugins/m2m/m2m.la -dlopen plugins/mate/mate.la -dlopen plugins/opcua/opcua.la -dlopen plugins/opsi/opsi.la -dlopen plugins/pcli/pcli.la -dlopen plugins/profinet/profinet.la -dlopen plugins/rlm/rlm.la -dlopen plugins/rtnet/rtnet.la -dlopen plugins/rudp/rudp.la -dlopen plugins/sbus/sbus.la -dlopen plugins/stats_tree/stats_tree.la -dlopen plugins/unistim/unistim.la -dlopen plugins/v5ua/v5ua.la -dlopen plugins/wimax/wimax.la -lpcap -mt -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lmlib -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lnsl -lz -R/usr/lib:/usr/openwin/lib:/usr/local/lib:/usr/local/lib/X11:/usr/local/X11R6.4/lib:/usr/ucblib:/opt/hpnpl/lib:/opt/csw/lib
rm -f .libs/wireshark.nm .libs/wireshark.nmS .libs/wireshark.nmT
creating .libs/wiresharkS.c
(cd .libs && /opt/SUNWspro/bin/cc  -g -c "wiresharkS.c")
rm -f .libs/wiresharkS.c .libs/wireshark.nm .libs/wireshark.nmS .libs/wireshark.nmT /opt/SUNWspro/bin/cc -D_U_= -g -I/usr/local/include -mt -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/openwin/include -I/usr/sfw/include -I/usr/sfw/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -o .libs/wireshark capture-pcap-util-unix.o capture_errs.o capture-pcap-util.o capture_ui_utils.o cfile.o clopts_common.o disabled_protos.o packet-range.o print.o ps.o sync_pipe_write.o timestats.o util.o version_info.o airpcap_loader.o alert_box.o capture.o capture_info.o capture_opts.o capture_sync.o color_filters.o file.o fileset.o filters.o g711.o merge.o proto_hier_stats.o summary.o tempfile.o .libs/wiresharkS.o -mt -L/usr/local/lib gtk/libui.a codecs/libcodec.a wiretap/.libs/libwiretap.so epan/.libs/libwireshark.so -lpcap -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lmlib -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lnsl -lz -R/usr/local/lib -R/usr/lib:/usr/openwin/lib:/usr/local/lib:/usr/local/lib/X11:/usr/local/X11R6.4/lib:/usr/ucblib:/opt/hpnpl/lib:/opt/csw/lib
Undefined                       first referenced
symbol                             in file
getservbyname /usr/local/lib/libpcap.a(nametoaddr.o) (symbol belongs to implicit dependency /usr/lib/libsocket.so.1) ether_hostton /usr/local/lib/libpcap.a(nametoaddr.o) (symbol belongs to implicit dependency /usr/lib/libsocket.so.1) socket /usr/local/lib/libpcap.a(fad-glifc.o) (symbol belongs to implicit dependency /usr/lib/libsocket.so.1) getprotobyname /usr/local/lib/libpcap.a(nametoaddr.o) (symbol belongs to implicit dependency /usr/lib/libsocket.so.1) getnetbyname /usr/local/lib/libpcap.a(nametoaddr.o) (symbol belongs to implicit dependency /usr/lib/libsocket.so.1)
ld: fatal: Symbol referencing errors. No output written to .libs/wireshark
gmake[2]: *** [wireshark] Error 1
gmake[2]: Leaving directory `/export/home/drkirkby/foobar/wireshark-0.99.7'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/export/home/drkirkby/foobar/wireshark-0.99.7'
gmake: *** [all] Error 2



This could possibly be related to the libpcap issue I reported earlier. I'm not aware of there being any libpcap version on the system apart from libpcap-0.9.8 which I compiled into /usr/local yesterday.