delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/01/03/00:26:41

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
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 <cwilson AT ece DOT gatech DOT edu>
X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Josifovski Ljubomir-BLJ01Z <Ljubomir_Josifovski-BLJ01Z AT email DOT mot DOT com>
CC: "Cygwin Mailing List (E-mail)" <cygwin AT sourceware DOT cygnus DOT com>
Subject: Re: GNU's bc with readline library?
References: <D1F0002F0A8FD411ACEC00805FE675CE260EC1 AT zuk02exm02 DOT comm DOT mot DOT com>

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019