symbol dGeomTriMeshGetLastTransform missing in libode

Bug #129902 reported by Helmut Duregger
6
Affects Status Importance Assigned to Milestone
ode (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

$ nm /usr/lib/libode.a | grep LastTransform
nm: libode_a-collision_trimesh_opcode.o: no symbols
0000000000000010 T dGeomTriMeshSetLastTransform

Which indicates that dGeomTriMeshGetLastTransform is missing from the lib which seems to be the reason why DerelictODE gives "Failed to load proc dGeomTriMeshGetLastTransform from shared library libode.so" when running the D test application:

------------------------ [begin code of test.d] ------------------------
import derelict.ode.ode;

import std.stdio;

// build test.d -I~/downloads/trunk/DerelictUtil -I~/downloads/trunk/DerelictODE -version=DerelictODE_SinglePrecision -L-ldl -op

void main()
{
 try
 {
  DerelictODE.load();
  writefln("Loaded ODE libary.");

 }
 catch (Exception e)
 {
  writefln("Could not load a shared library:\n" ~ e.toString());
 }
}
------------------------ [end code] ------------------------

I am on AMD64 (64bit) Gutsy. ODE is:

$ ls -l /usr/lib/libode*
-rw-r--r-- 1 root root 734792 2007-07-20 20:33 /usr/lib/libode.a
lrwxrwxrwx 1 root root 22 2007-08-01 22:36 /usr/lib/libode.so -> libode.so.0debian1.8.0
lrwxrwxrwx 1 root root 22 2007-08-01 22:36 /usr/lib/libode.so.0debian1 -> libode.so.0debian1.8.0
lrwxrwxrwx 1 root root 22 2007-08-01 22:36 /usr/lib/libode.so.0debian1.8 -> libode.so.0debian1.8.0

$ nm /usr/lib/libode.so.0debian1.8.0 | grep LastTransform
nm: /usr/lib/libode.so.0debian1.8.0: no symbols

DerelictODE is trunk-r270.

Mind that I am new to D/Derelict/linkage and ODE.

description: updated
description: updated
description: updated
Revision history for this message
Helmut Duregger (helmutduregger) wrote :

I've build libode by compiling the latest sourceforge version.

With

$ nm /usr/local/lib/libode.so | grep LastTransform

I now get

00000000000c8880 r _ZZ28dGeomTriMeshGetLastTransformE12__FUNCTION__
00000000000c88a0 r _ZZ28dGeomTriMeshSetLastTransformE12__FUNCTION__
000000000006bc80 T dGeomTriMeshGetLastTransform
000000000006bcd0 T dGeomTriMeshSetLastTransform

also with

$ nm /usr/local/lib/libode.a | grep LastTransform

I correctly get

00000000000002a0 r _ZZ28dGeomTriMeshGetLastTransformE12__FUNCTION__
00000000000002c0 r _ZZ28dGeomTriMeshSetLastTransformE12__FUNCTION__
0000000000000720 T dGeomTriMeshGetLastTransform
0000000000000770 T dGeomTriMeshSetLastTransform

And now the example D program runs fine. So the error definitely lies on the side
of the libode packaged for Debian/Ubuntu.

Revision history for this message
Daniel T Chen (crimsun) wrote :

Is this symptom still reproducible in 8.10 beta or later?

Changed in ode:
status: New → Incomplete
Revision history for this message
Gonéri Le Bouder (goneri) wrote :

This is fixed in Debian.

Revision history for this message
Paul Sladen (sladen) wrote :

If this was fixed in Debian, what Debian bug number is it, and which package version fixes it; (is that version in Ubuntu)?

Changed in ode (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Gonéri Le Bouder (goneri) wrote :

Since 2:0.9-1

Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

fixed since a lot of time

Changed in ode (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

should be fixed now

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.