Dr. David Kirkby wrote:

> 2) I just installed libpcap from the file libpcap-0.9.8.tar.gz, but the 
> wireshark configure script complains that the pcap library is more 
> recent than the pcap header.
> 
> checking whether pcap_breakloop is present and usable... broken
> configure: WARNING: Your pcap library is more recent than your pcap header.
> configure: WARNING: Wireshark won't be able to use functions not declared
> configure: WARNING: in that header. You should install a newer version of
> configure: WARNING: the header file.
> checking whether pcap_findalldevs is present and usable... yes
> checking for pcap_datalink_val_to_name... yes
> 
> I've no idea why this should be so.

Well, one way that should be so would be if, for example, a hypothetical 
maker of UN*X boxes, whose version of UN*X includes libpcap, were to put 
out an online OS update that upgrades its version of libpcap as part of 
a tcpdump/libpcap upgrade to plug some security holes, with the upgrade 
to libpcap being an upgrade from a version without pcap_breakloop() to a 
version with pcap_breakloop(), and if that vendor were to treat header 
files as part of its development tools, and not to update them with that 
online OS update, so that you have a library with pcap_breakloop() and a 
header file that doesn't declare it.

As you built and installed libpcap yourself, that wouldn't be it, so 
we'd have to look elsewhere.  What are the contents of your config.log file?

> 6) NOW THIS IS THE SERIOUS PROBLEM - it stops me building wireshark and 
> I have not yet found a solution.
> 
> ./configure CC=/opt/SUNWspro/bin/cc CXX=/opt/SUNWspro/bin/CC
> This configures OK - see above for what is configured.
> 
> gmake
> 
> After quite a bit of time compiling OK, the compilation process aborts 
> with:
> 
> source='packet-ecatmb.c' object='packet-ecatmb.lo' libtool=yes \
> DEPDIR=.deps depmode=none /bin/bash ../../depcomp \
> /bin/bash ../../libtool --tag=CC   --mode=compile /opt/SUNWspro/bin/cc 
> -DHAVE_CONFIG_H -I. -I../.. -I../.. -I/usr/local/include  
> -I/usr/local/include 
> '-DPLUGIN_DIR="/usr/local/lib/wireshark/plugins/0.99.7"'  -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   -c -o packet-ecatmb.lo packet-ecatmb.c
> /opt/SUNWspro/bin/cc -DHAVE_CONFIG_H -I. -I../.. -I../.. 
> -I/usr/local/include -I/usr/local/include 
> -DPLUGIN_DIR=\"/usr/local/lib/wireshark/plugins/0.99.7\" -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 -c packet-ecatmb.c  -KPIC -DPIC -o 
> .libs/packet-ecatmb.o
> "packet-ecatmb.c", line 291: improper member use: Control

Are you compiling with the latest version of plugins/ethercat/ecatmb.h? 
    What, for example, are the definitions of SoeHeaderControlUnion and 
PETHERCAT_SOE_HEADER in that header?  They should be

typedef union tSoeHeaderControlUnion
{
    struct
    {
       guint8 OpCode     : 3; /* 0 = unused, 1 = readReq, 2 = readRes, 3 
= writeReq, 4 = writeRes
                              5 = notification (command changed 
notification)*/
       guint8 InComplete : 1; /* more follows*/
       guint8 Error      : 1; /* an error word follows */
       guint8 DriveNo    : 3; /* drive number */

       guint8 DataState  : 1; /* follows or requested */
       guint8 Name       : 1; /* follows or requested */
       guint8 Attribute  : 1; /* follows or requested */
       guint8 Unit       : 1; /* follows or requested */
       guint8 Min        : 1; /* follows or requested */
       guint8 Max        : 1; /* follows or requested */
       guint8 Value      : 1; /* follows or requested */
       guint8 Reserved   : 1;
    } v;
    struct
    {
       guint8 Control;
       guint8 Element;
    } v2;
} SoeHeaderControlUnion;

and

typedef struct TETHERCAT_SOE_HEADER
{
    SoeHeaderControlUnion anSoeHeaderControlUnion;
    SoeHeaderDataUnion anSoeHeaderDataUnion;
    /* typedef union tMailBoxDataUnion
    {
    guint8    Data[]   rest of mailbox data  if (Error==0)
    guint16 ErrorCode                        if (Error==1)
    } MailBoxDataUnion;*/
} ETHERCAT_SOE_HEADER, *PETHERCAT_SOE_HEADER;
_______________________________________________
Wireshark-users mailing list
Wireshark-users@wireshark.org
http://www.wireshark.org/mailman/listinfo/wireshark-users

Reply via email to