Your message dated Fri, 05 Aug 2005 06:47:06 -0700 with message-id <[EMAIL PROTECTED]> and subject line Bug#297924: fixed in ode 1:0.5-5 has caused the attached Bug report to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what I am talking about this indicates a serious mail system misconfiguration somewhere. Please contact me immediately.) Debian bug tracking system administrator (administrator, Debian Bugs database) -------------------------------------- Received: (at submit) by bugs.debian.org; 3 Mar 2005 15:01:23 +0000 >From [EMAIL PROTECTED] Thu Mar 03 07:01:23 2005 Return-path: <[EMAIL PROTECTED]> Received: from c223012.adsl.hansenet.de (localhost.localdomain) [213.39.223.12] by spohr.debian.org with esmtp (Exim 3.35 1 (Debian)) id 1D6rpL-0008Rh-00; Thu, 03 Mar 2005 07:01:23 -0800 Received: from aj by localhost.localdomain with local (Exim 4.44) id 1D6sld-0006gq-PO; Thu, 03 Mar 2005 17:01:39 +0100 To: Debian Bug Tracking System <[EMAIL PROTECTED]> From: Andreas Jochens <[EMAIL PROTECTED]> Subject: ode: FTBFS (amd64/gcc-4.0): cast from 'Opcode::AABBTreeNode*' to 'udword' loses precision Message-Id: <[EMAIL PROTECTED]> Date: Thu, 03 Mar 2005 17:01:39 +0100 Delivered-To: [EMAIL PROTECTED] X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 (1.212-2003-09-23-exp) on spohr.debian.org X-Spam-Status: No, hits=-8.0 required=4.0 tests=BAYES_00,HAS_PACKAGE autolearn=no version=2.60-bugs.debian.org_2005_01_02 X-Spam-Level: Package: ode Severity: normal Tags: patch When building 'ode' on amd64 with gcc-4.0, I get the following error: OPCODE/OPC_AABBTree.cpp: In member function 'bool Opcode::AABBTreeNode::Subdivide(Opcode::AABBTreeBuilder*)': OPCODE/OPC_AABBTree.cpp:295: error: cast from 'Opcode::AABBTreeNode*' to 'udword' loses precision OPCODE/OPC_AABBTree.cpp:309: error: cast from 'Opcode::AABBTreeNode*' to 'udword' loses precision OPCODE/OPC_AABBTree.h: In constructor 'Opcode::AABBTree::AABBTree()': OPCODE/OPC_AABBTree.h:134: warning: 'Opcode::AABBTree::mTotalNbNodes' will be initialized after OPCODE/OPC_AABBTree.h:132: warning: 'Opcode::AABBTreeNode* Opcode::AABBTree::mPool' OPCODE/OPC_AABBTree.cpp:373: warning: when initialized here make[1]: *** [OPCODE/OPC_AABBTree.o] Error 1 make[1]: Leaving directory `/ode-0.5' make: *** [build-stamp] Error 2 With the attached patch 'ode' can be compiled on amd64 using gcc-4.0. Regards Andreas Jochens diff -urN ../tmp-orig/ode-0.5/OPCODE/OPC_AABBTree.cpp ./OPCODE/OPC_AABBTree.cpp --- ../tmp-orig/ode-0.5/OPCODE/OPC_AABBTree.cpp 2003-07-01 08:58:47.000000000 +0200 +++ ./OPCODE/OPC_AABBTree.cpp 2005-03-03 16:39:52.000000000 +0100 @@ -290,11 +290,11 @@ AABBTreeNode* Pool = (AABBTreeNode*)builder->mNodeBase; udword Count = builder->GetCount() - 1; // Count begins to 1... // Set last bit to tell it shouldn't be freed ### pretty ugly, find a better way. Maybe one bit in mNbPrimitives - ASSERT(!(udword(&Pool[Count+0])&1)); - ASSERT(!(udword(&Pool[Count+1])&1)); - mPos = udword(&Pool[Count+0])|1; + ASSERT(!(long(&Pool[Count+0])&1)); + ASSERT(!(long(&Pool[Count+1])&1)); + mPos = long(&Pool[Count+0])|1; #ifndef OPC_NO_NEG_VANILLA_TREE - mNeg = udword(&Pool[Count+1])|1; + mNeg = long(&Pool[Count+1])|1; #endif } else @@ -306,7 +306,7 @@ #else AABBTreeNode* PosNeg = new AABBTreeNode[2]; CHECKALLOC(PosNeg); - mPos = (udword)PosNeg; + mPos = (long)PosNeg; #endif } diff -urN ../tmp-orig/ode-0.5/OPCODE/OPC_HybridModel.cpp ./OPCODE/OPC_HybridModel.cpp --- ../tmp-orig/ode-0.5/OPCODE/OPC_HybridModel.cpp 2003-07-01 08:58:47.000000000 +0200 +++ ./OPCODE/OPC_HybridModel.cpp 2005-03-03 16:40:13.000000000 +0100 @@ -209,7 +209,7 @@ Data->mLeaves[Data->mNbLeaves] = *current->GetAABB(); // Setup leaf data - udword Index = (udword(current->GetPrimitives()) - udword(Data->mBase))/sizeof(udword); + udword Index = (long(current->GetPrimitives()) - long(Data->mBase))/sizeof(udword); Data->mTriangles[Data->mNbLeaves].SetData(current->GetNbPrimitives(), Index); Data->mNbLeaves++; diff -urN ../tmp-orig/ode-0.5/OPCODE/OPC_OptimizedTree.cpp ./OPCODE/OPC_OptimizedTree.cpp --- ../tmp-orig/ode-0.5/OPCODE/OPC_OptimizedTree.cpp 2003-07-01 08:58:47.000000000 +0200 +++ ./OPCODE/OPC_OptimizedTree.cpp 2005-03-03 16:44:51.360640448 +0100 @@ -119,7 +119,7 @@ udword PosID = current_id++; // Get a new id for positive child udword NegID = current_id++; // Get a new id for negative child // Setup box data as the forthcoming new P pointer - linear[box_id].mData = (udword)&linear[PosID]; + linear[box_id].mData = (long)&linear[PosID]; // Make sure it's not marked as leaf ASSERT(!(linear[box_id].mData&1)); // Recurse with new IDs @@ -172,7 +172,7 @@ // Get a new id for positive child udword PosID = current_id++; // Setup box data - linear[box_id].mPosData = (udword)&linear[PosID]; + linear[box_id].mPosData = (long)&linear[PosID]; // Make sure it's not marked as leaf ASSERT(!(linear[box_id].mPosData&1)); // Recurse @@ -193,7 +193,7 @@ // Get a new id for negative child udword NegID = current_id++; // Setup box data - linear[box_id].mNegData = (udword)&linear[NegID]; + linear[box_id].mNegData = (long)&linear[NegID]; // Make sure it's not marked as leaf ASSERT(!(linear[box_id].mNegData&1)); // Recurse @@ -550,8 +550,8 @@ if(!(Data&1)) \ { \ /* Compute box number */ \ - udword Nb = (Data - udword(Nodes))/Nodes[i].GetNodeSize(); \ - Data = udword(&mNodes[Nb]); \ + long Nb = (Data - long(Nodes))/Nodes[i].GetNodeSize(); \ + Data = long(&mNodes[Nb]); \ } \ /* ...remapped */ \ mNodes[i].member = Data; diff -urN ../tmp-orig/ode-0.5/OPCODE/OPC_SweepAndPrune.cpp ./OPCODE/OPC_SweepAndPrune.cpp --- ../tmp-orig/ode-0.5/OPCODE/OPC_SweepAndPrune.cpp 2003-07-01 08:58:47.000000000 +0200 +++ ./OPCODE/OPC_SweepAndPrune.cpp 2005-03-03 16:45:50.795168488 +0100 @@ -164,7 +164,7 @@ /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// inline_ void Remap(SAP_Element*& element, udword delta) { - if(element) element = (SAP_Element*)(udword(element) + delta); + if(element) element = (SAP_Element*)(long(element) + delta); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -200,7 +200,7 @@ // Remap everything { - udword Delta = udword(NewElems) - udword(mElementPool); + udword Delta = long(NewElems) - long(mElementPool); for(udword i=0;i<mNbUsedElements;i++) Remap(NewElems[i].mNext, Delta); for(udword i=0;i<mNbObjects;i++) Remap(mArray[i], Delta); diff -urN ../tmp-orig/ode-0.5/ode/test/test_space.cpp ./ode/test/test_space.cpp --- ../tmp-orig/ode-0.5/ode/test/test_space.cpp 2004-04-22 22:38:51.000000000 +0200 +++ ./ode/test/test_space.cpp 2005-03-03 16:52:41.556883898 +0100 @@ -123,15 +123,15 @@ static void nearCallback (void *data, dGeomID o1, dGeomID o2) { - int i,j; - i = (int) dGeomGetData (o1); - j = (int) dGeomGetData (o2); + long i,j; + i = (long) dGeomGetData (o1); + j = (long) dGeomGetData (o2); if (i==j) - printf ("collision (%d,%d) is between the same object\n",i,j); + printf ("collision (%ld,%ld) is between the same object\n",i,j); if (!good_matrix[i][j] || !good_matrix[j][i]) - printf ("collision (%d,%d) is incorrect\n",i,j); + printf ("collision (%ld,%ld) is incorrect\n",i,j); if (test_matrix[i][j] || test_matrix[j][i]) - printf ("collision (%d,%d) reported more than once\n",i,j); + printf ("collision (%ld,%ld) reported more than once\n",i,j); test_matrix[i][j] = 1; test_matrix[j][i] = 1; } --------------------------------------- Received: (at 297924-close) by bugs.debian.org; 5 Aug 2005 13:53:26 +0000 >From [EMAIL PROTECTED] Fri Aug 05 06:53:26 2005 Return-path: <[EMAIL PROTECTED]> Received: from katie by spohr.debian.org with local (Exim 3.36 1 (Debian)) id 1E12XS-0002bo-00; Fri, 05 Aug 2005 06:47:06 -0700 From: Guus Sliepen <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] X-Katie: $Revision: 1.56 $ Subject: Bug#297924: fixed in ode 1:0.5-5 Message-Id: <[EMAIL PROTECTED]> Sender: Archive Administrator <[EMAIL PROTECTED]> Date: Fri, 05 Aug 2005 06:47:06 -0700 Delivered-To: [EMAIL PROTECTED] X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 (1.212-2003-09-23-exp) on spohr.debian.org X-Spam-Level: X-Spam-Status: No, hits=-6.0 required=4.0 tests=BAYES_00,HAS_BUG_NUMBER autolearn=no version=2.60-bugs.debian.org_2005_01_02 Source: ode Source-Version: 1:0.5-5 We believe that the bug you reported is fixed in the latest version of ode, which is due to be installed in the Debian FTP archive: libode0-dev_0.5-5_i386.deb to pool/main/o/ode/libode0-dev_0.5-5_i386.deb libode0c2_0.5-5_i386.deb to pool/main/o/ode/libode0c2_0.5-5_i386.deb ode_0.5-5.diff.gz to pool/main/o/ode/ode_0.5-5.diff.gz ode_0.5-5.dsc to pool/main/o/ode/ode_0.5-5.dsc A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to [EMAIL PROTECTED], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Guus Sliepen <[EMAIL PROTECTED]> (supplier of updated ode package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing [EMAIL PROTECTED]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Format: 1.7 Date: Fri, 5 Aug 2005 15:04:27 +0200 Source: ode Binary: libode0c2 libode0-dev Architecture: source i386 Version: 1:0.5-5 Distribution: unstable Urgency: low Maintainer: Guus Sliepen <[EMAIL PROTECTED]> Changed-By: Guus Sliepen <[EMAIL PROTECTED]> Description: libode0-dev - Open Dynamics Engine - development files libode0c2 - Open Dynamics Engine - runtime library Closes: 297924 Changes: ode (1:0.5-5) unstable; urgency=low . * Disable OPCODE, it does pointer arithmetic in a very unsafe way and it won't compile on 64 bit architectures. Closes: #297924 Files: 7f3151568f5a45df6450437f9170d3cf 558 devel optional ode_0.5-5.dsc 359f285e36bdba48fa40da92e6926ea5 5195 devel optional ode_0.5-5.diff.gz aab30a8ed5f132e80ad3dd023779b990 100226 libs optional libode0c2_0.5-5_i386.deb a1ba7ecb9e90a0c645676bb7f2276871 234698 libdevel optional libode0-dev_0.5-5_i386.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQFC82gkAxLow12M2nsRAjEWAJ4h6cPftdm8s4DuRAnZSkvjV3TtjwCZAcxb girZenVesNQvf0Jo0NTN0Pw= =Caq2 -----END PGP SIGNATURE----- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]