Wireshark-dev: Re: [Wireshark-dev] make a extension for packet-sctp.c, meet a problem.
From: 黄登辉 <[email protected]>
Date: Thu, 31 May 2012 23:27:46 +0800
Hi
    Thanks for your remainder, i think i miss re-running autogen.sh and configure. 

Yes, i am developing against something other than the current trunk, because what am i developing is not common feature for
all wireshark users, i think. it is kind of  self-defined feature for analyzing whether is there some sctp data chunks with non-continuous 
TSN in target pcap file. 



2012/5/31 Jeff Morriss <[email protected]>
Was sctp_packet_lost_stat_dlg.c compiled and linked into gtk/libui.a ? Was automake re-run (usually when I update Makefile.common, automake is automatically rerun).  If not, try re-running autogen.sh and configure.

Is it possible that the missing symbol is declared as static?

(BTW, I notice that you're developing against something other than the current trunk; if you intend to submit your work for inclusion in Wireshark, you really should be working on trunk, not the 1.6 trunk.)

黄登辉 wrote:
Hi
  Thanks, yes,add all exported symbols in epan/libwireshark.def can fix my problem.
    Another problem,  i want to add a file named as sctp_packet_lost_stat_dlg.c in gtk directory, and add menuitem SctpPacketLostStat in Statistics.
in order to make this menuitem available, i make some change in menus.c, also modified gtk/Makefile.common to make sctp_packet_lost_stat_dlg.c be compiled in to
wireshark. like the following
WIRESHARK_GTK_SRC = \
   about_dlg.c    \
........
   summary_dlg.c    \
   sctp_packet_lost_stat_dlg.c \
..........

but i still get compile error

libtool: link: (cd .libs && gcc -DINET6 -D_U_="__attribute__((unused))" -g -O2 -Wall -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wpointer-arith -Wno-pointer-sign -Warray-bounds -Wcast-align -Wformat-security -I/usr/local/include -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -c -fno-builtin "wiresharkS.c")
libtool: link: rm -f ".libs/wiresharkS.c" ".libs/wireshark.nm" ".libs/wireshark.nmS" ".libs/wireshark.nmT"
libtool: link: gcc -DINET6 "-D_U_=__attribute__((unused))" -g -O2 -Wall -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wpointer-arith -Wno-pointer-sign -Warray-bounds -Wcast-align -Wformat-security -I/usr/local/include -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -Wl,--as-needed -o .libs/wireshark wireshark-capture-pcap-util-unix.o wireshark-capture-pcap-util.o wireshark-cfile.o wireshark-clopts_common.o wireshark-disabled_protos.o wireshark-frame_data_sequence.o wireshark-packet-range.o wireshark-print.o wireshark-ps.o wireshark-sync_pipe_write.o wireshark-timestats.o wireshark-util.o wireshark-tap-megaco-common.o wireshark-tap-rtp-common.o wireshark-version_info.o wireshark-capture_errs.o wireshark-capture_ifinfo.o wireshark-capture_ui_utils.o wireshark-airpcap_loader.o wireshark-alert_box.o wireshark-capture.o wireshark-capture_info.o wireshark-capture_opts.o wireshark-capture_sync.o wireshark-color_filters.o wireshark-file.o wireshark-fileset.o wireshark-filters.o wireshark-g711.o wireshark-merge.o wireshark-proto_hier_stats.o wireshark-summary.o wireshark-tempfile.o wireshark-u3.o .libs/wiresharkS.o -pthread -Wl,--export-dynamic  -L/usr/local/lib gtk/libui.a gtk/libui_dirty.a codecs/libcodec.a wiretap/.libs/libwiretap.so epan/.libs/libwireshark.so wsutil/.libs/libwsutil.so -lpcap -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lm -lz -pthread -Wl,-rpath -Wl,/usr/local/lib
gtk/libui.a(libui_a-menus.o):(.data+0x20d0): undefined reference to `sctp_packet_lost_stat_cb'

Did i miss some steps to make thing right?

2012/5/30 Jeff Morriss <[email protected] <mailto:[email protected]com>>


   黄登辉 wrote:

       Hi
          I meet a problem, i define a global variable e.g.
       g_sctp_packet_analyzing_debug in packet-sctp.c, then we want to
       access it in tshark.c.
       even make a statement in tshark.c, i still meet link error
       undefined reference to `g_sctp_packet_analyzing___debug. i know

       it should be linked with
       packet-sctp.o, but seems that wireshark compile system don't
       generate object file packet-sctp.o, i am not familiar with
       wireshark compile system.
       Any expert can help me this out? thanks.


   Any symbols put in libwireshark (e.g., from packet-sctp.c) need to
   be exported by being listed in epan/libwireshark.def .  (That file
   used to be only for Win32, but now *NIX builds also use it.)
   _______________________________________________________________________________

   Sent via:    Wireshark-dev mailing list <[email protected]
   <mailto:[email protected]wireshark.org>>
   Archives:    http://www.wireshark.org/__lists/wireshark-dev
   <http://www.wireshark.org/lists/wireshark-dev>
   Unsubscribe: https://wireshark.org/mailman/__options/wireshark-dev
   <https://wireshark.org/mailman/options/wireshark-dev>
              mailto:[email protected]__wireshark.org
   <mailto:[email protected]wireshark.org>?subject=__unsubscribe



------------------------------------------------------------------------


___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <[email protected]>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
            mailto:[email protected]wireshark.org?subject=unsubscribe

___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <[email protected]>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
           mailto:[email protected]wireshark.org?subject=unsubscribe