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();