Hi, Lyle. I am now trying to get fxruby working on a brand new Kubuntu distro. I''ve downloaded fox1.4 (using Debian''s standard apt-get) and got fxruby1.4.7 (using rubygems). However, when the gem is compiled, it creates a bunch of errors, like: fx3d_wrap.cpp:808: error: no matching function for call to ?plane(const FX::FXVec3d&, const FX::FXVec3d&)? fx3d_wrap.cpp:743: error: no matching function for call to ?normal(const FX::FXVec3d&, const FX::FXVec3d&, const FX::FXVec3d&, const FX::FXVec3d&)? I''m guessing it is a versioning problem between the fxruby swig wrapper and the actual fox library. Is there any web page listing which fxruby corresponds to each fxruby? -- Gonzalo Garramu?o ggarra at advancedsl.com.ar AMD4400 - ASUS48N-E GeForce7300GT Kubuntu Edgy
On Dec 18, 2006, at 10:15 PM, gga wrote:> I am now trying to get fxruby working on a brand new Kubuntu distro. > I''ve downloaded fox1.4 (using Debian''s standard apt-get) and got > fxruby1.4.7 (using rubygems). > > However, when the gem is compiled, it creates a bunch of errors, like: > fx3d_wrap.cpp:808: error: no matching function for call to ?plane > (const > FX::FXVec3d&, const FX::FXVec3d&)? > fx3d_wrap.cpp:743: error: no matching function for call to ?normal > (const > FX::FXVec3d&, const FX::FXVec3d&, const FX::FXVec3d&, const > FX::FXVec3d&)? > > I''m guessing it is a versioning problem between the fxruby swig > wrapper > and the actual fox library. > Is there any web page listing which fxruby corresponds to each fxruby?Well, generally speaking, FXRuby version 1.4 corresponds to FOX version 1.4, and FXRuby version 1.6 corresponds to FOX version 1.6. I suspect that the errors that you''re seeing indicate some more fundamental configuration problem, like the FOX 1.4 include files aren''t installed, or something along those lines. Can you send a more complete record of the compiler output?
Lyle Johnson wrote:> Well, generally speaking, FXRuby version 1.4 corresponds to FOX > version 1.4, and FXRuby version 1.6 corresponds to FOX version 1.6. I > suspect that the errors that you''re seeing indicate some more > fundamental configuration problem, like the FOX 1.4 include files > aren''t installed, or something along those lines. Can you send a more > complete record of the compiler output? >The includes are there, in /usr/include/fox-1.4. The rubygems log is attached. It seems to me a bug in the FOX includes. The scope resolution of the friend functions is determined by their previous appearance according to the C++ spec, not by its friend definition, if I understand correctly. The swig wrappers look for FX::plane() and FX::normal(), which are never defined in my 1.4 includes (only their friend declaration appears).> g++ -vgcc version 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5) The bug in the fox includes is similar to this: namespace FX { // int f( int, int, int ); // int f( float, float ); struct A { friend int f( int, int, int ); friend int f( float, float ); }; } int func() { return FX::f(1,2,3); } This will not compile unless the two define lines are commented out. -- Gonzalo Garramu?o ggarra at advancedsl.com.ar AMD4400 - ASUS48N-E GeForce7300GT Kubuntu Edgy -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: fxruby.txt Url: http://rubyforge.org/pipermail/fxruby-users/attachments/20061219/03b12cb9/attachment-0001.txt