[tor-bugs] #26715 [Core Tor]: Tor 85d6b41 on FreeBSD 12-CURRENT: error: use of undeclared identifier 'O_RDWR'

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Jul 10 01:16:43 UTC 2018


#26715: Tor 85d6b41 on FreeBSD 12-CURRENT: error: use of undeclared identifier
'O_RDWR'
-----------------------+----------------------
 Reporter:  neel       |          Owner:  neel
     Type:  defect     |         Status:  new
 Priority:  Immediate  |      Milestone:
Component:  Core Tor   |        Version:
 Severity:  Blocker    |     Resolution:
 Keywords:             |  Actual Points:
Parent ID:             |         Points:
 Reviewer:             |        Sponsor:
-----------------------+----------------------

Comment (by neel):

 I have a patch with the filename `p1` which fixes the described error, but
 there is another compile error with IPv6 related code after this patch (I
 need that patch to get here, this comes after `p1`):

 {{{
   CC       src/lib/net/address.o
   CC       src/lib/net/ipv6.o
 src/lib/net/ipv6.c:33:13: error: use of undeclared identifier 'AF_INET'
   if (af == AF_INET) {
             ^
 src/lib/net/ipv6.c:38:20: error: use of undeclared identifier 'AF_INET6'
   } else if (af == AF_INET6) {
                    ^
 src/lib/net/ipv6.c:45:34: error: incomplete definition of type 'struct
 in6_addr'
       words[i] = (((uint16_t)addr->s6_addr[2*i])<<8) +
 addr->s6_addr[2*i+1];
                              ~~~~^
 src/lib/net/ipv6.c:39:18: note: forward declaration of 'struct in6_addr'
     const struct in6_addr *addr = src;
                  ^
 src/lib/net/ipv6.c:45:60: error: incomplete definition of type 'struct
 in6_addr'
       words[i] = (((uint16_t)addr->s6_addr[2*i])<<8) +
 addr->s6_addr[2*i+1];
                                                        ~~~~^
 src/lib/net/ipv6.c:39:18: note: forward declaration of 'struct in6_addr'
     const struct in6_addr *addr = src;
                  ^
 src/lib/net/ipv6.c:53:26: error: incomplete definition of type 'struct
 in6_addr'
                      addr->s6_addr[12], addr->s6_addr[13],
                      ~~~~^
 src/lib/net/ipv6.c:39:18: note: forward declaration of 'struct in6_addr'
     const struct in6_addr *addr = src;
                  ^
 src/lib/net/ipv6.c:53:45: error: incomplete definition of type 'struct
 in6_addr'
                      addr->s6_addr[12], addr->s6_addr[13],
                                         ~~~~^
 src/lib/net/ipv6.c:39:18: note: forward declaration of 'struct in6_addr'
     const struct in6_addr *addr = src;
                  ^
 src/lib/net/ipv6.c:54:26: error: incomplete definition of type 'struct
 in6_addr'
                      addr->s6_addr[14], addr->s6_addr[15]);
                      ~~~~^
 src/lib/net/ipv6.c:39:18: note: forward declaration of 'struct in6_addr'
     const struct in6_addr *addr = src;
                  ^
 src/lib/net/ipv6.c:54:45: error: incomplete definition of type 'struct
 in6_addr'
                      addr->s6_addr[14], addr->s6_addr[15]);
                                         ~~~~^
 src/lib/net/ipv6.c:39:18: note: forward declaration of 'struct in6_addr'
     const struct in6_addr *addr = src;
                  ^
 src/lib/net/ipv6.c:57:26: error: incomplete definition of type 'struct
 in6_addr'
                      addr->s6_addr[12], addr->s6_addr[13],
                      ~~~~^
 src/lib/net/ipv6.c:39:18: note: forward declaration of 'struct in6_addr'
     const struct in6_addr *addr = src;
                  ^
 src/lib/net/ipv6.c:57:45: error: incomplete definition of type 'struct
 in6_addr'
                      addr->s6_addr[12], addr->s6_addr[13],
                                         ~~~~^
 src/lib/net/ipv6.c:39:18: note: forward declaration of 'struct in6_addr'
     const struct in6_addr *addr = src;
                  ^
 src/lib/net/ipv6.c:58:26: error: incomplete definition of type 'struct
 in6_addr'
                      addr->s6_addr[14], addr->s6_addr[15]);
                      ~~~~^
 src/lib/net/ipv6.c:39:18: note: forward declaration of 'struct in6_addr'
     const struct in6_addr *addr = src;
                  ^
 src/lib/net/ipv6.c:58:45: error: incomplete definition of type 'struct
 in6_addr'
                      addr->s6_addr[14], addr->s6_addr[15]);
                                         ~~~~^
 src/lib/net/ipv6.c:39:18: note: forward declaration of 'struct in6_addr'
     const struct in6_addr *addr = src;
                  ^
 src/lib/net/ipv6.c:122:13: error: use of undeclared identifier 'AF_INET'
   if (af == AF_INET) {
             ^
 src/lib/net/ipv6.c:124:20: error: use of undeclared identifier 'AF_INET6'
   } else if (af == AF_INET6) {
                    ^
 src/lib/net/ipv6.c:213:10: error: incomplete definition of type
       'struct in6_addr'
       out->s6_addr[2*i  ] = words[i] >> 8;
       ~~~^
 src/lib/net/ipv6.c:125:12: note: forward declaration of 'struct in6_addr'
     struct in6_addr *out = dst;
            ^
 src/lib/net/ipv6.c:214:10: error: incomplete definition of type
       'struct in6_addr'
       out->s6_addr[2*i+1] = words[i] & 0xff;
       ~~~^
 src/lib/net/ipv6.c:125:12: note: forward declaration of 'struct in6_addr'
     struct in6_addr *out = dst;
            ^
 16 errors generated.
 *** Error code 1

 Stop.
 make[1]: stopped in /usr/home/neel/code/tor/tor
 *** Error code 1

 Stop.
 make: stopped in /usr/home/neel/code/tor/tor
 neel at xb3:~/code/tor/tor %
 }}}

 It seems the refactor has made compilation problems for *BSD.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/26715#comment:3>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list