[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