Re: (Psion) plptools compilation error
>firstname.lastname@example.org (Colin Watson) writes:
>> email@example.com wrote:
>> >Has anyone managed to compile plptools (unfortunately there's no
>> >Debian package)? I found no email address, and I couldn't even find
>> >out who's the author.
>> Where can we get the source code?
>Sorry, it's <ftp://ftp.to.com/pub/psion/tarballs/plptools-0.6.tar.gz>
Got it, thanks. For the address of the author, Fritz Elfert, look in
some of the source files; for instance, it's on line 7 of plpftp/ftp.cc.
>> >Making all in plpftp
>> >make: Entering directory `/home/andre/plptools-0.6/plpftp'
>> >g++ -DHAVE_CONFIG_H -I. -I. -I../include -I../lib -O2 -Wall -c ftp.cc
>> >ftp.cc: In function `int checkAbortHash(long int)':
>> >ftp.cc:169: implicit declaration of function `int printf(...)'
>> >ftp.cc:169: `stdout' undeclared (first use this function)
>> Looks like somebody forgot to #include <stdio.h>.
It's the author's fault. In C, if you use certain functions or
variables, you need to include the appropriate "header files" into your
program from the libraries that define them. For printf() et al, you
need stdio, the standard input/output library. The author did include
this, but only if you have the development readline libraries available;
unfortunately this is bogus, because he uses things like printf() and
(You probably want to have the development readline libraries installed
while compiling this anyway. Install the libreadline4-dev package.)
Go to plpftp/ftp.cc line 46, remove that line (which should read
'#include <stdio.h>'), and move it up to the topmost block of #include
directives. The code then compiles fine - well, there are a few warnings
(two-digit years - I can only hope this is just something that the Psion
link protocol requires), but nothing fatal.
Colin Watson [firstname.lastname@example.org]