FXRuby and the latest snapshot(s)

Hi!

i am not able to compile FXRuby since about 1 month with the latest
snapshots. I tried the old (1.0.29 with the latest fox-1.0.53) and the
new API (1.2.2 and fox-1.2.11).

I use linux and gcc-3.4.2.

Here is the error i get:

$ ruby install.rb setup
install.rb: entering setup phase...
---> lib
---> lib/fox12
<--- lib/fox12
<--- lib
---> ext
---> ext/fox12
make
g++ -fPIC -O2 -O0 -Iinclude -I. -I/SW/lib/ruby/1.8/i686-linux
    -I/SW/lib/ruby/1.8/i686-linux -I/home/martin/FXRuby-1.2.2/ext/fox12
    -DHAVE_SYS_TIME_H -DHAVE_SIGNAL_H -I/usr/local/include/fxscintilla
    -I/SW/include/fox-1.2 -c FXRuby.cpp
FXRuby.cpp:64: error: declaration of C function
   `void st_foreach(st_table*, int (*)(char*, char*, char*), char*)'
   conflicts with
   /SW/lib/ruby/1.8/i686-linux/intern.h:249: error:
      previous declaration
   `void st_foreach(st_table*, int (*)(), long unsigned int)' here
make: *** [FXRuby.o] Error 1
setup failed
'system make ' failed
Try 'ruby install.rb --help' for detailed usage.

Any ideas how to repair this?

Regards
Martin.

Martin Kahlert wrote:

Hi!

i am not able to compile FXRuby since about 1 month with the latest
snapshots. I tried the old (1.0.29 with the latest fox-1.0.53) and the
new API (1.2.2 and fox-1.2.11).

I use linux and gcc-3.4.2.

Here is the error i get:

$ ruby install.rb setup
install.rb: entering setup phase...
---> lib
---> lib/fox12
<--- lib/fox12
<--- lib
---> ext
---> ext/fox12
make g++ -fPIC -O2 -O0 -Iinclude -I. -I/SW/lib/ruby/1.8/i686-linux
    -I/SW/lib/ruby/1.8/i686-linux -I/home/martin/FXRuby-1.2.2/ext/fox12
    -DHAVE_SYS_TIME_H -DHAVE_SIGNAL_H -I/usr/local/include/fxscintilla
    -I/SW/include/fox-1.2 -c FXRuby.cpp
FXRuby.cpp:64: error: declaration of C function
   `void st_foreach(st_table*, int (*)(char*, char*, char*), char*)'
   conflicts with
   /SW/lib/ruby/1.8/i686-linux/intern.h:249: error:
      previous declaration
   `void st_foreach(st_table*, int (*)(), long unsigned int)' here
make: *** [FXRuby.o] Error 1
setup failed
'system make ' failed
Try 'ruby install.rb --help' for detailed usage.

Any ideas how to repair this?

Regards
Martin.

Did anyone ever find a way to fix this? (I'm seeing it with FXRuby-1.2.2 and fox-1.2.11, linux, gcc 3.2.2, ruby 1.8.2 (2004-11-18) [i686-linux].)

Martin Kahlert wrote:
> Hi!
>
> i am not able to compile FXRuby since about 1 month with the latest
> snapshots. I tried the old (1.0.29 with the latest fox-1.0.53) and the
> new API (1.2.2 and fox-1.2.11).

...

> FXRuby.cpp:64: error: declaration of C function
> `void st_foreach(st_table*, int (*)(char*, char*, char*), char*)'
> conflicts with
> /SW/lib/ruby/1.8/i686-linux/intern.h:249: error:
> previous declaration
> `void st_foreach(st_table*, int (*)(), long unsigned int)' here

...

Did anyone ever find a way to fix this? (I'm seeing it with FXRuby-1.2.2
and fox-1.2.11, linux, gcc 3.2.2, ruby 1.8.2 (2004-11-18) [i686-linux].)

I had the same problem. FXRuby doesn't work with Ruby 1.8 preview 3.
Use Ruby 1.8 preview 2 instead.

Here is what Lyle Johnson wrote as answer to my post on Fri, 3 Dec 2004:
(Subject was: "FXRuby-1.2.2 fails to compile")

···

Am Sonntag, 5. Dezember 2004 09:19 schrieb Joel VanderWerf:

As Kevin noted, this is a known problem that I plan to resolve in the
next release. (It will presumably break builds for FXRuby 1.0.29 as
well.)

The declaration for Ruby's st_foreach() function changed in the latest
preview release for Ruby 1.8.2 and that is the source of the breakage.
To be fair, st_foreach() isn't really a part of the "public" C API for
Ruby and so I shouldn't have been relying on its stability. Live and
learn. :wink:

--
Stefan

^^^^
I meant "ruby 1.8.2 preview 3" and "ruby 1.8.2 preview 2" of course...

···

Am Sonntag, 5. Dezember 2004 13:01 schrieb Stefan Lang:

I had the same problem. FXRuby doesn't work with Ruby 1.8 preview 3.
Use Ruby 1.8 preview 2 instead.

--
Stefan

Stefan Lang wrote:

···

Am Sonntag, 5. Dezember 2004 13:01 schrieb Stefan Lang:

I had the same problem. FXRuby doesn't work with Ruby 1.8 preview 3.
Use Ruby 1.8 preview 2 instead.

           ^^^^
I meant "ruby 1.8.2 preview 3" and "ruby 1.8.2 preview 2" of course...

Thanks! I'll wait until the dust settles.