Re: More help needed to finally fix autoconf in ncftp
Hi,
On Sat, Feb 15, 2025 at 03:02:57PM +0100, Joost van Baal-Ilić wrote:
> On Sat, Feb 15, 2025 at 11:44:37AM +0100, Alexandre Detiste wrote:
> >
> > In my previous attempts, I was post-editing config.h with sed.
> > I know it's horrible ... but it get things done.
> >
> > I was later stuck by the other problems solved by наб
> >
> > Alexandre
> >
> > Le sam. 15 févr. 2025 à 10:53, Andreas Tille <andreas@an3as.eu> a écrit :
> > >
> > > Hi,
> > >
> > > thanks to the help of наб[1] most issues in ncftp where fixed in Git[2].
> > > The only remaining issue is that the binary
> > > /usr/bin/ncftpbookmarks
> > > is not build which is IMHO due to a problem in detecting the ncurses
> > > library inside the M4 code. The configure.in snippet[3] is seeking for
> > > the variable wi_LIB_CURSES which is actually set in aclocal[4] but
> > > something seems to go wrong here. Any help to fix this code would be
> > > welcome to make sure ncftpbookmarks will be built.
> > >
> > > Kind regards
> > > Andreas.
> > >
> > > [1] https://salsa.debian.org/debian/ncftp/-/merge_requests/1
> > > [2] https://salsa.debian.org/debian/ncftp
> > > [3] https://salsa.debian.org/debian/ncftp/-/blob/master/configure.in?ref_type=heads#L100-106
> > > [4] https://salsa.debian.org/debian/ncftp/-/blob/master/autoconf_local/aclocal.m4?ref_type=heads#L5128
> > >
>
> I gave it a shot. I did:
>
> (sid)joostvb@agni:~/git/build-area/ncftp-3.2.7% ./configure
>
> .../build-area/ncftp-3.2.7% less config.log
>
> shows:
>
> configure:6364: checking for sys/ioctl.h
> configure:6453: checking for curses library
> configure:6491: gcc -o conftest -D_REENTRANT -D_LARGEFILE64_SOURCE -O2 -W -Wall -Wno-format-y2k conftest.c -lresolv -lncursesw 1>&5
> configure: In function 'main':
> configure:6484:21: error: implicit declaration of function 'strcmp' [-Wimplicit-function-declaration]
> 6484 | if (strcmp("jimmy", "floyd") == 0)
> | ^~~~~~
> configure:6477:1: note: include '<string.h>' or provide a declaration of 'strcmp'
> 6476 | # include <ncurses.h>
> +++ |+#include <string.h>
> 6477 | #else
> configure:6486:17: error: implicit declaration of function 'exit' [-Wimplicit-function-declaration]
> 6486 | exit(0);
> | ^~~~
> configure:6477:1: note: include '<stdlib.h>' or provide a declaration of 'exit'
> 6476 | # include <ncurses.h>
> +++ |+#include <stdlib.h>
> 6477 | #else
> configure:6486:17: warning: incompatible implicit declaration of built-in function 'exit' [-Wbuiltin-declaration-mismatch]
> 6486 | exit(0);
> | ^~~~
> configure:6486:17: note: include '<stdlib.h>' or provide a declaration of 'exit'
> configure: failed program was:
>
> I guess patching the testing C code in autoconf_local/aclocal.m4 around these
> lines:
>
> 5127 /* function body */
> 5128 if (strcmp("jimmy", "floyd") == 0)
> 5129 initscr();
> 5130 exit(0);
>
> could work? I am guessing the C code is not modern enough and therefore fails.
>
> Don't have time to investigate more now, but anyway: HTH!
Hrm, or in vis/Makefile.in , change
CURSESLIBS=@LIBCURSES@
into
CURSESLIBS=-lncurses
. Another evil way to hack around it; it just might work...
Bye,
Joost
Reply to: