Hello there, Compiling on unix can be tricky. You often have to a bit of investigation and guesswork. I don't have the full answer, but I'll show you what i've done so far. This mail is perhaps overly long and overly dtailed, but the idea is to give a bit of the flavor of how to solve these problems, as you WILL have to solve them if you choose to download and compile source from the internet. A little understanding of how to use the troubleshooting tools combined with an inlking of the compilation process will get you through 950f your problems.
I' m trying to compile ircII 4.4 under Linux Suse 5.1. After uncompression I exectuted: ./configure --prefix=/usr --exec-prefix=/usr
and I got:
creating cache ./config.cache this is ircii version 4.4
[...] checking for tgetent in -lxtermcap... no configure: warning: i can not find tgetent. you might need to help me checking for tputs in curses.h... no [...]
What does it mean that: "configure: warning: i can not find tgetent. you might need to help me"?
The first thing you should wonder is what 'tgetent' is. Some good things to try woudl be 'locate tgetent' or 'man tgetent' or even 'man -k tgetent'. Here is what man tgetent gave me: NAME tgetent, tgetflag, tgetnum, tgetstr, tgoto, tputs - direct curses interface to the terminfo capability database [...] It seems this is a routine which gives curses applications access to terminfo, a system for properly formatting output to the screen (see man terminfo). Further, notice that the error follows a test for -lxtermcap. What I did at this point was used 'locate termcap' to see if I could figure out what it was looking for. (If you did not know the -l syntax is a way of requesting to the compiler you wish a particular library to be included.) Suspicious because of an earlier error I encountered with Vim5 which seems related, i rechecked the output from locate libtermcap. /usr/i486-linuxaout/lib/libtermcap.a /usr/i486-linuxaout/lib/libtermcap.sa /usr/lib/libtermcap.so.2 /usr/lib/libtermcap.so.2.0.8 /usr/lib/termcap/libtermcap.a /usr/lib/termcap/libtermcap.so /usr/lib is the "normal" place for libraries. (see the Linux System Administrator's Guide 0.6 for more detail on file locations <A HREF="http://www.linuxhq.com/guides/SAG/sag.html"><A HREF="http://www.linuxhq.com/guides/SAG/sag.html</A">http://www.linuxhq.com/guides/SAG/sag.html</A</A>> it's very good reading.) Because of the earlier problem with vim, I am suspicious that gnu's current version of autoconf is not generating 'configure' scripts that can find libraries in /usr/lib/termcap. I suggest trying the command 'ln -s /usr/lib/termcap/libtermcap.so /usr/lib/libtermcap.so' and then trying the configure/build again. It is inelegant to have symlinks floating around everywhere, but as I don't have the package, it's something I know will address the (guesssed) issue.
I' ve checked include/config.h and it was ok. When I ran "make", I got:
make[1]: Entering directory `/usr/src/ircii-4.4/source' [...] gcc -g -O2 -DHAVE_CONFIG_H -I../include -c whois.c gcc -g -O2 -DHAVE_CONFIG_H -I../include -c window.c gcc -g -O2 -DHAVE_CONFIG_H -o irc alias.o crypt.o ctcp.o dcc.o debug.o edit.o exec.o flood.o funny.o help.o history.o hold.o hook.o if.o ignore.o input.o irc.o ircaux.o ircsig.o keys.o lastlog.o list.o log.o mail.o menu.o names.o newio.o notice.o notify.o numbers.o output.o parse.o queue.o reg.o scandir.o screen.o server.o stack.o status.o term.o translat.o vars.o whois.o window.o edit.o: In function `command_completion': /usr/src/ircii-4.4/source/edit.c:2264: undefined reference to `tputs' edit.o: In function `edit_char': /usr/src/ircii-4.4/source/edit.c:3186: undefined reference to `tputs' [...]
Again, with a bit of understanding of what make is doing, this points to the same error. First we see make kicking off many copies of 'gcc' which is compiling source code into binary. Then at the end, we see a great number of binary object files (.o) passesd into the compiler. During this final link, a compiler is going to try to figure out all the libraries the program is using to link them in. Obviously, it isn't successful this time. It can't find the symbol (in this case a system call) 'tputs'. Again 'man tputs' gives us the same manpage. Definitely, this library is missing. If you want to get really fancy, you can use the command nm to see what's inside a library: jrodman@skaro:/usr/lib/termcap > nm libtermcap.a |grep tputs 00000e00 T tputs 00000004 C tputs_baud_rate yes, this is the one we want.
What can I do to compile ircII 4.4 successfully?
Try the above suggestion, see what it does. ie. 'ln -s /usr/lib/termcap/libtermcap.so /usr/lib/libtermcap.so' then re-configure, and re-make -- To get out of this list, please send email to majordomo@suse.com with this text in its body: unsubscribe suse-linux-e