Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <3A52B8A0.3D15E476@ece.gatech.edu> Date: Wed, 03 Jan 2001 00:29:04 -0500 From: Charles Wilson X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: Josifovski Ljubomir-BLJ01Z CC: "Cygwin Mailing List (E-mail)" Subject: Re: GNU's bc with readline library? References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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 AT 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 AT 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 DOT Josifovski AT dcs DOT shef DOT ac DOT uk,blj01z AT email DOT mot DOT 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