[comp.unix.xenix] Question re: curses in SCO Xenix?

tony@joshua.math.ucla.edu (03/08/89)

Hello Netland,

I'd like to start by thanking Rich Skrenta <skrenta@blekko.home.nwu.edu>
for the following to my inquiry regarding the heap space error:

>Try adding the option -LARGE to the cc line which is bombing.  In all
>but the most recent versions of Xenix this will invoke a version of the
>compiler that -- I guess -- has more heap space.  I got some version
>of procomm to work under xenix, I don't remember which one...

I managed to get Pcomm2 to compile but am now having a problem during
the linking phase.  I get the following when I try to link:

cc -Ml -LARGE -s -SEG256   admin.o chg_dir.o curses.o d_delete.o  
d_lib.o d_manual.o d_menu.o d_print.o d_prompt.o d_revise.o  data_log.o 
di_delay.o di_win.o dial.o expand.o help.o info.o  init.o line_set.o list_dir.o
ls_menu.o m_lib.o macro.o main.o  n_shell.o p_lib.o passthru.o pexit.o port.o 
redial.o s_axfer.o  s_gen.o s_menu.o s_modem.o s_prompt.o s_term.o s_tty.o 
screen.o  st_line.o strings.o terminal.o x_ascii.o x_batch.o x_extrnl.o  
x_menu.o x_rcv.o x_send.o x_win.o xmodem.o -o pcomm -ltermlib -lcurses

/bin/ld: Unresolved externals:


_nap in file(s): 
 /lib/Llibcurses.a(getch.c)
*** Error code 1

Stop.


My question is what is _nap?  I could not find it in any of the 
Pcomm source files.  I also did a strings * | grep nap in /usr/lib hoping 
that I was linking in the wrong library but the only thing I got was
an argentinapeso.

I hope someone out there can explain this.

Thanks in advance.


Tony Lei
tony@math.ucla.edu

mdc@spt.entity.com (Marty Connor) (03/08/89)

In article <574@sunset.MATH.UCLA.EDU> tony@MATH.UCLA.EDU () writes:
>
>cc -Ml -LARGE -s -SEG256   admin.o chg_dir.o curses.o d_delete.o  
	... ...
>x_menu.o x_rcv.o x_send.o x_win.o xmodem.o -o pcomm -ltermlib -lcurses
>/bin/ld: Unresolved externals:
>_nap in file(s): 
> /lib/Llibcurses.a(getch.c)
>*** Error code 1
>Stop.

>My question is what is _nap?  I could not find it in any of the 
>Pcomm source files.  I also did a strings * | grep nap in /usr/lib hoping 
>that I was linking in the wrong library but the only thing I got was
>an argentinapeso.

Try adding "-lx" to your list of libraries.  The nap() function takes
a long arg of 'milliseconds to sleep' and suspends a process for at least
that amount of time.

>Tony Lei
>tony@math.ucla.edu

a
couple
more
lines
for
our
good
friend
rn.




-- 
----------------
Marty Connor
Director of Innovation, The Entity
mdc@entity.com, ...{harvard|uunet}!mit-eddie!spt!mdc

daveh@marob.MASA.COM (Dave Hammond) (03/09/89)

>cc -Ml -LARGE -s -SEG256   admin.o chg_dir.o curses.o d_delete.o  [...]
>[...] x_rcv.o x_send.o x_win.o xmodem.o -o pcomm -ltermlib -lcurses
>
>/bin/ld: Unresolved externals:
>
>_nap in file(s): 
> /lib/Llibcurses.a(getch.c)
>*** Error code 1
>
>My question is what is _nap?

nap() is an undocumented call invoked by the Xenix terminfo version's
getch() function--it is accessed by linking with the Xenix library "x"
(ie add "-lx" to the cc command line before -ltermlib).  BTW, you
may well experience problems using SCO's getch() call--it has a nasty
habit of returning null when the 'D' (or is it 'd'?)  and 'P' keys are
pressed.

Good luck.

--
Dave Hammond
daveh@marob.masa.com

jbayer@ispi.UUCP (Jonathan Bayer) (03/09/89)

In article <574@sunset.MATH.UCLA.EDU> tony@MATH.UCLA.EDU () writes:
>
>I managed to get Pcomm2 to compile but am now having a problem during
>the linking phase.  I get the following when I try to link:

	[deleted]

>/bin/ld: Unresolved externals:
>
>
>_nap in file(s): 
> /lib/Llibcurses.a(getch.c)
>*** Error code 1
>
>Stop.
>
>
>My question is what is _nap?  I could not find it in any of the 

I have said it before, I will say it again. RTFM RTFM RTFM.

By examining the output you will see that _nap is referenced in the curses
library.  By looking in the Programmers Reference Manual for "nap" you
will find a manual page for it.  On that page you will see that it has
to be linked in with the linker option "-lx"



JB
-- 
Jonathan Bayer			      Beware: The light at the end of the
Intelligent Software Products, Inc.	      tunnel may be an oncoming dragon
19 Virginia Ave.				...uunet!ispi!jbayer
Rockville Centre, NY 11570  (516) 766-2867    jbayer@ispi.UUCP

jbayer@ispi.UUCP (Jonathan Bayer) (03/14/89)

In article <587@marob.MASA.COM> daveh@marob.masa.com (Dave Hammond) writes:
>
>nap() is an undocumented call invoked by the Xenix terminfo version's
	     ^^^^^^^^^^^^

Sorry, it is documented in the Programmers Reference manual.


JB

-- 
Jonathan Bayer			      Beware: The light at the end of the
Intelligent Software Products, Inc.	      tunnel may be an oncoming dragon
19 Virginia Ave.				...uunet!ispi!jbayer
Rockville Centre, NY 11570  (516) 766-2867    jbayer@ispi.UUCP

fnf@estinc.UUCP (Fred Fish) (03/20/89)

In article <587@marob.MASA.COM> daveh@marob.masa.com (Dave Hammond) writes:
>							BTW, you
>may well experience problems using SCO's getch() call--it has a nasty
>habit of returning null when the 'D' (or is it 'd'?)  and 'P' keys are
>pressed.

Zingo!  So it isn't just my imagination or a bug in my code!  I've
been going nuts for the last week trying to find out why a program
using SCO's curses library doesn't work.  You type "abcdefg" at it
and you are likely as not to get something like "agcdp ph".  I
figured it was a stray pointer bug in my code clobbering something
in the curses library code.  Maybe not...

The same code works fine under Ultrix and Apple A/UX.

-Fred
-- 
# Fred Fish, 1835 E. Belmont Drive, Tempe, AZ 85284,  USA
# 1-602-491-0048           asuvax!{nud,mcdphx}!estinc!fnf