[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sup-talk] sent mail



Just a further note on the resolultion of the ncurses issue.

"gem install sup" seems to be failing on ncurses.

# gem install sup
Building native extensions.  This could take a while...
ERROR:  Error installing sup:
         ERROR: Failed to build gem native extension.

/usr/bin/ruby1.9.1 extconf.rb
checking for unistd.h... yes
checking for ncurses.h... yes
checking for wmove() in -lncurses... yes
checking for newscr()... yes
checking for TABSIZE()... yes
checking for ESCDELAY()... yes
checking for keybound()... yes
checking for curses_version()... yes
[SNIP]
checking for new_form() in -lform... yes
creating Makefile

make
Makefile:158: warning: overriding commands for target
`/var/lib/gems/1.9.1/gems/ncurses-0.9.1/lib'
Makefile:156: warning: ignoring old commands for target
`/var/lib/gems/1.9.1/gems/ncurses-0.9.1/lib'
cc -I. -I/usr/include/ruby-1.9.1/x86_64-linux
-I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I.
-DHAVE_UNISTD_H -DHAVE_NCURSES_H -DHAVE_NEWSCR -DHAVE_TABSIZE
-DHAVE_ESCDELAY -DHAVE_KEYBOUND -DHAVE_CURSES_VERSION -DHAVE_TIGETSTR
-DHAVE_GETWIN -DHAVE_PUTWIN -DHAVE_UNGETMOUSE -DHAVE_MOUSEMASK
-DHAVE_WENCLOSE -DHAVE_MOUSEINTERVAL -DHAVE_WMOUSE_TRAFO -DHAVE_MCPRINT
-DHAVE_HAS_KEY -DHAVE_DELSCREEN -DHAVE_DEFINE_KEY -DHAVE_KEYOK
-DHAVE_RESIZETERM -DHAVE_USE_DEFAULT_COLORS -DHAVE_USE_EXTENDED_NAMES
-DHAVE_WRESIZE -DHAVE_ATTR_ON -DHAVE_ATTR_OFF -DHAVE_ATTR_SET -DHAVE_CHGAT
-DHAVE_COLOR_SET -DHAVE_FILTER -DHAVE_INTRFLUSH -DHAVE_MVCHGAT
-DHAVE_MVHLINE -DHAVE_MVVLINE -DHAVE_MVWCHGAT -DHAVE_MVWHLINE
-DHAVE_MVWVLINE -DHAVE_NOQIFLUSH -DHAVE_PUTP -DHAVE_QIFLUSH -DHAVE_SCR_DUMP
-DHAVE_SCR_INIT -DHAVE_SCR_RESTORE -DHAVE_SCR_SET -DHAVE_SLK_ATTR
-DHAVE_SLK_ATTR_SET -DHAVE_SLK_COLOR -DHAVE_TIGETFLAG -DHAVE_TIGETNUM
-DHAVE_USE_ENV -DHAVE_VIDATTR -DHAVE_WATTR_ON -DHAVE_WATTR_OFF
-DHAVE_WATTR_SET -DHAVE_WCHGAT -DHAVE_WCOLOR_SET -DHAVE_GETATTRS
-DHAVE_ASSUME_DEFAULT_COLORS -DHAVE_ATTR_GET -DHAVE_PANEL_H -DHAVE_FORM_H
-fPIC -fno-strict-aliasing -g -g -O2 -O2 -g -Wall -Wno-parentheses  -fPIC -g
-o form_wrap.o -c form_wrap.c
form_wrap.c: In function 'rbncurs_m_new_form':
form_wrap.c:395: error: 'struct RArray' has no member named 'len'
form_wrap.c: In function 'rbncurs_c_set_field_type':
form_wrap.c:619: error: 'struct RArray' has no member named 'len'
form_wrap.c: In function 'rbncurs_c_set_form_fields':
form_wrap.c:778: error: 'struct RArray' has no member named 'len'
form_wrap.c: In function 'make_arg':
form_wrap.c:1126: error: 'struct RArray' has no member named 'len'
make: *** [form_wrap.o] Error 1


Gem files will remain installed in /var/lib/gems/1.9.1/gems/ncurses-0.9.1
for inspection.
Results logged to /var/lib/gems/1.9.1/gems/ncurses-0.9.1/gem_make.out


I get pretty much identical output from "gem install ncurses", so I suspect
the problem is not even a sup issue. Am I doing something terribly wrong?
All comments most welcome.

You are right it's not a sup issue. Ruby ncurses hasn't been ported to
1.9 so I just used ncursesw which seems to work quite well. Since you
are using gem to install sup you will need to untar the gem file modify
the metadata, tar it all up and reinstall. Something along the lines of:

cd /var/lib/gems/1.9.1/gems/cache/
mkdir tmp; cd tmp
tar xf ../sup-0.11.gem (ignore any timestamp errors)
vi metadata (make sure you use vim which will deal with the compression)
tar cf ../sup-0.11.gem .
cd ..
gem install sup-0.11.gem
rm -r tmp (assuming it works)

If you have problems working out which line to change in the metadata
you could unzip it and apply the following patch:

--- metadata.old        2010-04-08 23:10:27.363603950 +1000
+++ metadata.new        2010-04-08 23:11:09.479559396 +1000
@@ -32,7 +32,7 @@
  type: :runtime
  version_requirements: *id001
- !ruby/object:Gem::Dependency
-  name: ncurses
+  name: ncursesw
  prerelease: false
  requirement: &id002 !ruby/object:Gem::Requirement
    requirements:

And that should do you.

Or you could download a modified gem from http://stuff.roughage.com.au/sup-0.11.gem.
That gem was built from git and works (on my machine!).

William, is there any reason you are using ncurses and not ncursesw?

I'm making my sup gem using ruby1.9.1 and the latest code from gitorious.
The code compiles a gem without complaint, but the gem doesn't install and
gives the above error. When the Rakefile is updated to refer to ncursesw not
ncurses, the gem compiles, installs, and runs without a problem.

Best,
Neil.



_______________________________________________
sup-talk mailing list
sup-talk@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-talk