I've managed to get the server (jserver) building and running. Now I'm
trying to do the same for the basic (text-mode) client, uum.
I managed to hack the #ifdefs (and what an unholy mess those are) enough to
get the files compiling, but I've hit a wall trying to link it. This is
using Paul's build environment.
rm -f uum
ash.exe ../..//libtool --mode=link gcc -o uum epilogue.o header.o kensaku.o
kuten.o jis_in.o prologue.o touroku.o jikouho.o jutil.o w_string.o
printf.o termio.o hinsi.o termcap.o ttyfdslot.o setutmp.o redraw.o history.o
key_bind.o screen.o basic_op.o uif.o cursor.o jhlp.o select_ele.o inspect.o
wnnrc_op.o functions.o bcopy.o xutoj.o server_env.o sstrings.o
./..//Wnn/jlib/libwnn.la ../..//Wnn/conv/libconvkey.a -lsocket -ltermcap -Zexe
gcc -o uum epilogue.o header.o kensaku.o kuten.o jis_in.o prologue.o touroku.o
jikouho.o jutil.o w_string.o printf.o termio.o hinsi.o termcap.o ttyfdslot.o
setutmp.o redraw.o history.o key_bind.o screen.o basic_op.o uif.o cursor.o
jhlp.o select_ele.o inspect.o wnnrc_op.o functions.o bcopy.o xutoj.o
server_env.o sstrings.o -Zexe ../..//Wnn/jlib/.libs/wnn.a
./..//Wnn/conv/libconvkey.a -lsocket -ltermcap
U:/usr/i386-pc-os2-emx/bin/ld.exe: No such file or directory for termcap
make: *** [uum] Error 1
It seems to be missing the termcap library. I couldn't find this in the
build tree anywhere. Since it used to be part of emx, I assume termcap
is still supported in some way... how do I link to it, though?
--
Alex Taylor
Fukushima, Japan
http://www.socis.ca/~ataylo00
Please take off hat when replying.
Unluckily I don't think that you can as there doesn't seem to be termcap
support.
Dave
> > It seems to be missing the termcap library. I couldn't find this in the
> > build tree anywhere. Since it used to be part of emx, I assume termcap
> > is still supported in some way... how do I link to it, though?
>
> Unluckily I don't think that you can as there doesn't seem to be termcap
> support.
Really? I've built XJDIC with gcc 3.3.5, and it uses TERMCAP.
From ChangeLog.LIBc
2006-03-12: knut st. osmundsen <bird-gcc...@anduin.net>
- libc:
o #67: Removed termcap.h, curses.h, bsd/curses.h, bsd/termcap.h,
gnu/curses.h and gnu/termcap.h because we never built the
libs for them.
Dave
> >>> It seems to be missing the termcap library. I couldn't find this in
> >>> the build tree anywhere. Since it used to be part of emx, I assume
> >>> termcap is still supported in some way... how do I link to it, though?
> >>
> >> Unluckily I don't think that you can as there doesn't seem to be
> >> termcap support.
> >
> > Really? I've built XJDIC with gcc 3.3.5, and it uses TERMCAP.
>
> From ChangeLog.LIBc
> 2006-03-12: knut st. osmundsen <bird-gcc...@anduin.net>
> - libc:
> o #67: Removed termcap.h, curses.h, bsd/curses.h, bsd/termcap.h,
> gnu/curses.h and gnu/termcap.h because we never built the
> libs for them.
I just rebuilt xjdic over the weekend with GCC 3.3.5, and it definitely
linked with -ltermcap (and it works, too). I wonder why, then?
Have you got a (lib)termcap.a(lib) on your LIBRARY_PATH? Could it be
like -lsocket and -lm which are just noops.
Unluckily the source page link at the home page is broken, same with the
link to your version
Dave
Found your source on Hobbes. It only compiles if the EMX termcap library
is on the LIBRARY_PATH. Alternatives include linking against -lncurses
or perhaps -lreadline
Dave
> >>> Really? I've built XJDIC with gcc 3.3.5, and it uses TERMCAP.
> >>
> > I just rebuilt xjdic over the weekend with GCC 3.3.5, and it definitely
> > linked with -ltermcap (and it works, too). I wonder why, then?
>
> Have you got a (lib)termcap.a(lib) on your LIBRARY_PATH? Could it be
> like -lsocket and -lm which are just noops.
Yes, the old EMX stuff is in the LIBRARY_PATH.
However, the compiled executable works fine without EMX present, so I
didn't think it could be linking against the EMX library...
> Unluckily the source page link at the home page is broken, same with the
> link to your version
I sent Dr. Breen an email about that yesterday. He seems to be away on a
trip at the moment, hopefully he'll see my email when he gets back.
Shortening my LIBRARY_PATH results in
xjdfrontend.c:346 (xjdfrontend_sa.o): Undefined symbol _tgetent
referenced from text segment
xjdfrontend.c:349 (xjdfrontend_sa.o): Undefined symbol _tgetnum
referenced from text segment
Adding -Zomf results in
E:\emx\lib\curses.lib(putchar.obj) : error LNK2029: "_flush" :
unresolved external
E:\emx\lib\curses.lib(putchar.obj) : error LNK2029: "_streamv" :
unresolved external
So it is strange that curses.a works and doesn't seem to have a
dependency on EMX.
Using TLIBS=-lncurses
LNKOPT=-Zomf
Allows the build to finish. The programs seem to work though my
environment is not set up right to really test.
ncurses is from KO's build, should be on Hobbes
Dave
ps freewnn would probably build with -ltermcap replaced by -lncurses