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
i guess re-open the bug when you get a patch from upstream
PRobably best to just close this anyway... I got no response from the ODE devs. :-/
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.
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!