This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin 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: configuring BitchX


> From: cygwin-owner at cygwin dot com [mailto:cygwin-owner at cygwin dot com]On Behalf
> Of Ronald Landheer-Cieslak
> Sent: Friday, April 11, 2003 11:57 AM

 I'm not _sure_ this is cygwin-related... :-7
But I would be surprised it if there wasn't at least a bit of it.


Hannu at p450 ~/bx
$ cp BitchX/doc/BitchX-mini.xpm build/doc/BitchX.xpm

Hannu at p450 ~/bx
$ cat mak.sh
tar xzf ircii-pana-1.0c19.tar.gz
mkdir build
cd build/
../BitchX/configure \
--disable-glibtest \
--disable-gtktest \
--disable-imlibtest \
--disable-gnometest \
--disable-esdtest \
--disable-audiofiletest \
--with-plugins

# this sequence suggested in FAQ at www.bitchx.org - gcc 3.2 related
# http://faq.bitchx.org/view_faq.php? ...
#... tag=Segfault+when+loading+script+in+BitchX+compiled+with+gcc3.2
# Note: www.bitchx.com - seems to be an old ftp-server(!?)
CFLAGS="-fno-strength-reduce -O2 -g" ./configure
make clean
make
make install

$ source mak.sh
...
../../BitchX/source/commands.c: In function `echocmd':
../../BitchX/source/commands.c:2061: warning: implicit declaration of
function `
tputs'
...
../../BitchX/source/commands2.c: In function `do_detach':
../../BitchX/source/commands2.c:2604: warning: implicit declaration of
function
`tputs'
...
../../BitchX/source/irc.c: In function `BX_irc_exit':
../../BitchX/source/irc.c:451: warning: implicit declaration of function
`tputs'
...
../../BitchX/source/ircsig.c: In function `my_signal':
../../BitchX/source/ircsig.c:22: warning: braces around scalar initializer
../../BitchX/source/ircsig.c:22: warning: (near initialization for
`sa.sa_handle
r')
../../BitchX/source/ircsig.c:22: warning: braces around scalar initializer
../../BitchX/source/ircsig.c:22: warning: (near initialization for
`osa.sa_handl
er')
...
../../BitchX/source/screen.c: In function `rite':
../../BitchX/source/screen.c:908: warning: implicit declaration of function
`tpu
ts'
...
../../BitchX/source/status.c:1227:13: warning: pasting "status_user0" and
"(" do
es not give a valid preprocessing token
../../BitchX/source/status.c:1228:13: warning: pasting "status_user1" and
"(" do
es not give a valid preprocessing token
../../BitchX/source/status.c:1229:13: warning: pasting "status_user2" and
"(" do
es not give a valid preprocessing token
../../BitchX/source/status.c:1230:13: warning: pasting "status_user3" and
"(" do
es not give a valid preprocessing token
../../BitchX/source/status.c:1231:13: warning: pasting "status_user4" and
"(" do
es not give a valid preprocessing token
../../BitchX/source/status.c:1232:13: warning: pasting "status_user5" and
"(" do
es not give a valid preprocessing token
../../BitchX/source/status.c:1233:13: warning: pasting "status_user6" and
"(" do
es not give a valid preprocessing token
../../BitchX/source/status.c:1234:13: warning: pasting "status_user7" and
"(" do
es not give a valid preprocessing token
../../BitchX/source/status.c:1235:13: warning: pasting "status_user8" and
"(" do
es not give a valid preprocessing token
../../BitchX/source/status.c:1236:13: warning: pasting "status_user9" and
"(" do
es not give a valid preprocessing token
../../BitchX/source/status.c:1237:14: warning: pasting "status_user10" and
"(" d
oes not give a valid preprocessing token
../../BitchX/source/status.c:1238:14: warning: pasting "status_user11" and
"(" d
oes not give a valid preprocessing token
../../BitchX/source/status.c:1239:14: warning: pasting "status_user12" and
"(" d
oes not give a valid preprocessing token
../../BitchX/source/status.c:1240:14: warning: pasting "status_user13" and
"(" d
oes not give a valid preprocessing token
../../BitchX/source/status.c:1241:14: warning: pasting "status_user14" and
"(" d
oes not give a valid preprocessing token
../../BitchX/source/status.c:1242:14: warning: pasting "status_user15" and
"(" d
oes not give a valid preprocessing token
../../BitchX/source/status.c:1243:14: warning: pasting "status_user16" and
"(" d
oes not give a valid preprocessing token
../../BitchX/source/status.c:1244:14: warning: pasting "status_user17" and
"(" d
oes not give a valid preprocessing token
../../BitchX/source/status.c:1245:14: warning: pasting "status_user18" and
"(" d
oes not give a valid preprocessing token
../../BitchX/source/status.c:1246:14: warning: pasting "status_user19" and
"(" d
oes not give a valid preprocessing token
...
../../BitchX/source/tcl_public.c:1569:1: warning: no newline at end of file
...
../../BitchX/source/term.c: In function `term_putchar':
../../BitchX/source/term.c:694: warning: implicit declaration of function
`tputs
'
...

--8<--
...
commands.o(.text+0xa3a6): In function `echocmd':
/home/Hannu/bx/build/source/../../BitchX/source/commands.c:2144: undefined
refer
ence to `_tputs'
commands.o(.text+0xaad6):/home/Hannu/bx/build/source/../../BitchX/source/com
mand
s.c:2061: undefined reference to `_tputs'
commands2.o(.text+0x8934): In function `do_detach':
/home/Hannu/bx/build/source/../../BitchX/source/commands2.c:2604: undefined
refe
rence to `_tputs'
irc.o(.text+0xd0a): In function `BX_irc_exit':
/home/Hannu/bx/build/source/../../BitchX/source/irc.c:451: undefined
reference t
o `_tputs'
screen.o(.text+0x16c4): In function `rite':
/home/Hannu/bx/build/source/../../BitchX/source/screen.c:908: undefined
referenc
e to `_tputs'
screen.o(.text+0x175c):/home/Hannu/bx/build/source/../../BitchX/source/scree
n.c:
921: more undefined references to `_tputs' follow
term.o(.text+0x2dc4): In function `term_init':
/home/Hannu/bx/build/source/../../BitchX/source/term.c:854: undefined
reference
to `_tgetent'
term.o(.text+0x2e01):/home/Hannu/bx/build/source/../../BitchX/source/term.c:
875:
 undefined reference to `_tgetflag'
term.o(.text+0x381f):/home/Hannu/bx/build/source/../../BitchX/source/term.c:
882:
 undefined reference to `_tgetstr'
term.o(.text+0x3849):/home/Hannu/bx/build/source/../../BitchX/source/term.c:
870:
 undefined reference to `_tgetnum'
term.o(.text+0x3b15): In function `term_clreol':
/home/Hannu/bx/build/source/../../BitchX/source/term.c:1358: undefined
reference
 to `_tputs'
term.o(.text+0x3b63): In function `term_gotoxy':
/home/Hannu/bx/build/source/../../BitchX/source/term.c:1373: undefined
reference
 to `_tputs'
term.o(.text+0x3b96):/home/Hannu/bx/build/source/../../BitchX/source/term.c:
1376
: undefined reference to `_tputs'
term.o(.text+0x3c5b): In function `term_clrscr':
/home/Hannu/bx/build/source/../../BitchX/source/term.c:1418: undefined
reference
 to `_tputs'
term.o(.text+0x3ccb):/home/Hannu/bx/build/source/../../BitchX/source/term.c:
1432
: undefined reference to `_tputs'
term.o(.text+0x3d04):/home/Hannu/bx/build/source/../../BitchX/source/term.c:
1424
: more undefined references to `_tputs' follow
collect2: ld returned 1 exit status
make[1]: *** [BitchX] Error 1
make[1]: Leaving directory `/home/Hannu/bx/build/source'
make: *** [BitchX] Error 2

--

$ man tputs

curs_terminfo(3X)
curs_terminfo(3X)

NAME
       del_curterm, mvcur, putp, restartterm, set_curterm, setterm,
setupterm,
       tigetflag,  tigetnum,  tigetstr,  tparm,  tputs,  vid_attr,
vid_puts,
       vidattr, vidputs - curses interfaces to terminfo database

SYNOPSIS
       #include <curses.h>
       #include <term.h>

       int setupterm(char *term, int fildes, int *errret);
       int setterm(char *term);
       TERMINAL *set_curterm(TERMINAL *nterm);
       int del_curterm(TERMINAL *oterm);
       int restartterm(const char *term, int fildes, int *errret);
       char *tparm(char *str, ...);
       int tputs(const char *str, int affcnt, int (*putc)(int));
       int putp(const char *str);
       int vidputs(chtype attrs, int (*putc)(int));
       int vidattr(chtype attrs);
       int vid_puts(attr_t attrs, short pair, void *opts, int
(*putc)(char));
       int vid_attr(attr_t attrs, short pair, void *opts);
       int mvcur(int oldrow, int oldcol, int newrow, int newcol);
       int tigetflag(char *capname);
       int tigetnum(char *capname);
       char *tigetstr(char *capname);
...

$ man  tgetstr

curs_termcap(3X)
curs_termcap(3X)

NAME
       tgetent,  tgetflag,  tgetnum,  tgetstr,  tgoto,  tputs  - direct
curses
       interface to the terminfo capability database

SYNOPSIS
       #include <curses.h>
       #include <term.h>
       extern char PC; extern char *  UP;  extern  char  *  BC;  extern
short
       ospeed;
       int tgetent(char *bp, const char *name);
       int tgetflag(char *id);
       int tgetnum(char *id);
       char *tgetstr(char *id, char **area);
       char *tgoto(const char *cap, int col, int row);
       int tputs(const char *str, int affcnt, int (*putc)(int));
...

$ less ../BitchX/include/ircterm.h

/*
 * term.h: header file for term.c
 *
 * Written By Michael Sandrof
 *
 * Copyright(c) 1990
 *
 * See the COPYRIGHT file, or do a HELP IRCII COPYRIGHT
 *
 * @(#)$Id: ircterm.h,v 1.2 2002/03/04 13:13:42 nuke Exp $
 */

#ifndef _TERM_H_
# define _TERM_H_

#ifdef HAVE_NCURSES_H
# include <ncurses.h>
# ifdef HAVE_NCURSES_TERMCAP_H
#  include <ncurses/termcap.h>
# elif defined(HAVE_TERMCAP_H)
#  ifndef __CYGWIN__
#     include <termcap.h>
#  endif
# endif
#else
# ifdef HAVE_CURSES_H
#  include <curses.h>
# endif
# ifdef HAVE_TERMCAP_H
#  include <termcap.h>
# endif
#endif
...

 My guess is that the above __CYGWIN__ conditional compile is for an older
cygwin version (at least one year old WRT the $Id date).

 Anyone have an idea on how to change it to make it compile?

 Another guess is that cygwin needs

       #include <curses.h>		or ncurses? $ man tputs+ncurses?
       #include <term.h>

 in the right place...

Or is it a  -lncurses  in Makefile.in/Configure.in ?
...  I've spent some time searching/reading in those...
but can't make sense out of it. Configure seems to test for
'tputs' at least  in both 'ncurses' and then 'curses'. This while a '$LIBS'
gets
appended with '-lncurses' (and '-lcurses'), at least temporary.
It seems to me as this '-l<whatever>' never makes it into any Makefile.
(configure and then grep; yields nothing)

The following seems indicate that it HAS found tputs and ncurses...

-- Configure -> defs.h, which contains, among other things  --
/* Define if you have the `ncurses' library (-lncurses). */
/* #undef HAVE_LIBNCURSES */
...
/* Define if you have the <ncurses.h> header file. */
/* #undef HAVE_NCURSES_H */

/* Define if you have the <ncurses/termcap.h> header file. */
/* #undef HAVE_NCURSES_TERMCAP_H */
...
/* Define this if you have the tputs function in an included lib */
/* #undef HAVE_TPUTS */

/* Define this if you have terminfo support */
/* #undef HAVE_TERMINFO */
-- end excerpt --


Another try:
 As BitchX/include/ircterm.h seems to be part of the problem (used in
building term.o)
 I tried this:

$ diff -up ircterm.h ircterm-OLD.h
--- ircterm.h   2003-04-12 20:39:44.000000000 +0200
+++ ircterm-OLD.h       2003-04-11 21:22:06.000000000 +0200
@@ -25,9 +25,6 @@
 #else
 # ifdef HAVE_CURSES_H
 #  include <curses.h>
-#  ifdef __CYGWIN__
-#   include <term.h>
-#  endif
 # endif
 # ifdef HAVE_TERMCAP_H
 #  include <termcap.h>

...but it doesn't make any difference when it comes to make-ing, the link
and 'implicit declaration' errors/warnings remain.

 Help!? >:-}

/Hannu E K Nevalainen, Mariefred, Sweden

--END OF MESSAGE--


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


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