[fxruby-users] ruby1.9.1 fox1.7.19 fxrubygithub -> Init_core

adaml2 at seznam.cz adaml2 at seznam.cz
Thu Mar 5 06:42:47 EST 2009


ruby 1.9.1      #compiled # also fails with prepacked 1.8.7 ubuntu
fox 1.7.19      #compiled
swig 1.3.35  # apt-get
fxruby from github # compiled and ??

The story goes over many errors.... and fails.
After git clone fxruby. I tried doc/build advice:
( BTW there are texts 1.6.13 and 1.6.32, are you planning
something as @@FXRUBYVERSION@@ )

ruby install.rb config
fails with:

/usr/local/bin/ruby: No such file or directory -- /x/my/fox/1/fxruby/ext/fox16/extconf.rb (LoadError)

That's because there is only extconf.rb.in. So I tried:

rake build

it failed with:

scripts/iface.rb:387:in `ensure in main': undefined method `close' for nil:NilClass (NoMethodError)
        from scripts/iface.rb:388:in `main'
        from scripts/iface.rb:391:in `<main>'
rake aborted!
Command failed with status (1): [/usr/local/bin/ruby scripts/iface.rb -i ~/...]
/x/my/fox/1/fxruby/Rakefile:240:in `block in <top (required)>'

looks like
input = File.open(arg, File::RDONLY)
raises exception, so input is still nil

changed that to:
    input.close if input
    output.close if output


rake build # again
scripts/iface.rb:373:in `initialize': No such file or directory - /home/v/src/fxscintilla/scintilla/include/Scintilla.iface (Errno::ENOENT)

ok. I have no scintilla, fxscintilla and so I blocked whole Rakefile line

# ruby "scripts/iface.rb -i ~/src/fxscintilla/scintilla/include/Scintilla.iface -o lib/fox16/scintilla.rb"

rake build # again
rake aborted!
No such file or directory - FXRuby.spec.in
/x/my/fox/1/fxruby/Rakefile:252:in `initialize'

Yeah. This file is really missing. I found some old version ( size 2011 ).

rake build #again

lot of text ......
part of that was:
/usr/local/bin/ruby /x/my/fox/1/fxruby/ext/fox16/extconf.rb --with-fox-include=/usr/local/include/fox-1.7 --with-fox-lib=/usr/local/lib --without-fxscintilla
finally with --without-fxscintilla ...... :-) but late

and fails with:

FXRbApp.cpp:27:25: error: swigrubyrun.h: No such file or directory

rake swig # i did a change

SWIG=/opt/.../swig
hardcoded paths are very frequent in fxruby.... I did just:
SWIG=swig

rake swig # ok now
rake build #again

lot of compilation and finally:
g++ ....................... -o FXRuby.o -c FXRuby.cpp
FXRuby.cpp: In function ‘VALUE FXRbMakeColorArray(const FX::FXColor*, FX::FXint, FX::FXint)’:
FXRuby.cpp:457: warning: comparison between signed and unsigned integer expressions
FXRuby.cpp: In function ‘void* FXRbGetExpectedData(VALUE, FX::FXSelector, VALUE)’:
FXRuby.cpp:1179: error: ‘SWIG_Ruby_ConvertPtr’ was not declared in this scope
FXRuby.cpp:1186: error: ‘SWIG_Ruby_ConvertPtr’ was not declared in this scope

I changed both these lines:

ext/fox16/FXRuby.cpp:1179:
    SWIG_Ruby_ConvertPtr(value,&ptr,FXRbTypeQuery("FXPoint *"),1);
ext/fox16/FXRuby.cpp:1186:
    SWIG_Ruby_ConvertPtr(value,&ptr,FXRbTypeQuery("FXEvent *"),1);

to this text: SWIG_ConvertPtr

rake build # ok
rake test

fails immediately with:
/x/my/fox/1/fxruby/lib/fox16/timeout.rb:6:in `<class:FXApp>': undefined method `addDeadline' for class `Fox::FXApp' (NameError)

Hmm. this shouldn't as addDeadline is there. I did install as root into /usr/local/lib ...
It rewrote my normal fox16 !!!!

rake test # again

/usr/local/bin/ruby: symbol lookup error: /usr/local/lib/ruby/site_ruby/1.9.1/i686-linux/fox16.so: undefined symbol: Init_core

This is end of story. I installed back fxruby 1.6.18 and quite disappointed ....
notes
1) failure with addDeadline may be caused by loading fox16 from 1.6.35 which i have installed.
That is: 'rake test' should work with local uninstalled version ?? Or installed one ?
2) mixing Rakefiles Makefiles and install.rb was not fun for me at all.
I don't understand that process enough to try to correct that. So that all I can do
is criticize. sorry.


ada.




More information about the fxruby-users mailing list