Dear Ben,

Sorry, there were two places in the code, where one needs this BSD 
specific code.
The change [1] move the code to an include file, so there is now a 
single place
to address the problem in both cases.

all the best
-g

[1] 
https://bitbucket.org/naviserver/naviserver/commits/c75959d0c165f6dc0f977673720dca8e88aebb2e

Am 24.06.16 um 10:34 schrieb Benjamin Brink:
> Thank you, Gustaf.
>
> Your change seems to have quashed the error until further in the build
> with apparently a similar error in another file:
>
> gcc -O2 -DNDEBUG -Wall -fPIC  -pipe   -I../include
> -I"/usr/local/ns/include"  -DHAVE_CONFIG_H   -c -o reentrant.o reentrant.c
> In file included from /usr/include/machine/endian.h:6:0,
>                    from
> /usr/local/lib/gcc48/gcc/x86_64-portbld-freebsd10.2/4.8.5/include-fixed/sys/types.h:53,
>                    from ../include/nsthread.h:302,
>                    from thread.h:40,
>                    from reentrant.c:38:
> reentrant.c: In function 'ns_inet_ntoa':
> reentrant.c:149:27: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[0]), ntohs(addr.s6_addr16[1]),
>                              ^
> reentrant.c:149:27: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[0]), ntohs(addr.s6_addr16[1]),
>                              ^
> reentrant.c:149:27: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[0]), ntohs(addr.s6_addr16[1]),
>                              ^
> reentrant.c:149:27: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[0]), ntohs(addr.s6_addr16[1]),
>                              ^
> reentrant.c:149:53: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[0]), ntohs(addr.s6_addr16[1]),
>                                                        ^
> reentrant.c:149:53: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[0]), ntohs(addr.s6_addr16[1]),
>                                                        ^
> reentrant.c:149:53: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[0]), ntohs(addr.s6_addr16[1]),
>                                                        ^
> reentrant.c:149:53: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[0]), ntohs(addr.s6_addr16[1]),
>                                                        ^
> reentrant.c:150:27: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[2]), ntohs(addr.s6_addr16[3]),
>                              ^
> reentrant.c:150:27: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[2]), ntohs(addr.s6_addr16[3]),
>                              ^
> reentrant.c:150:27: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[2]), ntohs(addr.s6_addr16[3]),
>                              ^
> reentrant.c:150:27: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[2]), ntohs(addr.s6_addr16[3]),
>                              ^
> reentrant.c:150:53: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[2]), ntohs(addr.s6_addr16[3]),
>                                                        ^
> reentrant.c:150:53: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[2]), ntohs(addr.s6_addr16[3]),
>                                                        ^
> reentrant.c:150:53: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[2]), ntohs(addr.s6_addr16[3]),
>                                                        ^
> reentrant.c:150:53: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[2]), ntohs(addr.s6_addr16[3]),
>                                                        ^
> reentrant.c:151:27: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[4]), ntohs(addr.s6_addr16[5]),
>                              ^
> reentrant.c:151:27: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[4]), ntohs(addr.s6_addr16[5]),
>                              ^
> reentrant.c:151:27: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[4]), ntohs(addr.s6_addr16[5]),
>                              ^
> reentrant.c:151:27: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[4]), ntohs(addr.s6_addr16[5]),
>                              ^
> reentrant.c:151:53: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[4]), ntohs(addr.s6_addr16[5]),
>                                                        ^
> reentrant.c:151:53: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[4]), ntohs(addr.s6_addr16[5]),
>                                                        ^
> reentrant.c:151:53: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[4]), ntohs(addr.s6_addr16[5]),
>                                                        ^
> reentrant.c:151:53: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[4]), ntohs(addr.s6_addr16[5]),
>                                                        ^
> reentrant.c:152:27: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[6]), ntohs(addr.s6_addr16[7]));
>                              ^
> reentrant.c:152:27: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[6]), ntohs(addr.s6_addr16[7]));
>                              ^
> reentrant.c:152:27: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[6]), ntohs(addr.s6_addr16[7]));
>                              ^
> reentrant.c:152:27: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[6]), ntohs(addr.s6_addr16[7]));
>                              ^
> reentrant.c:152:53: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[6]), ntohs(addr.s6_addr16[7]));
>                                                        ^
> reentrant.c:152:53: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[6]), ntohs(addr.s6_addr16[7]));
>                                                        ^
> reentrant.c:152:53: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[6]), ntohs(addr.s6_addr16[7]));
>                                                        ^
> reentrant.c:152:53: error: 'struct in6_addr' has no member named 's6_addr16'
>                    ntohs(addr.s6_addr16[6]), ntohs(addr.s6_addr16[7]));
>                                                        ^
> reentrant.c:146:25: warning: variable 'addr' set but not used
> [-Wunused-but-set-variable]
>            struct in6_addr addr = (((struct sockaddr_in6
> *)saPtr)->sin6_addr);
>                            ^
> gmake[1]: *** [<builtin>: reentrant.o] Error 1
> gmake[1]: Leaving directory '/usr/local/src/naviserver-4.99.11/nsthread'
> gmake: *** [Makefile:49: all] Error 1
>
>
> I'll gladly remotely process as many of these tests as it takes and
> you're willing to make. ;-)
>
> cheers,
> Ben
>
> On 6/23/16 11:58 PM, Gustaf Neumann wrote:
>> Dear Ben,
>> please check the following change
>>
>> https://bitbucket.org/naviserver/naviserver/commits/c5d117b88465e50fd8c47307f373d2427114aedf
>>
>> If i suppose correctly, this change should fix the problem.
>> Unfortunately, i have no FreeBSD system to test.
>>
>> best regards
>> -g
>>
>> Am 23.06.16 um 23:05 schrieb Benjamin Brink:
>>> Hi,
>>>
>>> I'm attempting to build naviserver on
>>>
>>> FreeBSD 10.3-BETA3 #2 r296139
>>>
>>> using the install-ns.sh script at http://github.com/gustafn/install-ns
>>>
>>> And tried a revised .configure to include --disable-ipv6:
>>>
>>> ./configure --with-tcl=${ns_install_dir}/lib --prefix=${ns_install_dir}
>>> --disable-ipv6
>>>
>>>
>>> Builds end with this error:
>>>
>>> gcc -O2 -DNDEBUG -Wall -fPIC  -pipe   -I../include
>>> -I"/usr/local/ns/include"  -DHAVE_CONFIG_H    -c -o sockaddr.o sockaddr.c
>>> sockaddr.c: In function 'Ns_SockaddrMask':
>>> sockaddr.c:92:23: error: 'struct in6_addr' has no member named 's6_addr32'
>>>                 maskedBits->s6_addr32[i] = addrBits->s6_addr32[i] &
>>> maskBits->s6_addr32[i];
>>>                           ^
>>> sockaddr.c:92:48: error: 'struct in6_addr' has no member named 's6_addr32'
>>>                 maskedBits->s6_addr32[i] = addrBits->s6_addr32[i] &
>>> maskBits->s6_addr32[i];
>>>                                                    ^
>>> sockaddr.c:92:73: error: 'struct in6_addr' has no member named 's6_addr32'
>>>                 maskedBits->s6_addr32[i] = addrBits->s6_addr32[i] &
>>> maskBits->s6_addr32[i];
>>>                                                                             
>>> ^
>>> sockaddr.c: In function 'Ns_SockaddrSameIP':
>>> sockaddr.c:153:26: error: 'struct in6_addr' has no member named 's6_addr32'
>>>                 if (addr1Bits->s6_addr32[i] != addr2Bits->s6_addr32[i]) {
>>>                              ^
>>> sockaddr.c:153:53: error: 'struct in6_addr' has no member named 's6_addr32'
>>>                 if (addr1Bits->s6_addr32[i] != addr2Bits->s6_addr32[i]) {
>>>                                                         ^
>>> sockaddr.c: In function 'Ns_SockaddrMaskBits':
>>> sockaddr.c:210:17: error: 'struct in6_addr' has no member named 's6_addr32'
>>>                 addr->s6_addr32[i] = (~0u);
>>>                     ^
>>> sockaddr.c:216:17: error: 'struct in6_addr' has no member named 's6_addr32'
>>>                 addr->s6_addr32[i] = htonl((~0u) << (32 - nrBits));
>>>                     ^
>>> sockaddr.c:223:17: error: 'struct in6_addr' has no member named 's6_addr32'
>>>                 addr->s6_addr32[i] = 0u;
>>>                     ^
>>> gmake[1]: *** [<builtin>: sockaddr.o] Error 1
>>> gmake[1]: Leaving directory '/usr/local/src/naviserver-4.99.11/nsd'
>>> gmake: *** [Makefile:49: all] Error 1
>>>
>>>
>>> Script settings are:
>>>
>>> SETTINGS   Build-Dir             /usr/local/src
>>>               Install-Dir           /usr/local/ns
>>>               NaviServer            4.99.11
>>>               NaviServer Modules    4.99.11
>>>               Tcllib                1.18
>>>               Thread                2.7.2
>>>               NSF/NX/XOTcl          2.0.0
>>>               Tcl                   8.5.19
>>>               tDOM                  GIT
>>>               NaviSever user        nsadmin
>>>               NaviServer group      nsadmin
>>>               Make command          gmake
>>>               Type command          type
>>>               With Mongo            0
>>>               With PostgreSQL       1
>>>
>>>
>>> Any suggestions on how to resolve?
>>>
>>> Ben
>>>
>>
>> ------------------------------------------------------------------------------
>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>> present their vision of the future. This family event has something for
>> everyone, including kids. Get more information and register today.
>> http://sdm.link/attshape
>> _______________________________________________
>> naviserver-devel mailing list
>> naviserver-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/naviserver-devel
>>
>
> ------------------------------------------------------------------------------
> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
> present their vision of the future. This family event has something for
> everyone, including kids. Get more information and register today.
> http://sdm.link/attshape
> _______________________________________________
> naviserver-devel mailing list
> naviserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/naviserver-devel


-- 
Univ.Prof. Dr. Gustaf Neumann
WU Vienna
Institute of Information Systems and New Media
Welthandelsplatz 1, A-1020 Vienna, Austria


------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel

Reply via email to