From: Lyle Johnson Date: 2002-05-29T23:43:01+09:00 Subject: Re: ANNOUNCE: FXRuby-1.0.10 Now Available > Was a Linux binary for Ruby 1.7 made available? I'm trying to install from > source, and get this error when running install.rb setup: > > install.rb: entering setup phase... > ---> lib > ---> lib/fox > <--- lib/fox > <--- lib > ---> ext > ---> ext/fox > make > install.rb:397: warning: Unsecure world writeable dir > /usr/local/development , mode 040777 > g++ -fPIC -g -O2 -O0 -Iinclude -I. -I/usr/local/lib/ruby/1.7/i586-linux -I/ > usr/local/development/ruby-mods/FXRuby-1.0.10/ext/fox -DHAVE_SYS_TIME_H -DH > AVE_SIGNAL_H -I/usr/local/include -I/usr/local/include/fox -c > core_wrap.cpp > In file included from /usr/include/math.h:63, > from /usr/local/include/fox/fx.h:31, > from include/FXRbCommon.h:55, > from core_wrap.cpp:384: > /usr/include/bits/mathcalls.h:86: declaration of `double acosh (double) > throw ()' throws different exceptions > /usr/local/lib/ruby/1.7/i586-linux/missing.h:15: than previous declaration > `double acosh (double)' > /usr/include/bits/mathcalls.h:88: declaration of `double asinh (double) > throw ()' throws different exceptions > /usr/local/lib/ruby/1.7/i586-linux/missing.h:16: than previous declaration > `double asinh (double)' > /usr/include/bits/mathcalls.h:90: declaration of `double atanh (double) > throw ()' throws different exceptions > /usr/local/lib/ruby/1.7/i586-linux/missing.h:17: than previous declaration > `double atanh (double)' > /usr/include/bits/mathcalls.h:150: declaration of `double hypot > (double, double) throw ()' throws different exceptions > /usr/local/lib/ruby/1.7/i586-linux/missing.h:43: than previous declaration > `double hypot (double, > double)' > make: *** [core_wrap.o] Error 1 > setup failed > 'system make' failed > try 'ruby install.rb --help' for usage > > > I'm using ruby 1.7.2 (2002-05-16) [i586-linux] on Mandrake 8.2, with > fox-1.0.11 installed from source. > Is there a way around this error? The problems you're seeing suggest to me that something's broken with your Ruby installation. For some reason, the compiler is seeing the declarations of acosh(), asinh(), atanh() and hypot() in Ruby's "missing.h" header file. and (correctly) reporting that they're inconsistent with the declarations for those functions from the standard "math.h" include file. But when you configured and built Ruby 1.7 from the source code, it *should* have generated a "config.h" include file that defines the symbols HAVE_ACOSH and HAVE_HYPOT. The presence of those preprocessor symbols would in turn direct the compiler to skip over the offending declarations of asinh() and friends in Ruby's "missing.h". OK. What I would try in this situation is to reconfigure and rebuild Ruby 1.7. That means changing to the source directory and doing: make distclean ./autoconf ./configure make make install The first three steps are particularly important. You might want to check the contents of the config.h include file after running "configure" to confirm that HAVE_ACOSH and HAVE_HYPOT are indeed defined; they should be on a Linux system. After updating the code like this, FXRuby should build cleanly against Ruby 1.7; I'm doing this on a fairly regular basis against the latest CVS sources for Ruby. But if you're still stuck after updating your Ruby, let me know and I can conjure up an RPM. Hope this helps, Lyle