Symbol lookup error

Hi,
I have recently become interested in Ruby as an alternative to Python. I
was amazed at how easy to use Ruby’s C API seems to be, so I decided to
try it out.
I went ahead and started wrapping one of the most fun libraries I know
of: The Open Dynamics Engine.

I started wrapping the world object with a getter and setter for
gravity. The code can be found here:

http://pastebin.ca/523445

I compiled with:

gcc -fPIC -I /usr/lib/ruby/1.8/i486-linux -I /usr/include/ode -g -O2 -c
ode_world.c -o world.o
cc -shared -o world.so world.o -lc

After compiling I fired up irb and ran a require(“world”), then called
ODE::World.new. After which irb quitted, reporting:

irb: symbol lookup error: ./world.so: undefined symbol: dWorldCreate

Whatever causes that error?

Thanks for the help.

On May 30, 2007, at 13:00, Audun Skaugen wrote:

http://pastebin.ca/523445

I compiled with:

gcc -fPIC -I /usr/lib/ruby/1.8/i486-linux -I /usr/include/ode -g -
O2 -c
ode_world.c -o world.o
cc -shared -o world.so world.o -lc

Shouldn’t there be a -lode in here somewhere?

After compiling I fired up irb and ran a require(“world”), then called
ODE::World.new. After which irb quitted, reporting:

irb: symbol lookup error: ./world.so: undefined symbol: dWorldCreate

PS: RubyInline is even cooler.