This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [patch] configure.ac, configure: curses/termcap on *-*-osf5.*
- From: mec dot gnu at mindspring dot com (Michael Elizabeth Chastain)
- To: kettenis at chello dot nl, mec dot gnu at mindspring dot com
- Cc: gdb-patches at sources dot redhat dot com
- Date: Tue, 27 Apr 2004 21:50:27 -0400 (EDT)
- Subject: Re: [patch] configure.ac, configure: curses/termcap on *-*-osf5.*
Mark Kettenis writes:
> Sorry, but this isn't right. Just because ncurses doesn't work on one
> particular system, we shouldn't treat all those systems specially.
> Why is ncurses not working on this particular system?
You're implying that building gdb with ncurses works on *any*
alphaev68-dec-osf5.1 system. I doubt that it does.
There's no build reports in gdb-testers from anybody with an osf5 system
since 2002. And based on the build failure in gdb/1626, I don't think
that anybody's actually tried to build on an osf5 system since the
addition of the curses library. (gdb 6.0 builds fine on this system.
But gdb 6.0 does not use curses; only termcap).
Here's what I get when I build gdb 6.1 with ncurses, but using the right
library order. The link line is (after touching up the white-space):
gcc -g -O2 \
-o gdb gdb.o libgdb.a \
../bfd/libbfd.a ../readline/libreadline.a ../opcodes/libopcodes.a ./../intl/libintl.a ../libiberty/libiberty.a -lncurses -ltermcap -lm ../libiberty/libiberty.a
The unresolved externals are:
keypad
cbreak
_setecho
nodelay
_setnonl
LINES
COLS
def_prog_mode
def_shell_mode
stdscr
_acs_map
curscr
getcury
getcurx
_ring
savetty
resetty
napms
collect2: ld returned 1 exit status
I'm building gdb with gcc 3.3.3. This gcc was built with the vendor
assembler and linker, as recommended by the gcc installation
instructions.
On closer inspection, libcurses lives in /usr/shlib, /usr/ccs/lib,
and /usr/lib. libncurses lives in /usr/local/lib. I think that's
evidence that libcurses is the official curses library for osf5.1
and libncurses is something local to the machine that I'm using
(spe147.testdrive.hp.com).
I also experimented with a test program that just calls one
library function:
vendor cc, -lcurses ... links
vendor cc, -lncurses ... unresolved external
gcc, -lcurses ... links
gcc, -lncurses ... unresolved external
That just shows that ncurses is broken on the specific host spe147.
But the location of libcurses and the location of libncurses
leads me to think that libcurses is official on osf5.1 and
libncurses is not.
Michael C