Package: openscenegraph Version: 1.1.0-1 Severity: serious Tags: patch The latest version of openscenegraph fails to build on mips and mipsel because of an ill-fated variable name:
[...] g++ -O2 -W -Wall -fPIC -pipe -I../../../../include -I/build/buildd/openscenegraph-1.1.0/OpenThreads/include -I/build/buildd/openscenegraph-1.1.0/Producer/include -I../. -c ../AttrData.cpp ../AttrData.h:170: error: expected unqualified-id before numeric constant ../AttrData.cpp: In constructor 'flt::AttrData::AttrData()': ../AttrData.cpp:85: error: invalid types 'int[int]' for array subscript ../AttrData.cpp:85: error: invalid types 'int[int]' for array subscript ../AttrData.cpp:85: error: invalid types 'int[int]' for array subscript ../AttrData.cpp:85: error: invalid types 'int[int]' for array subscript ../AttrData.cpp:85: error: invalid types 'int[int]' for array subscript ../AttrData.cpp:85: error: invalid types 'int[int]' for array subscript ../AttrData.cpp:85: error: invalid types 'int[int]' for array subscript ../AttrData.cpp:85: error: invalid types 'int[int]' for array subscript make[5]: *** [AttrData.o] Error 1 make[5]: Leaving directory /build/buildd/openscenegraph-1.1.0/OpenSceneGraph/src/osgPlugins/OpenFlight/Linux.Opt' make[4]: *** [osgdb_OpenFlight.so.opt] Error 2 [...] A full build log can be found at <http://buildd.debian.org/fetch.php?pkg=openscenegraph&arch=mips&ver=1.1.0-1&stamp=1157038114&file=log>. I laughed when I saw line 85, because it made the reason for the failure pretty obvious: _mips[0]=_mips[1]=_mips[2]=_mips[3]=_mips[4]=_mips[5]=_mips[6]=_mips[7]=0.0f; yeah, not a good variable name. :) The upstream changelog mentions that at one point in the past _mips had been renamed to _mipMapKernel, but that seems to apply only to another plugin? Anyway, I've made the same variable name change to the OpenFlight plugin as well; haven't tested it on mips, but it builds fine on amd64 and I expect it to be clean namespace-wise. The patch is attached. Please fix ASAP, as this holds up the grass/gdal transition, leaving python-gdal broken in testing following the python 2.4 transition. Cheers, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. [EMAIL PROTECTED] http://www.debian.org/
diff -u openscenegraph-1.1.0/debian/changelog openscenegraph-1.1.0/debian/changelog --- openscenegraph-1.1.0/debian/changelog +++ openscenegraph-1.1.0/debian/changelog @@ -1,3 +1,12 @@ +openscenegraph (1.1.0-1.1) unstable; urgency=high + + * Non-maintainer upload. + * High-urgency upload for RC bugfix. + * Don't name your variables "_mips" if you want cross-platform + support. ;) + + -- Steve Langasek <[EMAIL PROTECTED]> Fri, 8 Sep 2006 17:04:56 -0700 + openscenegraph (1.1.0-1) unstable; urgency=low * New upstream release only in patch2: unchanged: --- openscenegraph-1.1.0.orig/OpenSceneGraph/src/osgPlugins/OpenFlight/AttrData.h +++ openscenegraph-1.1.0/OpenSceneGraph/src/osgPlugins/OpenFlight/AttrData.h @@ -167,7 +167,7 @@ // 1 - TX_PACK_8 // 2 - TX_PACK_16 int32 useMips; // TRUE if using following 8 floats for MIPMAP kernel - float32 _mips[8]; // 8 floats for kernel of separable symmetric filter + float32 _mipMapKernel[8]; // 8 floats for kernel of separable symmetric filter int32 useLodScale; // Boolean if TRUE send: float32 lod0; // LOD0 for TX_CONTROL_POINT float32 scale0; // SCALE0 for TX_CONTROL_POINT only in patch2: unchanged: --- openscenegraph-1.1.0.orig/OpenSceneGraph/src/osgPlugins/OpenFlight/AttrData.cpp +++ openscenegraph-1.1.0/OpenSceneGraph/src/osgPlugins/OpenFlight/AttrData.cpp @@ -82,7 +82,7 @@ controlPoints(0) // TODO: { - _mips[0]=_mips[1]=_mips[2]=_mips[3]=_mips[4]=_mips[5]=_mips[6]=_mips[7]=0.0f; + _mipMapKernel[0]=_mipMapKernel[1]=_mipMapKernel[2]=_mipMapKernel[3]=_mipMapKernel[4]=_mipMapKernel[5]=_mipMapKernel[6]=_mipMapKernel[7]=0.0f; } AttrData::AttrData(const AttrData& attr, const osg::CopyOp& copyop) : only in patch2: unchanged: --- openscenegraph-1.1.0.orig/OpenSceneGraph/src/osgPlugins/OpenFlight/ReaderWriterATTR.cpp +++ openscenegraph-1.1.0/OpenSceneGraph/src/osgPlugins/OpenFlight/ReaderWriterATTR.cpp @@ -97,7 +97,7 @@ attr->extFormat = in.readInt32(); attr->useMips = in.readInt32(); for (int n=0; n<8; n++) - attr->_mips[n] = in.readFloat32(); + attr->_mipMapKernel[n] = in.readFloat32(); attr->useLodScale = in.readInt32(); attr->lod0 = in.readFloat32(); attr->scale0 = in.readFloat32();