Patch applied. Thanks!
I wonder why term.h should be included later if it provides a lower level
interface than curses.
Compilation errors occur while compilng testing/lftp-2.6.0.tar.gz
(lftp-pre2.6.0-20020801 ?).
(1) Solaris 9 with openssl-0.9.7-beta3
(a)
% gcc -DHAVE_CONFIG_H -I. -I../include -O2 -Wall -Wwrite-strings \
-Woverloaded-virtual -fno-exceptions -fno-rtti -fno-implement-inlines \
-Winline -c -o misc.o `test -f 'misc.cc' || echo './'`misc.cc
In file included from misc.cc:797:
/usr/include/term.h:1060: field `Ottyb' has incomplete type
/usr/include/term.h:1061: field `Nttyb' has incomplete type
#if defined(HAVE_TERM_H)
-#include term.h
+/* #include term.h */
+extern char *tigetstr(char *);
#elif defined(HAVE_NCURSES_TERM_H)
#include ncurses/term.h
#endif
(b)
% cc -DHAVE_CONFIG_H -I. -I../include -O2 -Wall -Wwrite-strings \
-Woverloaded-virtual -fno-exceptions -fno-rtti -fno-implement-inlines \
-Winline -c -o lftp_ssl.o `test -f 'lftp_ssl' || echo './'`ftp_sslc.cc
In file included from log.h:26,
from lftp_ssl.cc:30:
/usr/include/unistd.h:191: parse error before `,' token
In file included from PollVec.h:31,
from SMTask.h:24,
from log.h:28,
from lftp_ssl.cc:30:
/usr/include/sys/poll.h: In function `char* DES_crypt(const char*, const
char*)':
/usr/include/sys/poll.h:124: non-local function `int poll(DES_crypt(const
char*, const char*)::pollfd*, long unsigned int, int)' uses local type `
DES_crypt(const char*, const char*)::pollfd'
In file included from log.h:28,
from lftp_ssl.cc:30:
SMTask.h:33: local class `class DES_crypt(const char*, const char*)::SMTask'
shall not have static data member `DES_crypt(const char*, const
char*)::SMTask*DES_crypt(const char*, const char*)::SMTask::chain'
SMTask.h:34: local class `class DES_crypt(const char*, const char*)::SMTask'
shall not have static data member `DES_crypt(const char*, const
char*)::SMTask*DES_crypt(const char*, const char*)::SMTask::sched_scan'
SMTask.h:35: local class `class DES_crypt(const char*, const char*)::SMTask'
shall not have static data member `DES_crypt(const char*, const
char*)::PollVec DES_crypt(const char*, const char*)::SMTask::sched_total'
SMTask.h:58: local class `class DES_crypt(const char*, const char*)::SMTask'
shall not have static data member `TimeDate DES_crypt(const char*, const
char*)::SMTask::now'
SMTask.h:78: local class `class DES_crypt(const char*, const char*)::SMTask'
shall not have static data member `DES_crypt(const char*, const
char*)::SMTask*DES_crypt(const char*, const char*)::SMTask::current'
SMTask.h:33: field `DES_crypt(const char*, const char*)::SMTask::chain' in
local class cannot be static
SMTask.h:34: field `DES_crypt(const char*, const char*)::SMTask::sched_scan' in
local class cannot be static
SMTask.h:35: field `DES_crypt(const char*, const char*)::SMTask::sched_total'
in local class cannot be static
SMTask.h:58: field `DES_crypt(const char*, const char*)::SMTask::now' in local
class cannot be static
SMTask.h:78: field `DES_crypt(const char*, const char*)::SMTask::current' in
local class cannot be static
In file included from lftp_ssl.cc:30:
log.h:50: local class `class DES_crypt(const char*, const char*)::Log' shall
not have static data member `DES_crypt(const char*, const
char*)::Log*DES_crypt(const char*, const char*)::Log::global'
log.h:50: field `DES_crypt(const char*, const char*)::Log::global' in local
class cannot be static
lftp_ssl.cc:32: cannot declare static function inside another function
lftp_ssl.cc:33: cannot declare static function inside another function
lftp_ssl.cc:41: cannot declare static function inside another function
lftp_ssl.cc: In function `int lftp_ssl_verify_callback(int, X509_STORE_CTX*)':
lftp_ssl.cc:327: `int lftp_ssl_verify_callback(int, X509_STORE_CTX*)' was
declared `extern' and later `static'
lftp_ssl.cc:32: previous declaration of `int lftp_ssl_verify_callback(int,
X509_STORE_CTX*)'
unistd.h:
188 #if (defined(_XOPEN_SOURCE) (_XOPEN_VERSION - 0 = 4)) || \
189 defined(__EXTENSIONS__)
190 extern size_t confstr(int, char *, size_t);
191 extern char *crypt(const char *, const char *);
^^^
192 #endif /* (defined(XOPEN_SOURCE) (_XOPEN_VERSION - 0 = 4))... */
(2) IRIX 6.5.16f and Solaris 9
% /bin/sh ../libtool ... -lcurses -lm
..
ld32: ERROR 33 : Unresolved text symbol tigetstr(char*) --
1st referenced by libtasks.a(misc.o).
Use linker option -v to see when and which objects,
archives and dsos are loaded.
Undefined first referenced
symbol in file
tigetstr(char*) libtasks.a(misc.o)
-- ayamura