./configure error with Samba 3.2
David Michaels
dragon at raytheon.com
Thu Jul 24 16:29:05 GMT 2008
Compiling Samba 3.2
* Solaris 8
* OpenSSL 0.9.8h
* Berkeley DB 4.3.28 NC
* OpenLDAP 2.3.39
* MIT Kerberos 1.6.3
* gcc 3.4.6
* ./configure --with-acl-support --with-winbind --with-included-popt \
--with-pam --with-libsmbclient --with-ads --with-ldap \
--with-krb5=${destdir}/kerberos \
--prefix=${destdir}/samba
checking netinet/ip.h usability... no
checking netinet/ip.h presence... yes
configure: WARNING: netinet/ip.h: present but cannot be compiled
configure: WARNING: netinet/ip.h: check for missing prerequisite
headers?
configure: WARNING: netinet/ip.h: see the Autoconf documentation
configure: WARNING: netinet/ip.h: section "Present But Cannot Be
Compiled"
configure: WARNING: netinet/ip.h: proceeding with the preprocessor's result
configure: WARNING: netinet/ip.h: in the future, the compiler will take
precedence
configure: WARNING: ## ---------------------------------------- ##
configure: WARNING: ## Report this to samba-technical at samba.org ##
configure: WARNING: ## ---------------------------------------- ##
checking for netinet/ip.h... yes
From the config.log:
configure:22902: checking netinet/ip.h usability
configure:22919: /usr/local.samba/bin/gcc -c -O -D_SAMBA_BUILD_=3
-I/usr/local.samba/include -I/usr/local.samba/ssl/incl
ude -I/usr/local.samba/ldap/include -I/usr/local.samba/kerberos/include
-D_LARGEFILE_SOURCE -D_REENTRANT -D_FILE_OFFSET_
BITS=64 -Iinclude -I./include -I. -I. -I./lib/replace -I./lib/talloc
-I./lib/tdb/include -I./libaddns -I./librpc -I./po
pt conftest.c >&5
In file included from conftest.c:197:
/usr/include/netinet/ip.h:61: error: field `ip_src' has incomplete type
/usr/include/netinet/ip.h:61: error: field `ip_dst' has incomplete type
/usr/include/netinet/ip.h:130: error: syntax error before "n_long"
/usr/include/netinet/ip.h:132: error: field `ipt_addr' has incomplete type
/usr/include/netinet/ip.h:133: error: syntax error before "n_long"
/usr/include/netinet/ip.h:135: error: syntax error before '}' token
/usr/include/netinet/ip.h:136: error: syntax error before '}' token
configure:22925: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "Samba"
| #define PACKAGE_TARNAME "samba"
| #define PACKAGE_VERSION "3"
| #define PACKAGE_STRING "Samba 3"
| #define PACKAGE_BUGREPORT "samba-technical at samba.org"
| #define CONFIG_H_IS_FROM_SAMBA 1
| #define _GNU_SOURCE 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_UNISTD_H 1
| #define __EXTENSIONS__ 1
| #define _POSIX_PTHREAD_SEMANTICS 1
| #define _TANDEM_SOURCE 1
| #define WORDS_BIGENDIAN 1
| #ifndef _XOPEN_SOURCE_EXTENDED
| #define _XOPEN_SOURCE_EXTENDED 1
| #endif
| #define _FILE_OFFSET_BITS 64
| #define HAVE_LONG_LONG 1
| #define SIZEOF_INT 4
| #define SIZEOF_CHAR 1
| #define SIZEOF_SHORT 2
| #define SIZEOF_LONG 4
| #define SIZEOF_LONG_LONG 8
| #define SIZEOF_OFF_T 8
| #define SIZEOF_SIZE_T 4
| #define SIZEOF_SSIZE_T 4
| #define HAVE_IMMEDIATE_STRUCTURES 1
| #define SIZEOF_SIZE_T 4
| #define SIZEOF_VOID_P 4
| #define HAVE_VOLATILE 1
| #define SYSV 1
| #define _LARGEFILE64_SOURCE 1
| #define _FILE_OFFSET_BITS 64
| #define RETSIGTYPE void
| #define HAVE_STRUCT_STAT_ST_RDEV 1
| #define HAVE_ST_RDEV 1
| #define loff_t off_t
| #define HAVE_PIPE 1
| #define HAVE_STRFTIME 1
| #define HAVE_SRANDOM 1
| #define HAVE_RANDOM 1
| #define HAVE_SRAND 1
| #define HAVE_RAND 1
| #define HAVE_USLEEP 1
| #define HAVE_SETBUFFER 1
| #define HAVE_LSTAT 1
| #define HAVE_GETPGRP 1
| #define HAVE_STDBOOL_H 1
| #define HAVE_SYS_SELECT_H 1
| #define HAVE_SETJMP_H 1
| #define HAVE_BOOL 1
| #define HAVE__Bool 1
| #define HAVE_MMAP 1
| #define HAVE_SYS_SYSLOG_H 1
| #define HAVE_SYSLOG_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_TIME_H 1
| #define HAVE_STDARG_H 1
| #define HAVE_SYS_MOUNT_H 1
| #define HAVE_STROPTS_H 1
| #define HAVE_SETEUID 1
| #define HAVE_SETEGID 1
| #define HAVE_CHROOT 1
| #define HAVE_BZERO 1
| #define HAVE_STRERROR 1
| #define HAVE_VSYSLOG 1
| #define HAVE_SETLINEBUF 1
| #define HAVE_MKTIME 1
| #define HAVE_FTRUNCATE 1
| #define HAVE_RENAME 1
| #define HAVE_WAITPID 1
| #define HAVE_STRLCPY 1
| #define HAVE_STRLCAT 1
| #define HAVE_INITGROUPS 1
| #define HAVE_MEMMOVE 1
| #define HAVE_STRDUP 1
| #define HAVE_PREAD 1
| #define HAVE_PWRITE 1
| #define HAVE_STRTOK_R 1
| #define HAVE_ISATTY 1
| #define HAVE_ERRNO_DECL 1
| #define HAVE_SECURE_MKSTEMP 1
| #define HAVE_STDIO_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_DECL_SNPRINTF 1
| #define HAVE_DECL_VSNPRINTF 1
| #define HAVE_DECL_ASPRINTF 0
| #define HAVE_DECL_VASPRINTF 0
| #define HAVE_SNPRINTF 1
| #define HAVE_VSNPRINTF 1
| #define HAVE_VA_COPY 1
| #define HAVE_FUNCTION_MACRO 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_STRTOULL 1
| #define HAVE_STRTOLL 1
| #define HAVE__VA_ARGS__MACRO 1
| #define HAVE_SIG_ATOMIC_T_TYPE 1
| #define HAVE_VOLATILE 1
| #define HAVE_DIRENT_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_SYS_FCNTL_H 1
| #define HAVE_SYS_RESOURCE_H 1
| #define HAVE_SYS_IOCTL_H 1
| #define HAVE_SYS_MODE_H 1
| #define HAVE_SYS_FILIO_H 1
| #define HAVE_SYS_ACL_H 1
| #define HAVE_SYS_SELECT_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_UTIME_H 1
| #define TIME_WITH_SYS_TIME 1
| #define HAVE_UTIME 1
| #define HAVE_UTIMES 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_GRP_H 1
| #define HAVE_SHADOW_H 1
| #define HAVE_PWD_H 1
| #define HAVE_GETPWNAM_R 1
| #define HAVE_GETPWUID_R 1
| #define HAVE_GETPWENT_R 1
| #define HAVE_GETPWENT_R_DECL 1
| #define SOLARIS_GETPWENT_R 1
| #define HAVE_GETGRNAM_R 1
| #define HAVE_GETGRGID_R 1
| #define HAVE_GETGRENT_R 1
| #define HAVE_GETGRENT_R_DECL 1
| #define SOLARIS_GETGRENT_R 1
| #define HAVE_CTYPE_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_FNMATCH_H 1
| #define HAVE_SYS_IPC_H 1
| #define HAVE_SYS_MMAN_H 1
| #define HAVE_SYS_SHM_H 1
| #define HAVE_TERMIOS_H 1
| #define HAVE_TERMIO_H 1
| #define HAVE_SYS_TERMIO_H 1
| #define HAVE_DLFCN_H 1
| #define HAVE_DLOPEN 1
| #define HAVE_DLSYM 1
| #define HAVE_DLERROR 1
| #define HAVE_DLCLOSE 1
| #define REPLACE_GETPASS_BY_GETPASSPHRASE 1
| #define REPLACE_GETPASS 1
| #define REPLACE_STRPTIME 1
| #define HAVE_MKDIR_MODE 1
| #define HAVE_SYSLOG 1
| #define HAVE_PRINTF 1
| #define HAVE_MEMSET 1
| #define HAVE_MEMCPY 1
| #define LIBREPLACE_NETWORK_CHECKS 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_NETINET_IN_H 1
| #define HAVE_NETDB_H 1
| #define HAVE_ARPA_INET_H 1
| /* end confdefs.h. */
| #include <stdio.h>
| #ifdef HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #ifdef HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #ifdef STDC_HEADERS
| # include <stdlib.h>
| # include <stddef.h>
| #else
| # ifdef HAVE_STDLIB_H
| # include <stdlib.h>
| # endif
| #endif
| #ifdef HAVE_STRING_H
| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
| # include <memory.h>
| # endif
| # include <string.h>
| #endif
| #ifdef HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #ifdef HAVE_INTTYPES_H
| # include <inttypes.h>
| #endif
| #ifdef HAVE_STDINT_H
| # include <stdint.h>
| #endif
| #ifdef HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <netinet/ip.h>
configure:22939: result: no
configure:22943: checking netinet/ip.h presence
configure:22958: /usr/local.samba/bin/gcc -E -I/usr/local.samba/include
-I/usr/local.samba/ssl/include -I/usr/local.samb
a/ldap/include -I/usr/local.samba/kerberos/include -D_LARGEFILE_SOURCE
-D_REENTRANT -D_FILE_OFFSET_BITS=64 -Iinclude -I.
/include -I. -I. -I./lib/replace -I./lib/talloc -I./lib/tdb/include
-I./libaddns -I./librpc -I./popt conftest.c
configure:22978: result: yes
configure:22991: WARNING: netinet/ip.h: present but cannot be compiled
configure:22993: WARNING: netinet/ip.h: check for missing
prerequisite headers?
configure:22995: WARNING: netinet/ip.h: see the Autoconf documentation
configure:22997: WARNING: netinet/ip.h: section "Present But Cannot
Be Compiled"
configure:22999: WARNING: netinet/ip.h: proceeding with the
preprocessor's result
configure:23001: WARNING: netinet/ip.h: in the future, the compiler will
take precedence
configure:23011: checking for netinet/ip.h
configure:23019: result: yes
Relevant bit from netinet/ip.h:
struct ip {
#ifdef _BIT_FIELDS_LTOH
uchar_t ip_hl:4, /* header length */
ip_v:4; /* version */
#else
uchar_t ip_v:4, /* version */
ip_hl:4; /* header length */
#endif
uchar_t ip_tos; /* type of service */
short ip_len; /* total length */
ushort_t ip_id; /* identification */
short ip_off; /* fragment offset field */
#define IP_DF 0x4000 /* dont fragment flag */
#define IP_MF 0x2000 /* more fragments flag */
uchar_t ip_ttl; /* time to live */
uchar_t ip_p; /* protocol */
ushort_t ip_sum; /* checksum */
struct in_addr ip_src, ip_dst; /* source and dest address */
};
And from in.h:
/*
* Note: IPv4 address data structures usage conventions.
* The "in_addr_t" type below (required by Unix standards)
* is NOT a typedef of "struct in_addr" and violates the usual
* conventions where "struct <name>" and <name>_t are corresponding
* typedefs.
* To minimize confusion, kernel data structures/usage prefers use
* of "ipaddr_t" as atomic uint32_t type and avoid using "in_addr_t"
* The user level APIs continue to follow the historic popular
* practice of using "struct in_addr".
*/
[....]
struct in_addr {
union {
struct { uint8_t s_b1, s_b2, s_b3, s_b4; } _S_un_b;
struct { uint16_t s_w1, s_w2; } _S_un_w;
#if !defined(_XPG4_2) || defined(__EXTENSIONS__)
uint32_t _S_addr;
#else
in_addr_t _S_addr;
#endif /* !defined(_XPG4_2) || defined(__EXTENSIONS__) */
} _S_un;
#define s_addr _S_un._S_addr /* should be used for all code */
#define s_host _S_un._S_un_b.s_b2 /* OBSOLETE: host on imp */
#define s_net _S_un._S_un_b.s_b1 /* OBSOLETE: network */
#define s_imp _S_un._S_un_w.s_w2 /* OBSOLETE: imp */
#define s_impno _S_un._S_un_b.s_b4 /* OBSOLETE: imp # */
#define s_lh _S_un._S_un_b.s_b3 /* OBSOLETE: logical host */
};
Cheers,
--Dragon
More information about the samba-technical
mailing list