Your email address is set in the PACKAGE_BUGREPORT variable so I am
sending you this Bug Report.
I am compiling gcc trunk revision 143562 and classpath configury gives
a "Present But Cannot Be Compiled" message.
# gcc/xgcc -v
Using built-in specs.
Target: i386-pc-solaris2.11
Configured with: ../gcc_trunk/configure
--enable-languages=ada,c,c++,fortran,java,objc,obj-c++ --enable-shared
--disable-static --enable-decimal-float --with-long-double-128
--enable-nls --with-included-gettext
--disable-gather-detailed-mem-stats --with-stabs --enable-debug
--enable-initfini-array --enable-largefile --enable-symvers
--enable-version-specific-runtime-libs --without-system-zlib
--enable-gtk-cairo --enable-gconf-peer --enable-xmlj --enable-gtk-peer
--enable-qt-peer --enable-plugin --enable-tool-wrappers
--enable-portable-native-sync --enable-hash-synchronization
--enable-interpreter --enable-local-sockets --enable-gjdoc
--enable-java-awt=gtk,xlib,qt,x --enable-gc-debug --enable-libgcj-debug
--enable-objc-gc --disable-concept-checks --enable-libstdcxx-debug
--disable-stage1-checking --enable-checking=release
--without-system-libunwind --with-tune=k8 --with-cpu=k8 --with-arch=k8
--with-gnu-as --with-as=/usr/local/bin/as --with-gnu-ld
--with-ld=/usr/local/bin/ld
Thread model: posix
gcc version 4.4.0 20090122 (experimental) [trunk revision 143562] (GCC)
# gmake 2>&1 log.txt
# ggrep --color -B2 -A4 netinet/ip.h log.txt
log.txt-checking netinet/in_systm.h presence... yes
log.txt-checking for netinet/in_systm.h... yes
log.txt:checking netinet/ip.h usability... no
log.txt:checking netinet/ip.h presence... yes
log.txt:configure: WARNING: netinet/ip.h: present but cannot be compiled
log.txt:configure: WARNING: netinet/ip.h: check for missing
prerequisite headers?
log.txt:configure: WARNING: netinet/ip.h: see the Autoconf documentation
log.txt:configure: WARNING: netinet/ip.h: section "Present But
Cannot Be Compiled"
log.txt:configure: WARNING: netinet/ip.h: proceeding with the
preprocessor's result
log.txt:configure: WARNING: netinet/ip.h: in the future, the compiler
will take precedence
log.txt-configure: WARNING: ## -------------------------------- ##
log.txt-configure: WARNING: ## Report this to classpath@xxxxxxx ##
log.txt-configure: WARNING: ## -------------------------------- ##
log.txt:checking for netinet/ip.h... yes
log.txt-checking for net/if.h... (cached) yes
log.txt-checking sys/loadavg.h usability... yes
log.txt-checking sys/loadavg.h presence... yes
log.txt-checking for sys/loadavg.h... yes
File: gcc_build/i386-pc-solaris2.11/libjava/classpath/config.log
...
configure:18066: result: yes
configure:17943: checking netinet/ip.h usability
configure:17955: /usr/share/src/gcc_build/./gcc/xgcc
-B/usr/share/src/gcc_build/./gcc/ -B/usr/local/i386-pc-solaris2.11/bin/
-B/usr/local/i386-pc-solaris2.11/lib/ -isystem
/usr/local/i386-pc-solaris2.11/include -isystem
/usr/local/i386-pc-solaris2.11/sys-include -c -g -O2 conftest.c >&5
In file included from conftest.c:79:
/usr/include/netinet/ip.h:57: error: field 'ip_src' has incomplete type
/usr/include/netinet/ip.h:57: error: field 'ip_dst' has incomplete type
/usr/include/netinet/ip.h:144: error: field 'ipt_addr' has incomplete
type
configure:17961: $? = 1
configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME "GNU Classpath"
| #define PACKAGE_TARNAME "classpath"
| #define PACKAGE_VERSION "0.98-pre"
| #define PACKAGE_STRING "GNU Classpath 0.98-pre"
| #define PACKAGE_BUGREPORT "classpath@xxxxxxx"
| #define PACKAGE "classpath"
| #define VERSION "0.98-pre"
| #define STDC_HEADERS 1
...
| #if HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <netinet/ip.h>
configure:17984: result: no
configure:17988: checking netinet/ip.h presence
configure:17998: /usr/share/src/gcc_build/./gcc/xgcc
-B/usr/share/src/gcc_build/./gcc/ -B/usr/local/i386-pc-solaris2.11/bin/
-B/usr/local/i386-pc-solaris2.11/lib/ -isystem
/usr/local/i386-pc-solaris2.11/include -isystem
/usr/local/i386-pc-solaris2.11/sys-include -E conftest.c
configure:18004: $? = 0
configure:18024: result: yes
configure:18037: WARNING: netinet/ip.h: present but cannot be compiled
configure:18039: WARNING: netinet/ip.h: check for missing
prerequisite headers?
configure:18041: WARNING: netinet/ip.h: see the Autoconf documentation
configure:18043: WARNING: netinet/ip.h: section "Present But Cannot
Be Compiled"
configure:18045: WARNING: netinet/ip.h: proceeding with the
preprocessor's result
configure:18047: WARNING: netinet/ip.h: in the future, the compiler
will take precedence
configure:18059: checking for netinet/ip.h
configure:18066: result: yes
configure:17934: checking for net/if.h
...
# ggrep -r --color in_addr /usr/include/netinet/
/usr/include/netinet/ip.h: struct in_addr ip_src, ip_dst; /* source and
dest address */
/usr/include/netinet/ip.h: struct in_addr ipt_addr;
# ggrep -B4 -A7 --color in_addr /usr/include/netinet/in.h | head -23
/*
* 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".
*/
#ifndef _IN_ADDR_T
#define _IN_ADDR_T
typedef uint32_t in_addr_t;
#endif
#ifndef _IPADDR_T
#define _IPADDR_T
typedef uint32_t ipaddr_t;
#endif
Need more info ?
Thanks for fixing this for us,
Rob