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
next 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).