This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

libg++-2_8_2-980731 failed make check on egcs-19980824 on rs



libg++-2_8_2-980731 failed to complete the make check using
egcs-19980824 on rs6000-ibm-aix4.2.0.0

The make check failed in libg++/etc/lf with
    egcs-19980824.obj/gcc/include/curses.h:130: \
        abstract declarator used as declaration
when this was fixed the link failed with
    collect2: Library libtermcap not found  
Does libg++ assume GNU termcap?
The failure in curses.h is caused by a 'typedef int bool;' which isn't
guarded by __cplusplus as the successive 'typedef char bool;' and which
is used in the intervening function prototypes. Kludging around this gave the
link failure with termcap.
Should the curses.h problem be fixed by fixincludes?


(Warnings from the make) -- NB CC-Mail has wrapped stuff

/rand/rdb/src/egcs-19980824.obj/gcc/xgcc -B/rand/rdb/src/egcs-19980824.obj/gcc/
-c -g -O2 -DHAVE_ALLOCA=1 -DSTDC_HEADERS=1 -DHAVE_STRING_H=1 
-I../../../egcs-19980824/librx ../../../egcs-19980824/librx/rx.c
./../../egcs-19980824/librx/rx.c: In function `re_search_2_fetch_char':
./../../egcs-19980824/librx/rx.c:6410: warning: comparison of distinct pointer
types lacks a cast
./../../egcs-19980824/librx/rx.c:6419: warning: comparison of distinct pointer
types lacks a cast

/rand/rdb/src/egcs-19980824.obj/gcc/xgcc -B/rand/rdb/src/egcs-19980824.obj/gcc/
-c -g -O2 -fno-implicit-templates -nostdinc++ -I. -I../../libio
-I../../../../egcs-19980824/libg++/src
-I../../../../egcs-19980824/libg++/src/../../libio
-I../../../../egcs-19980824/libg++/src/../../libstdc++
-I../../../../egcs-19980824/libg++/src/../src   
./../../../egcs-19980824/libg++/src/ACG.cc
./../../../egcs-19980824/libg++/src/ACG.cc:113: warning: ANSI C++ forbids
declaration `randomStateTable' with no type
./../../../egcs-19980824/libg++/src/ACG.cc:175: warning: decimal integer
constant is so large that it is unsigned

/rand/rdb/src/egcs-19980824.obj/gcc/xgcc -B/rand/rdb/src/egcs-19980824.obj/gcc/
-c -g -O2 -fno-implicit-templates -nostdinc++ -I. -I../../libio
-I../../../../egcs-19980824/libg++/src
-I../../../../egcs-19980824/libg++/src/../../libio
-I../../../../egcs-19980824/libg++/src/../../libstdc++
-I../../../../egcs-19980824/libg++/src/../src   
./../../../egcs-19980824/libg++/src/Fix16.cc
./../../../egcs-19980824/libg++/src/Fix16.cc: In method `_G_int32_t
Fix32::assign(double)':
./../../../egcs-19980824/libg++/src/Fix16.cc:54: warning: integer overflow in
expression

  /rand/rdb/src/egcs-19980824.obj/gcc/xgcc
-B/rand/rdb/src/egcs-19980824.obj/gcc/ -c -g -O2 -fno-implicit-templates
-nostdinc++ -I. -I../../libio -I../../../../egcs-19980824/libg++/src
-I../../../../egcs-19980824/libg++/src/../../libio
-I../../../../egcs-19980824/libg++/src/../../libstdc++
-I../../../../egcs-19980824/libg++/src/../src    
./../../../egcs-19980824/libg++/src/hash.cc -o pic/hash.o
/rand/rdb/src/egcs-19980824.obj/gcc/xgcc -B/rand/rdb/src/egcs-19980824.obj/gcc/
-c -g -O2 -fno-implicit-templates -nostdinc++ -I. -I../../libio
-I../../../../egcs-19980824/libg++/src
-I../../../../egcs-19980824/libg++/src/../../libio
-I../../../../egcs-19980824/libg++/src/../../libstdc++
-I../../../../egcs-19980824/libg++/src/../src   
./../../../egcs-19980824/libg++/src/hash.cc
./../../../egcs-19980824/libg++/src/hash.cc: In function `unsigned int
multiplicativehash(int)':
./../../../egcs-19980824/libg++/src/hash.cc:44: warning: decimal integer
constant is so large that it is unsigned

..

cd tests; make check ...
make[3]: Entering directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++/tests'

..

cd lf; make check ...
make[5]: Entering directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++/etc/lf'
/rand/rdb/src/egcs-19980824.obj/gcc/xgcc -B/rand/rdb/src/egcs-19980824.obj/gcc/
-c -g -O2 -nostdinc++ -I. -I../../../libio
-I../../../../../egcs-19980824/libg++/etc/lf
-I../../../../../egcs-19980824/libg++/etc/lf/../../../libio
-I../../../../../egcs-19980824/libg++/etc/lf/../../../libstdc++
-I../../../../../egcs-19980824/libg++/etc/lf/../../src   
./../../../../egcs-19980824/libg++/etc/lf/lf.cc
In file included from ../../../../../egcs-19980824/libg++/etc/lf/screen.h:6,
                 from ../../../../../egcs-19980824/libg++/etc/lf/lf.cc:4:
/rand/rdb/src/egcs-19980824.obj/gcc/include/curses.h:130: abstract declarator
used as declaration
make[5]: *** [lf.o] Error 1

..

make[5]: Target `check' not remade because of errors.
make[5]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++/etc/lf'
make[4]: *** [subdir_do] Error 1
make[4]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++/etc'
make[3]: *** [check] Error 2
make[3]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++/etc'
make[2]: *** [subdir_do] Error 1
make[2]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++'
make[1]: *** [check] Error 2
make[1]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++'
make: *** [check-target-libg++] Error 2

.. After hacking gcc/include/curses.h

/rand/rdb/src/egcs-19980824.obj/gcc/xgcc -B/rand/rdb/src/egcs-19980824.obj/gcc/
lf.o entry.o screen.o option.o directory.o sort.o Dirent.o -o lf -L./../../
-L./../../../libstdc++ -lg++ -lstdc++ -ltermcap
collect2: Library libtermcap not found
make[5]: *** [lf] Error 1
make[5]: Target `check' not remade because of errors.
make[5]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++/etc/lf'
make[4]: *** [subdir_do] Error 1
make[4]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++/etc'
make[3]: *** [check] Error 2
make[3]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++/etc'
make[2]: *** [subdir_do] Error 1
make[2]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++'
make[1]: *** [check] Error 2
make[1]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++'
make: *** [check-target-libg++] Error 2

Kludge to get further

--- curses.h.orig   Wed Sep  2 14:10:19 1998
+++ curses.h    Wed Sep  2 14:10:19 1998
@@ -127,7 +127,7 @@
 #endif /* SYSV */
 #endif /* __SGTTY_ */
 
-typedef int bool;
+typedef int _bool;
 
 #include <term.h>
 
@@ -178,7 +178,7 @@
    short       _begy, _begx;   /* (0,0) screen coordinates */
    char        _flags;
    short       _yoffset;   /* actual begy is _begy+_yoffset */
-   bool        _clear,     /* clearok() info */
+   _bool       _clear,     /* clearok() info */
            _leave,     /* leaveok() info */
            _immed,     /* window in immediate mode */
            _sync;      /* auto syncup of parent */
@@ -379,7 +379,7 @@
        curs_set(int), delay_output(int), delwin(WINDOW *),
        doupdate(void), draino(int), endwin(void), 
        baudrate(void), 
-       keypad(WINDOW *, bool),
+       keypad(WINDOW *, _bool),
        mvcur(int, int, int, int);
 
 extern int mvprintw(int, int, char *, ...), mvscanw(int, int, char *, ...),
@@ -425,7 +425,7 @@
.. further function declarations using bool also changed


Note that

#ifndef __cplusplus
typedef char bool ; /* bool type required by X/open */
#endif

occurs after the function declarations using bool





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]