This is the mail archive of the cygwin@sources.redhat.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: GNU's bc with readline library?



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]