public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: John Wiersba <John.Wiersba@medstat.com>
To: 'Charles Wilson' <cwilson@ece.gatech.edu>
Cc: 'cygwin' <cygwin@sourceware.cygnus.com>
Subject: RE: curses problem trying to build ruby
Date: Wed, 13 Dec 2000 13:39:00 -0000	[thread overview]
Message-ID: <03F4742D8225D21191EF00805FE62B9904B3F689@aa-msg-01.medstat.com> (raw)

Charles,

Perfect!  That was the problem.  I solved it by reinstalling everything from
scratch.  The make of ruby is going much better.  Thanks for your help!! 

I'm having a problem further on now.  I've sent email to the author, but I
thought I'd ask you on the off chance that you've actually built ruby.

   make[1]: Leaving directory `/jrw/ftp/ruby/junk/ruby-1.6.1/ext/Win32API'
   make[1]: Entering directory `/jrw/ftp/ruby/junk/ruby-1.6.1'
   windres --include-dir . --include-dir . --include-dir ./win32 ruby.rc 
      ruby.res.o

   gcc -g -O2   main.o ruby.exp ruby.res.o librubys.a -lcrypt   -o ruby.exe
   gcc: ruby.exp: No such file or directory
   make[1]: *** [ruby.exe] Error 1
   make[1]: Leaving directory `/jrw/ftp/ruby/junk/ruby-1.6.1'

There's no ruby.exp (and I couldn't see how one is supposed to be made -- I
tried "make ruby.exp").

-- John Wiersba

> -----Original Message-----
> From: Charles Wilson [ mailto:cwilson@ece.gatech.edu ]
> Sent: Wednesday, December 13, 2000 12:42 PM
> To: John Wiersba
> Cc: cygwin@sources.redhat.com
> Subject: Re: curses problem trying to build ruby
> 
> 
> John Wiersba wrote:
> > 
> > Charles,
> > 
> > I simplified the problem a little, to get rid of dllwrap:
> > 
> >    $ cd ruby-1.6.1/ext/curses
> >    $ gcc curses.o -L../.. -lcygwin-ruby16 -lncurses
> >    curses.o: In function `free_window':
> >    /.../ruby-1.6.1/ext/curses/curses.c:65: undefined 
> reference to `stdscr'
> >    ...
> > 
> > It looks like stdscr is not defined in libncurses.  But,
> > 
> >    $ cd /usr/lib
> >    $ ls -l *cur*
> >    lrw-r--r-- 1 jrw JRW     23 Dec 12 18:36 libcurses.a -> 
> libncurses.a
> >    lrw-r--r-- 1 jrw JRW     27 Dec 12 18:36 libcurses.dll.a ->
> > libncurses.dll.a
> >    -rw-r--r-- 1 jrw JRW 277240 Nov 25 00:44 libncurses++.a
> >    -rw-r--r-- 1 jrw JRW 392186 Nov 25 00:08 libncurses.a
> >    -rw-r--r-- 1 jrw JRW 263752 Nov 25 00:44 libncurses.dll.a
> >    -rw-r--r-- 1 jrw JRW   4820 Nov 11 01:32 libsecur32.a
> >    $ nm libncurses.a | grep stdscr
> >             U _stdscr
> >    ...
> >             U _stdscr
> >    00000000 D _stdscr
> >             U _stdscr
> > 
> > seems to show that it is.
> 
> But you're not linking to libncurses.a.  You are linking to
> libncurses.dll.a, the dll import lib.  To avoid this, you have to
> specify -static.  But that's not the real puzzler.  
> 
> /usr/include/ncurses.h defines stdscr thus:
>    extern NCURSES_EXPORT_VAR(WINDOW *)   stdscr;
> which expands to 
>    extern __declspec(dllimport) WINDOW * stdscr;
> 
> Short version: curses.o should have the following undefined symbol
>               U _imp__stdscr
> not
>               U _stdscr
> 
> And by linking to libncurses.dll.a (the default), the linker will find
> __imp__stdscr.
> 
> However, it appears that you are including a *different* 
> ncurses.h from
> somewhere, because your curses.o is not seeing the 
> __declspec(dllimport)
> decoration.  Do you have an old ncurses installed in '/usr/local' ?
> 
> If so (and if it's the old cygutils version) remove it using
> http://cygutils.netpedia.net/V1.1/usr-local/Obsolete.html  -- but READ
> the directions first: you only want to remove 
> /usr/local/---ncurses, not
> /usr/local/---everything. (If you have other programs that have been
> compile using the /usr/local/---ncurses, you'll need to set
> TERMINFO=/usr/share/terminfo to prevent them from looking in
> /usr/local/share/terminfo for their terminfo database).
> 
>  --Chuck
> 
> --
> Want to unsubscribe from this list?
> Send a message to cygwin-unsubscribe@sourceware.cygnus.com
> 

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

             reply	other threads:[~2000-12-13 13:39 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-12-13 13:39 John Wiersba [this message]
2000-12-13 13:46 ` Charles Wilson
     [not found] <03F4742D8225D21191EF00805FE62B9904B3F681@aa-msg-01.medstat.com>
2000-12-13  9:39 ` Charles Wilson
  -- strict thread matches above, loose matches on Subject: below --
2000-12-12 16:54 John Wiersba
2000-12-12 23:42 ` Charles Wilson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=03F4742D8225D21191EF00805FE62B9904B3F689@aa-msg-01.medstat.com \
    --to=john.wiersba@medstat.com \
    --cc=cwilson@ece.gatech.edu \
    --cc=cygwin@sourceware.cygnus.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).