#7 ncurses on Solaris problems

unconfirmed
closed
nobody
server (16)
1
2002-06-01
2001-09-27
No

From: David Douthitt <ssrat@mailbag.com>

Subject: [lcdproc] Compiling on SF Compile Farm: Solaris 8

Compiling on the SF Compile Farm, there appears to be a
problem with
Solaris and the curses driver:

1.

After compiling against ncurses - which succeeded (!)
- the ncurses
library is not found. Reason the compilation is
successful is unknown;
the libncurses library is not present.

During the autogen phase (apparently) something in the
process decides
that the ncurses library is present, when it is not.
ncurses.h is
present, while libncurses* is not. Switching the
checks for curses and
ncurses around in acinclude.m4 "fixed" that but I
suspect this is not
the correct fix.

2.

After compiling against libcurses (and not libncurses)
the following
error appears:

Making all in drivers
gmake[1]: Entering directory
`/home/users/d/dd/ddouthitt/lcdproc/server/drivers'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory
`/home/users/d/dd/ddouthitt/lcdproc/server/drivers'
gmake[1]: Entering directory
`/home/users/d/dd/ddouthitt/lcdproc/server'
gmake[1]: *** Warning: File `../shared/libLCDstuff.a'
has modification
time in the future (2001-09-27 07:27:44 > 2001-09-27
07:27:33.24503223)
gcc -Wall -Wno-unused -O6 -o LCDd client_data.o
client_functions.o
clients.o input.o main.o menu.o menus.o parse.o
render.o screen.o
screenlist.o serverscreens.o sock.o widget.o
drivers/libLCDdrivers.a
../shared/libLCDstuff.a -lcurses -lkvm -lkstat
-lresolv -lsocket
-lnsl
Undefined first referenced
symbol in file
wcolor_set
drivers/libLCDdrivers.a(curses_drv.o)
wattr_off
drivers/libLCDdrivers.a(curses_drv.o)
wattr_on
drivers/libLCDdrivers.a(curses_drv.o)
ld: fatal: Symbol referencing errors. No output written
to LCDd
collect2: ld returned 1 exit status
gmake[1]: *** [LCDd] Error 1
gmake[1]: Leaving directory
`/home/users/d/dd/ddouthitt/lcdproc/server'
gmake: *** [all-recursive] Error 1

...and yet, wcolor_set, wattr_on, and wattr_off are
present in the man
pages, which suggest the curses library is the X/Open
Curses Library.

What gives?

Discussion

  • Guillaume Filion

    Logged In: YES
    user_id=53970

    This bug is still present in 0.4.3:
    -----
    [gfk@usf-cf-sparc-solaris-1 stable-0-4-3]$ server/LCDd
    -c ../LCDd.conf
    ld.so.1: server/LCDd: fatal: libncurses.so.5: open failed:
    No such file or directory
    Killed
    -----
    It looks like Solaris pretends it has ncurses while it
    does not... 8(

     
  • William W. Ferrell

    • milestone: --> unconfirmed
    • priority: 5 --> 1
    • status: open --> closed
     
  • William W. Ferrell

    Logged In: YES
    user_id=839

    Closing this bug -- it's very, very old, and is believed to have
    been fixed. If this is NOT the case, please re-open the bug and
    provide additional details.

     
  • Nobody/Anonymous

    Logged In: NO

    The problem occurs when trying to link with -lcurses instead
    of -lncurses. This is because there is a GNU ncurses header
    at /opt/sfw/include/curses.h, but a Solaris curses library
    in /lib.

    When your program #includes curses.h and links to libcurses,
    there is a header/library mismatch. The header is from GNU
    ncurses, but it is linking to UNIX curses. Because of some
    #defines, this results in undefined symbols.

     

Log in to post a comment.