[Samba] Repost: Help - compilation of winbind_nss_solaris.c/3.0.21a/Solaris 7 and older fails

Pierre Lebrun ple001 at artic.fr
Fri Jan 6 11:51:24 GMT 2006


I would really appreciate help !

I did not have any reply to my two posts and I don't know what to do.
I can't build 3.0.21a and I have to migrate 54 Solaris 2.5.1 servers
from 2.2.8a to 3.0.x. I'm afraid we could not move to newer solaris 
versions before 12 or 18 months.

Under is the problem description.

Thank you for your help.

Pierre

---------
SOLARIS 7
---------

On Solaris 7 problem comes from winbind_nss_solaris.c on solaris 7 witch 
evolved a lot in 3.0.21
Several references are done to struct in6_addr witch are not defined on
solaris 7 and older. I didn't have any trouble with SAMBA 3.0.21rc1

Platform Solaris 7 + GCC and Solaris 2.5.1 + SUN CC.

---------------------------
Configure

./configure  --with-acl-support --with-ldap=no --disable-cups 
--enable-static=yes --with-included-popt

--------
$ gcc -v
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/3.0.3/specs
Configured with: ../configure --with-as=/usr/local/bin/as 
--with-ld=/usr/local/bin/ld
Thread model: posix
gcc version 3.0.3

-----------------------------
...
Compiling utils/eventlogadm.c
Linking bin/eventlogadm
Compiling nsswitch/wbinfo.c
Linking bin/wbinfo
Compiling nsswitch/wb_common.c with -fPIC
Compiling lib/replace1.c with -fPIC
Compiling nsswitch/winbind_nss_solaris.c with -fPIC
nsswitch/winbind_nss_solaris.c: In function `parse_response':
nsswitch/winbind_nss_solaris.c:394: sizeof applied to an incomplete type
nsswitch/winbind_nss_solaris.c:395: sizeof applied to an incomplete type
nsswitch/winbind_nss_solaris.c:397: arithmetic on pointer to an 
incomplete type
nsswitch/winbind_nss_solaris.c:421: arithmetic on pointer to an 
incomplete type
nsswitch/winbind_nss_solaris.c:421: dereferencing pointer to incomplete type
nsswitch/winbind_nss_solaris.c:423: `AF_INET6' undeclared (first use in 
this function)
nsswitch/winbind_nss_solaris.c:423: (Each undeclared identifier is 
reported only once
nsswitch/winbind_nss_solaris.c:423: for each function it appears in.)
nsswitch/winbind_nss_solaris.c:423: arithmetic on pointer to an 
incomplete type
nsswitch/winbind_nss_solaris.c:423: dereferencing pointer to incomplete type
nsswitch/winbind_nss_solaris.c:433: arithmetic on pointer to an 
incomplete type
nsswitch/winbind_nss_solaris.c:433: dereferencing pointer to incomplete type
nsswitch/winbind_nss_solaris.c: In function 
`_nss_winbind_ipnodes_getbyname':
nsswitch/winbind_nss_solaris.c:491: `AF_INET6' undeclared (first use in 
this function)
nsswitch/winbind_nss_solaris.c: In function `_nss_winbind_hosts_getbyaddr':
nsswitch/winbind_nss_solaris.c:540: `AF_INET6' undeclared (first use in 
this function)
nsswitch/winbind_nss_solaris.c:546: `INET6_ADDRSTRLEN' undeclared (first 
use in this function)
nsswitch/winbind_nss_solaris.c:546: warning: assignment makes pointer 
from integer without a cast
make: *** [nsswitch/winbind_nss_solaris.po] Error 1


-------------
SOLARIS 2.5.1
-------------
On Solaris 2.5.1 problem comes from nsswitch/wb_common.c where socklen_t
type is not defined

artexp$ diff /smb/tmp/samba-3.0.20b/source/nsswitch/wb_common.c 
/smb/tmp/samba-3.0.21a/source/nsswitch/wb_common.c
237c237,238
<               int connect_errno = 0, errnosize;
---
 >               int connect_errno = 0;
 >               socklen_t errnosize;
545a547,551
 >
 >       if ((request->extra_len != 0) &&
 >           (write_sock(request->extra_data, request->extra_len, 
request->flags & WBFLAG_RECURSE) == -1)) {
 >               return NSS_STATUS_UNAVAIL;
 >       }
----------------------

Configure

./configure  --with-acl-support --with-ldap=no --disable-cups 
--enable-static=yes --with-included-popt

--------
$ cc -V
cc: WorkShop Compilers 5.0 98/12/15 C 5.0

--------
...
Compiling lib/hmacmd5.c
Compiling lib/arc4.c
Compiling lib/iconv.c
"lib/iconv.c", line 139: warning: argument #2 is incompatible with 
prototype:
         prototype: pointer to pointer to const char : 
"/usr/local/include/iconv.h", line 82
         argument : pointer to pointer to char
Compiling nsswitch/wb_client.c
Compiling nsswitch/wb_common.c
"/usr/include/netdb.h", line 195: warning: dubious tag declaration: 
struct sockaddr_in
"nsswitch/wb_common.c", line 238: undefined symbol: socklen_t
"nsswitch/wb_common.c", line 238: syntax error before or at: errnosize
"nsswitch/wb_common.c", line 253: undefined symbol: errnosize
"nsswitch/wb_common.c", line 256: warning: argument #4 is incompatible 
with prototype:
         prototype: pointer to char : "/usr/include/sys/socket.h", line 299
         argument : pointer to int
"nsswitch/wb_common.c", line 284: cannot recover from previous errors
cc: acomp failed for nsswitch/wb_common.c
*** Error code 2
make: Fatal error: Command failed for target `nsswitch/wb_common.o'



More information about the samba mailing list