lftp 4.7.2 build fails in Cygwin
Hans-Bernhard Bröker
HBBroeker@t-online.de
Fri May 27 16:33:00 GMT 2016
Am 26.05.2016 um 19:20 schrieb Andrew Schulman:
> Cygwin 2.5.1 x86_64
> g++ 5.3.0
>
> In Cygwin, build of lftp 4.7.2 fails in two places:
>
> (1)
>
> /home/andrex/dev/cygwin/lftp/lftp-4.7.2-1.x86_64/src/lftp-4.7.2/src/xmalloc.h:31:38:
> error: expected ';', ',' or ')' before '=' token
> char *xstrdup(const char *s,int spare=0);
> ^
>
> g++ seems not to like the default value 'spare=0' in the function declaration.
I'm convinced g++ actually likes that just fine. The problem is that
this header is being pulled in by a plain C source file: lftp_rl.c. But
C does no have default arguments; those only exist in C++.
The underlying reason appearst to be that there is a conflict between
src/History.h and /usr/include/readline/history.h.
This file wants to include readline's history.h, but "thanks" to
Windows's harebrained handling of filename cases, gets src/History.h
instead. Which is a C++ header file, and new with 4.7.2.
> (2)
>
> /home/andrex/dev/cygwin/lftp/lftp-4.7.2-1.x86_64/src/lftp-4.7.2/src/xmalloc.h:32:21:
> error: expected ';', ',' or ')' before '&' token
> char *xstrset(char *&mem,const char *s);
Same problem, same cause: that is not legal C code, so the C compiler is
correct in rejecting it.
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list