This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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