This is the mail archive of the
cygwin@sources.redhat.com
mailing list for the Cygwin project.
RE: GNU's bc with readline library?
- To: "'Charles Wilson'" <cwilson at ece dot gatech dot edu>, "Cygwin Mailing List (E-mail)" <cygwin at sourceware dot cygnus dot com>
- Subject: RE: GNU's bc with readline library?
- From: Josifovski Ljubomir-BLJ01Z <BLJ01Z at motorola dot com>
- Date: Wed, 3 Jan 2001 09:16:29 -0000
Right on the spot - yes, scan.l doesn't include readline.h but declares
rl_instream itself. Sorted.
Thanks!
Ljubomir
> -----Original Message-----
> From: Charles Wilson [mailto:cwilson@ece.gatech.edu]
> Sent: 03 January 2001 05:29
> To: Josifovski Ljubomir-BLJ01Z
> Cc: Cygwin Mailing List (E-mail)
> Subject: Re: GNU's bc with readline library?
>
>
> scan.o *should* be looking for __imp__rl_instream, not
> rl_instream. The
> problem seems to be that scan.c doesn't see the declaration of
> rl_instream as it appears in the *cygwin*
> /usr/include/readline/readline.h:
>
> extern READLINE_EXPORT_VAR(FILE *) rl_instream;
>
> which expands to:
>
> extern __declspec(dllimport) FILE * rl_instream;
>
> Does scan.c declare rl_instream itself as "extern FILE * rl_instream",
> instead of including readline.h ?
>
> --Chuck
>
>
> Josifovski Ljubomir-BLJ01Z wrote:
> >
> > While trying to compile GNU's bc with the readline library:
> >
> > sysop@ZUK02-0544 ~/bc-1.06
> > $ ./configure --with-readline
> > loading cache ./config.cache
> > ... (snip)
> > checking for readline in -lreadline... (cached) yes
> > checking for readline/readline.h... (cached) yes
> > Using the readline library.
> > ... (snip)
> > creating config.h
> >
> > I get:
> >
> > sysop@ZUK02-0544 ~/bc-1.06
> > $ make
> > ... (snip)
> > Making all in bc
> > make[2]: Entering directory `/home/sysop/bc-1.06/bc'
> > ... (snip)
> > gcc -g -O2 -Wall -funsigned-char -o bc main.o bc.o
> scan.o execute.o
> > load.o st
> > orage.o util.o global.o ../lib/libbc.a -lfl -lreadline -lncurses
> > scan.o(.text+0x155b): undefined reference to `rl_instream'
> > collect2: ld returned 1 exit status
> > make[2]: *** [bc] Error 1
> > make[2]: Leaving directory `/home/sysop/bc-1.06/bc'
> > make[1]: *** [all-recursive] Error 1
> > make[1]: Leaving directory `/home/sysop/bc-1.06'
> > make: *** [all-recursive-am] Error 2
> >
> > I see:
> >
> > $ objdump --syms bc/scan.o | grep rl_instream
> > [ 60](sec 0)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000
> _rl_instream
> >
> > and that rl_instream is defined:
> >
> > $ nm --print-file-name /usr/lib/libreadline.a | grep 'rl_instream'
> > /usr/lib/libreadline.a:readline.o:00000024 D _rl_instream
> > ... (snip)
> >
> > Any hints?
> >
> > Without readline it compiles and links fine.
> >
> > thanks,
> >
> > --
> > Ljubomir Josifovski
> > mailto:L.Josifovski@dcs.shef.ac.uk,blj01z@email.mot.com
> > http://www.dcs.shef.ac.uk/~ljupco
> >
> > --
> > Want to unsubscribe from this list?
> > Check out: http://cygwin.com/ml/#unsubscribe-simple
>
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple