Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 52919

Summary: dev-games/ode-0.5 does not compile on amd64
Product: Gentoo Linux Reporter: Jason Huebel (RETIRED) <jhuebel>
Component: New packagesAssignee: AMD64 Project <amd64>
Status: RESOLVED WONTFIX    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
URL: http://hook.org/pipermail/ode/2004-June/013157.html
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Patch to the ode-0.5.ebuild to make it compile under amd64.

Description Jason Huebel (RETIRED) gentoo-dev 2004-06-03 14:57:41 UTC
I have requested upstream support on getting ode-0.5 to compile.  ode is required for planeshift.  Here are the errors I receive when compiling 0.5:

g++ -c -Wall -fno-rtti -fno-exceptions -Wall -fomit-frame-pointer -ffast-math -O2 -Iinclude   -DdNODEBUG -O2 -o ode/src/array.o ode/src/array.cpp
g++ -c -Wall -fno-rtti -fno-exceptions -Wall -fomit-frame-pointer -ffast-math -O2 -Iinclude   -DdNODEBUG -O2 -o ode/src/error.o ode/src/error.cpp
g++ -c -Wall -fno-rtti -fno-exceptions -Wall -fomit-frame-pointer -ffast-math -O2 -Iinclude   -DdNODEBUG -O2 -o ode/src/memory.o ode/src/memory.cpp
g++ -c -Wall -fno-rtti -fno-exceptions -Wall -fomit-frame-pointer -ffast-math -O2 -Iinclude   -DdNODEBUG -O2 -o ode/src/obstack.o ode/src/obstack.cpp
g++ -c -Wall -fno-rtti -fno-exceptions -Wall -fomit-frame-pointer -ffast-math -O2 -Iinclude   -DdNODEBUG -O2 -o ode/src/odemath.o ode/src/odemath.cpp
g++ -c -Wall -fno-rtti -fno-exceptions -Wall -fomit-frame-pointer -ffast-math -O2 -Iinclude   -DdNODEBUG -O2 -o ode/src/matrix.o ode/src/matrix.cpp
g++ -c -Wall -fno-rtti -fno-exceptions -Wall -fomit-frame-pointer -ffast-math -O2 -Iinclude   -DdNODEBUG -O2 -o ode/src/misc.o ode/src/misc.cpp
g++ -c -Wall -fno-rtti -fno-exceptions -Wall -fomit-frame-pointer -ffast-math -O2 -Iinclude   -DdNODEBUG -O2 -o ode/src/rotation.o ode/src/rotation.cpp
g++ -c -Wall -fno-rtti -fno-exceptions -Wall -fomit-frame-pointer -ffast-math -O2 -Iinclude   -DdNODEBUG -O2 -o ode/src/mass.o ode/src/mass.cpp
g++ -c -Wall -fno-rtti -fno-exceptions -Wall -fomit-frame-pointer -ffast-math -O2 -Iinclude   -DdNODEBUG -O2 -o ode/src/ode.o ode/src/ode.cpp
ode/src/ode.cpp: In function `void dJointAttach(dxJoint*, dxBody*, dxBody*)':
ode/src/ode.cpp:1029: warning: unused variable `dxWorld*world'
g++ -c -Wall -fno-rtti -fno-exceptions -Wall -fomit-frame-pointer -ffast-math -O2 -Iinclude   -DdNODEBUG -O2 -o ode/src/step.o ode/src/step.cpp
g++ -c -Wall -fno-rtti -fno-exceptions -Wall -fomit-frame-pointer -ffast-math -O2 -Iinclude   -DdNODEBUG -O2 -o ode/src/stepfast.o ode/src/stepfast.cpp
g++ -c -Wall -fno-rtti -fno-exceptions -Wall -fomit-frame-pointer -ffast-math -O2 -Iinclude   -DdNODEBUG -O2 -o ode/src/quickstep.o ode/src/quickstep.cpp
ode/src/quickstep.cpp:158: warning: `void multiply_J_invM_JT(int, int, dReal*,
   dReal*, int*, const dReal*, dReal*, dReal*, dReal*)' defined but not used
g++ -c -Wall -fno-rtti -fno-exceptions -Wall -fomit-frame-pointer -ffast-math -O2 -Iinclude   -DdNODEBUG -O2 -o ode/src/util.o ode/src/util.cpp
g++ -c -Wall -fno-rtti -fno-exceptions -Wall -fomit-frame-pointer -ffast-math -O2 -Iinclude   -DdNODEBUG -O2 -o ode/src/lcp.o ode/src/lcp.cpp
g++ -c -Wall -fno-rtti -fno-exceptions -Wall -fomit-frame-pointer -ffast-math -O2 -Iinclude   -DdNODEBUG -O2 -o ode/src/joint.o ode/src/joint.cpp
g++ -c -Wall -fno-rtti -fno-exceptions -Wall -fomit-frame-pointer -ffast-math -O2 -Iinclude   -DdNODEBUG -O2 -o ode/src/timer.o ode/src/timer.cpp
/var/tmp/portage/ode-0.5/temp/ccxzZPeh.s: Assembler messages:
/var/tmp/portage/ode-0.5/temp/ccxzZPeh.s:63: Error: `(%esi)' is not a valid 64 bit base/index expression
/var/tmp/portage/ode-0.5/temp/ccxzZPeh.s:64: Error: `4(%esi)' is not a valid 64 bit base/index expression
/var/tmp/portage/ode-0.5/temp/ccxzZPeh.s:87: Error: `(%esi)' is not a valid 64 bit base/index expression
/var/tmp/portage/ode-0.5/temp/ccxzZPeh.s:88: Error: `4(%esi)' is not a valid 64 bit base/index expression
/var/tmp/portage/ode-0.5/temp/ccxzZPeh.s:172: Error: `(%esi)' is not a valid 64 bit base/index expression
/var/tmp/portage/ode-0.5/temp/ccxzZPeh.s:173: Error: `4(%esi)' is not a valid 64 bit base/index expression
/var/tmp/portage/ode-0.5/temp/ccxzZPeh.s:195: Error: `(%esi)' is not a valid 64 bit base/index expression
/var/tmp/portage/ode-0.5/temp/ccxzZPeh.s:196: Error: `4(%esi)' is not a valid 64 bit base/index expression
/var/tmp/portage/ode-0.5/temp/ccxzZPeh.s:235: Error: `(%esi)' is not a valid 64 bit base/index expression
/var/tmp/portage/ode-0.5/temp/ccxzZPeh.s:236: Error: `4(%esi)' is not a valid 64 bit base/index expression
make: *** [ode/src/timer.o] Error 1

!!! ERROR: dev-games/ode-0.5 failed.
!!! Function src_compile, Line 29, Exitcode 2
!!! emake failed

Reproducible: Always
Steps to Reproduce:
1. emerge /usr/portage/dev-games/ode/ode-0.5.ebuild
Comment 1 Travis Tilley (RETIRED) gentoo-dev 2004-07-14 07:26:42 UTC
i guess re-open the bug when you get a patch from upstream
Comment 2 Jason Huebel (RETIRED) gentoo-dev 2004-07-14 07:42:56 UTC
PRobably best to just close this anyway... I got no response from the ODE devs. :-/
Comment 3 Michael Kedzierski 2004-07-31 20:13:37 UTC
Created attachment 36553 [details, diff]
Patch to the ode-0.5.ebuild to make it compile under amd64.

I'm not entirely sure if this is the correct place to submit this.
Comment 4 Benjamin Paul Kay 2004-09-19 11:42:02 UTC
Michael's patch works nicely. The origin of the error seems to be the Ode configurator assuming you have a Pentium chip whether or not you actually do. timer.cpp then uses Pentium assembler to get a timestamp instead of the generic Unix code. If the Ode devs refuse to fix the configurator then perhaps someone could add this patch to an ode-0.5-r2?

Thanks Michael!