ports/104582: devel/ode fails to build (linker error)

mark at darklogik.org mark at darklogik.org
Mon Oct 23 12:19:05 UTC 2006


Hi.

Well, there's some small progress at least.

If I go into 'drawstuff/dstest' to manually compile the offending
program, I can compile it fine with:

c++ -o dstest dstest.cpp -I../../include ../src/libdrawstuff.a \
  -I/usr/X11R6/include -L/usr/X11R6/lib -lGL -lGLU -lXmu -lXi -lX11

Continuing the build from this point by going back into the parent
directory and typing 'make' works up until 'test_collision.cpp'
where this error occurs:

Making all in test
if g++ -DHAVE_CONFIG_H -I. -I. -I../../include/ode     -g -O2
-I/usr/X11R6/include -L/usr/X11R6/lib -I../../include -I../../include -g
-O2 -I/usr/X11R6/include -L/usr/X11R6/lib -MT test_collision.o -MD -MP
-MF ".deps/test_collision.Tpo" -c -o test_collision.o
test_collision.cpp;  then mv -f ".deps/test_collision.Tpo"
".deps/test_collision.Po"; else rm -f ".deps/test_collision.Tpo"; exit
1; fi
test_collision.cpp: In function `void draw_all_objects(dxSpace*)':
test_collision.cpp:185: error: `dCapsuleClass' undeclared (first use this function)
test_collision.cpp:185: error: (Each undeclared identifier is reported only once for each function it appears in.)
test_collision.cpp:188: error: `dGeomCapsuleGetParams' undeclared (first use this function)
test_collision.cpp: In function `int test_ccylinder_point_depth()':
test_collision.cpp:340: error: `dCreateCapsule' undeclared (first use this function)
test_collision.cpp:347: error: `dGeomCapsuleSetParams' undeclared (first use this function)
test_collision.cpp:358: error: `dGeomCapsulePointDepth' undeclared (first use this function)
test_collision.cpp: In function `int test_ray_and_ccylinder()':
test_collision.cpp:750: error: `dCreateCapsule' undeclared (first use this function)
test_collision.cpp:758: error: `dGeomCapsuleSetParams' undeclared (first use this function)
test_collision.cpp:798: error: `dGeomCapsulePointDepth' undeclared (first use this function)
test_collision.cpp: In function `int test_dBoxBox()':
test_collision.cpp:1184: error: `dBoxBox' undeclared (first use this function)
*** Error code 1

This can be compiled with this command line:

c++ -o test_collision test_collision.cpp -I../../include ../src/libode.a \
  ../../drawstuff/src/libdrawstuff.a -L/usr/X11R6/lib -lGL -lGLU

But it doesn't actually run:

./test_collision
testing batch 1 (1000 reps)...

ODE INTERNAL ERROR: bad n wrt p3
Abort trap (core dumped) 

I'm completely lost when it comes to ode. The build system seems to be
unnecessarily complicated.

M



More information about the freebsd-ports-bugs mailing list