gcc trunk revision 143562 gives "Present But Cannot Be Compiled" message

[email protected]
Newsgroups gmane.comp.java.classpath.devel
Message-ID <[email protected]>
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 [email protected] ##
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 "[email protected]"
| #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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.