I decided to remove the suppression of warnings.  Here is the result:

   # make
   gcc -O2 -Wall `libnet-config --defines` \
           -o tcptraceroute tcptraceroute.c \
           -I/sw/include -L/sw/lib \
           `libnet-config --libs` -lpcap
   tcptraceroute.c: In function `iptohost':
   tcptraceroute.c:387: warning: implicit declaration of function `libnet_host_lookup'
   tcptraceroute.c:387: warning: return makes pointer from integer without a cast
   tcptraceroute.c: In function `defaults':
   tcptraceroute.c:658: warning: implicit declaration of function `libnet_name_resolve'
   tcptraceroute.c:742: warning: implicit declaration of function 
`libnet_open_raw_sock'
   tcptraceroute.c: In function `probe':
   tcptraceroute.c:855: warning: passing arg 1 of `libnet_write_raw_ipv4' makes 
pointer from integer without a cast
   ld: Undefined symbols:
   _libnet_host_lookup
   _libnet_name_resolve
   _libnet_open_raw_sock
   make: *** [tcptraceroute] Error 1
   # 

Proceeding from here could be a bit challenging.  If anyone has suggestions I would be
glad to hear them.  Here are the changes I made in diff -e format:

# diff -e tcptraceroute.c.20030323  tcptraceroute.c 
1128a
        char ebuf[FILENAME_MAX];

        l=libnet_init(LIBNET_RAW4, NULL, ebuf);
.
836c
        libnet_do_checksum(l, buf, IPPROTO_TCP, LIBNET_TCP_H + o_pktlen);
.
834c
                l,
                0);
.
831a
                0,
.
830a
                0,
.
822c
                l,
                0);
.
817a
                0,
.
762,763c
                "(tcp and src host %s and src port %d and dst host %s and dst port %d) 
or ((icmp[0] == 11 or icmp[0] == 3) and dst host %s)",
.
730c
        libnet_seed_prand(l);
.
220,223c
    fatal("Usage: %s [-nFE] [-i <interface>] [-f <first ttl>] [-l <packet length>] [-q 
<number of queries>] [-t <tos>] [-m <max ttl>] [-[pP] <source port>] [-s <source 
address>] [-w <wait time>] <host> [destination port] [packet length]\n\n", name);
.
167a
libnet_t *l;

.
118a
#define LIBNET_IP_H LIBNET_IPV4_H
#define LIBNET_ICMP_H LIBNET_ICMPV4_H
#define PRu16 LIBNET_PRu16
#define PRu32 LIBNET_PRu32
#define libnet_build_ip libnet_build_ipv4
#define libnet_write_ip libnet_write_raw_ipv4
#define libnet_icmp_hdr libnet_icmpv4_hdr
#define libnet_ip_hdr   libnet_ipv4_hdr

.
116a
#include <libnet/libnet-headers.h>
#include <libnet/libnet-functions.h>
.
# 

--Joel


> The warnings at lines 231 affected the line numbers listed for the errors.
> I also came up with #defines to resolve the rest.  I'm down to this:
> 
>    # make       
>    gcc -O2 -Wall `libnet-config --defines` \
>            -o tcptraceroute tcptraceroute.c \
>            -I/sw/include -L/sw/lib \
>            `libnet-config --libs` -lpcap -w
>    ld: Undefined symbols:
>    _libnet_host_lookup
>    _libnet_name_resolve
>    _libnet_open_raw_sock
>    make: *** [tcptraceroute] Error 1
>    # 
> 
> It's time to quit for the evening.  If anyone would like details on what
> I did I'll send out diff -e output (or whatever folks suggest) against the
> original source.
> 
> --Joel
> 
> 
> > Here's a followup on my earlier message...
> > 
> > I have gotten rid of the compilation errors and now turn to what remains.
> > [I must stress I made some guesses and it isn't clear that even if I can
> > get past the remaining issues that the result will be working code.] 
> > 
> > Here's what I'm seeing in terms of errors (at least this is what gcc is
> > saying after suppressing warnings):
> > 
> >    # make
> >    gcc -O2 -Wall `libnet-config --defines` \
> >            -o tcptraceroute tcptraceroute.c \
> >            -I /sw/include -L /sw/lib \
> >            `libnet-config --libs` -lpcap -w
> >    tcptraceroute.c:231: warning: ANSI C forbids newline in string constant
> >    tcptraceroute.c:773: warning: ANSI C forbids newline in string constant
> >    tcptraceroute.c: In function `capture':
> >    tcptraceroute.c:972: dereferencing pointer to incomplete type
> >    tcptraceroute.c:983: dereferencing pointer to incomplete type
> >    tcptraceroute.c:984: dereferencing pointer to incomplete type
> >    tcptraceroute.c:986: dereferencing pointer to incomplete type
> >    tcptraceroute.c:1009: dereferencing pointer to incomplete type
> >    tcptraceroute.c:1016: dereferencing pointer to incomplete type
> >    tcptraceroute.c:1029: dereferencing pointer to incomplete type
> >    tcptraceroute.c:1033: dereferencing pointer to incomplete type
> >    tcptraceroute.c:1075: dereferencing pointer to incomplete type
> >    tcptraceroute.c:1080: dereferencing pointer to incomplete type
> >    tcptraceroute.c:1082: dereferencing pointer to incomplete type
> >    tcptraceroute.c:1090: dereferencing pointer to incomplete type
> >    tcptraceroute.c:1110: dereferencing pointer to incomplete type
> >    make: *** [tcptraceroute] Error 1
> >    # 
> > 
> > I've hit a roadblock with the "dereferencing pointer to incomplete type" errors 
> > above
> > The rub is if I look at line 972 I don't see anything clearly applicable to the 
> > error.
> > For example, the error at line 1082 is a blank line.  The warnings for line 231 
> > and 773
> > are contextually correct -- see what the warning is citing.
> > 
> > I'm using the December 2002 Developer Tools should anyone wish to know.  The gcc 
> > version
> > is "gcc (GCC) 3.1 20020420 (prerelease)".
> > 
> > Anyone able to help me either make the error line number be correct for the errors 
> > or
> > able to give me a workaround to determine the line number?
> > 
> > --Joel
> > 
> > 
> > > I'm an interested fink user who would like to see tcptraceroute compile 
> > > successfully.  I also
> > > happen to be a software developer professionally.  I've taken a look at the 
> > > archived thread on
> > > this subject to date and have a suggestion to fix the PRu16 error.  Add the 
> > > #define PRu16 and
> > > PRU32 lines below after the other two suggested #defines:
> > > 
> > >    #define LIBNET_IP_H LIBNET_IPV4_H
> > >    #define LIBNET_ICMP_H LIBNET_ICMPV4_H
> > >    #define PRu16 LIBNET_PRu16
> > >    #define PRu32 LIBNET_PRu32
> > > 
> > > I also added this line after the #include for libnet.h:
> > > 
> > >    #include <libnet/libnet-headers.h> 
> > > 
> > > The following are the errors I'm seeing:
> > > 
> > >    [src/tcptraceroute-1.2-3/tcptraceroute-1.2] # make
> > >    gcc -O2 -Wall `libnet-config --defines` \
> > >            -o tcptraceroute tcptraceroute.c \
> > >            -I /sw/include \
> > >            `libnet-config --libs` -lpcap
> > >    tcptraceroute.c:226: warning: ANSI C forbids newline in string constant
> > >    tcptraceroute.c:768: warning: ANSI C forbids newline in string constant
> > >    tcptraceroute.c:229:1: warning: multi-line string literals are deprecated
> > >    tcptraceroute.c: In function `iptohost':
> > >    tcptraceroute.c:386: warning: implicit declaration of function 
> > > `libnet_host_lookup'
> > >    tcptraceroute.c:386: warning: return makes pointer from integer without a cast
> > >    tcptraceroute.c: In function `defaults':
> > >    tcptraceroute.c:657: warning: implicit declaration of function 
> > > `libnet_name_resolve'
> > >    tcptraceroute.c:739: too few arguments to function `libnet_seed_prand'
> > >    tcptraceroute.c:741: warning: implicit declaration of function 
> > > `libnet_open_raw_sock'
> > >    tcptraceroute.c:772:1: warning: multi-line string literals are deprecated
> > >    tcptraceroute.c: In function `probe':
> > >    tcptraceroute.c:821: warning: implicit declaration of function 
> > > `libnet_build_ip'
> > >    tcptraceroute.c:844: warning: passing arg 8 of `libnet_build_tcp' makes 
> > > integer from pointer without a cast
> > >    tcptraceroute.c:844: too few arguments to function `libnet_build_tcp'
> > >    tcptraceroute.c:846: warning: passing arg 1 of `libnet_do_checksum' from 
> > > incompatible pointer type
> > >    tcptraceroute.c:846: warning: passing arg 2 of `libnet_do_checksum' makes 
> > > pointer from integer without a cast
> > >    tcptraceroute.c:846: too few arguments to function `libnet_do_checksum'
> > >    tcptraceroute.c:851: warning: implicit declaration of function 
> > > `libnet_write_ip'
> > >    tcptraceroute.c: In function `capture':
> > >    tcptraceroute.c:962: dereferencing pointer to incomplete type
> > >    tcptraceroute.c:973: dereferencing pointer to incomplete type
> > >    tcptraceroute.c:974: dereferencing pointer to incomplete type
> > >    tcptraceroute.c:976: dereferencing pointer to incomplete type
> > >    tcptraceroute.c:999: dereferencing pointer to incomplete type
> > >    tcptraceroute.c:1006: dereferencing pointer to incomplete type
> > >    tcptraceroute.c:1019: dereferencing pointer to incomplete type
> > >    tcptraceroute.c:1023: dereferencing pointer to incomplete type
> > >    tcptraceroute.c:1065: dereferencing pointer to incomplete type
> > >    tcptraceroute.c:1070: dereferencing pointer to incomplete type
> > >    tcptraceroute.c:1072: dereferencing pointer to incomplete type
> > >    tcptraceroute.c:1080: dereferencing pointer to incomplete type
> > >    tcptraceroute.c:1100: dereferencing pointer to incomplete type
> > >    make: *** [tcptraceroute] Error 1
> > >    [src/tcptraceroute-1.2-3/tcptraceroute-1.2] # 
> > > 
> > > My largest concern at this point are the "too few arguments" errors.  I'll look 
> > > into them and see what I
> > > can suggest.
> > > 
> > > --Joel
> > > 
> > > On Tuesday, January 28, 2003, at 04:36 PM, Jeremy Higgs wrote:
> > > >  Hmmm... OK. Now I've added the include line for libnet/libnet-headers.h  and 
> > > > the defines lines you
> > > > mentioned, but I get this (notice the define  errors have gone):
> > > >  
> > > >  patch -p1 </sw/fink/dists/local/main/finkinfo/tcptraceroute-1.4-1.patch
> > > >  patching file tcptraceroute.c
> > > >  echo "No configure script."
> > > >  No configure script.
> > > >  # (cc -Wall -I/sw/include `libnet-config --defines` -o tcptraceroute  
> > > > tcptraceroute.c `libnet-config
> > > > --libs` -L/sw/lib -lpcap)
> > > >   make tcptraceroute CFLAGS=-I/sw/include
> > > >  gcc -I/sw/include `libnet-config --defines` \
> > > >          -o tcptraceroute tcptraceroute.c \
> > > >          `libnet-config --libs` -lpcap
> > > >  tcptraceroute.c:397: warning: ANSI C forbids newline in string constant
> > > >  tcptraceroute.c:1188: warning: ANSI C forbids newline in string constant
> > > >  tcptraceroute.c:400:1: warning: multi-line string literals are  deprecated
> > > >  tcptraceroute.c: In function `iptohost':
> > > >  tcptraceroute.c:602: warning: return makes pointer from integer without  a 
> > > > cast
> > > >  tcptraceroute.c: In function `allocateid':
> > > >  tcptraceroute.c:891: `PRu16' undeclared (first use in this function)
> > > >  tcptraceroute.c:891: (Each undeclared identifier is reported only once
> > > >  tcptraceroute.c:891: for each function it appears in.)
> > > >  tcptraceroute.c: In function `defaults':
> > > >  tcptraceroute.c:1151: too few arguments to function `libnet_seed_prand'
> > > >  tcptraceroute.c:1193:1: warning: multi-line string literals are  deprecated
> > > >  tcptraceroute.c: In function `probe':
> > > >  tcptraceroute.c:1306: warning: passing arg 8 of `libnet_build_tcp'  makes 
> > > > integer from pointer without a
> > > > cast
> > > >  tcptraceroute.c:1306: too few arguments to function `libnet_build_tcp'
> > > >  tcptraceroute.c:1308: warning: passing arg 1 of `libnet_do_checksum'  from 
> > > > incompatible pointer type
> > > >  tcptraceroute.c:1308: warning: passing arg 2 of `libnet_do_checksum'  makes 
> > > > pointer from integer without
> > > > a cast
> > > >  tcptraceroute.c:1308: too few arguments to function `libnet_do_checksum'
> > > >  tcptraceroute.c: In function `capture':
> > > >  tcptraceroute.c:1429: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1435: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1441: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1444: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1454: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1492: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1498: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1504: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1507: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1511: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1514: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1519: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1526: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1540: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1544: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1585: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1589: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1594: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1597: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1602: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1603: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1606: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1614: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1618: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1621: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1634: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1635: dereferencing pointer to incomplete type
> > > >  tcptraceroute.c:1678: dereferencing pointer to incomplete type
> > > >  make: *** [tcptraceroute] Error 1
> > > >  ### execution of  failed, exit code 2
> > > >  Failed: compiling tcptraceroute-1.4-1 failed
> > > >  
> > > >  But it's still essentially the same error.
> > > >  
> > > >  Any ideas?
> > > >  
> > > >  Thanks a lot!
> > > >  
> > > > On Tuesday, January 28, 2003, at 05:51 PM, Carsten Klapp wrote:
> > > > > 
> > > > > 
> > > > >Hi Jeremy,
> > > > > Nevermind my previous answer... I just noticed  
> > > > > /sw/include/libnet/libnet-headers.h declares specifically
> > > > >LIBNET_IPV4_H and LIBNET_ICMPV4_H instead of LIBNET_IP_H and  LIBNET_ICMP_H.
> > > > > 
> > > > > Try patching in this at some point in the code after the "#include  
> > > > > <libnet/libnet-headers.h>" line:
> > > > > #define LIBNET_IP_H LIBNET_IPV4_H
> > > > > #define LIBNET_ICMP_H LIBNET_ICMPV4_H
> > > > > 
> > > > > The other errors should probably go away then too. As for the "PRu16"  error 
> > > > > I have no clue, sorry.
> > > > > Carsten
> > > 
> > > 
> > > -------------------------------------------------------
> > > This SF.net email is sponsored by:Crypto Challenge is now open! 
> > > Get cracking and register here for some mind boggling fun and 
> > > the chance of winning an Apple iPod:
> > > http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en
> > > _______________________________________________
> > > Fink-devel mailing list
> > > [EMAIL PROTECTED]
> > > https://lists.sourceforge.net/lists/listinfo/fink-devel
> > > 
> > 
> > 
> > 
> > -------------------------------------------------------
> > This SF.net email is sponsored by:Crypto Challenge is now open! 
> > Get cracking and register here for some mind boggling fun and 
> > the chance of winning an Apple iPod:
> > http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en
> > _______________________________________________
> > Fink-devel mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/fink-devel
> > 
> 
> 
> 
> -------------------------------------------------------
> This SF.net email is sponsored by:Crypto Challenge is now open! 
> Get cracking and register here for some mind boggling fun and 
> the chance of winning an Apple iPod:
> http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en
> _______________________________________________
> Fink-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/fink-devel
> 



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to