> 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

Reply via email to