Python test failure on Mac

David Huttleston Jr dhjr at HDDESIGN.COM
Sat May 14 13:03:48 EDT 2005


On Fri, May 13, 2005 at 04:54:35PM -0600, Sean Gillies wrote:
>
> On May 13, 2005, at 4:11 PM, David Huttleston Jr wrote:
> >
> >Hello All,
> >
> >I'm in the process of porting Mapserver and some of it's supporting
> >libraries to Mac OS X.  The results of which will be released as part
> >of the DarwinPort project for others to download and build.
> >
> >I've bumped into a byte order error on the MapCloningTestCase.  I
> >haven't seen anything on google or the archives so I thought I'd ask
> >the list before I get ugly with this.  I know others have used
> >MapServer on a Mac, has anyone else seen this before?
> >
> >% python runalltests.py -v
> >check attributes of a cloned class ... ok
> >testConstructorNoArg (classtest.ClassObjTestCase) ... ok
> >testConstructorWithArg (classtest.ClassObjTestCase) ... ok
> >MapCloningTestCase.testClonedLayers: the layers of a cloned map equal
> >the original ... ERROR 1: CPLVerifyConfiguration(): byte order set
> >wrong.
>
> Never seen that before, and haven't heard anything from other OS X
> (10.3) mapscript users.  Looks like a GDAL error.
> MapCloningTestCase.testClonedLayers doesn't even render an image, so
> I'm not sure where it comes into play.  Maybe there's an assert
> somewhere?

Yes, it looks assertion-like.  Here is what I found in the gdal source
code, at line 405 of cpl_conv.cpp

void CPLVerifyConfiguration()
{
/* -------------------------------------------------------------------- */
/*      Verify data types.                                              */
/* -------------------------------------------------------------------- */
    CPLAssert( sizeof(GInt32) == 4 );
    CPLAssert( sizeof(GInt16) == 2 );
    CPLAssert( sizeof(GByte) == 1 );

    if( sizeof(GInt32) != 4 )
        CPLError( CE_Fatal, CPLE_AppDefined,
                  "sizeof(GInt32) == %d ... yow!\n",
                  sizeof(GInt32) );

/* -------------------------------------------------------------------- */
/*      Verify byte order                                               */
/* -------------------------------------------------------------------- */
    GInt32   nTest;

    nTest = 1;

#ifdef CPL_LSB
    if( ((GByte *) &nTest)[0] != 1 )
#endif
#ifdef CPL_MSB
    if( ((GByte *) &nTest)[3] != 1 )
#endif
        CPLError( CE_Fatal, CPLE_AppDefined,
                  "CPLVerifyConfiguration(): byte order set wrong.\n" );
}

> You forgot to tell us the most important information: which mapserver
> and GDAL versions are you building?

Oops.  Here's the libraries related to gdal and mapserver:

  mapserver  4.4.1
  gdal       1.1.9_1
  jpeg       6b_0
  libgeotiff 1.2.1_0
  libpng     1.2.8_1
  proj       4.4.7_0
  tiff       3.7.1_0
  zlib       1.2.2_1

It seems odd that this hasn't been hit before.  So, I'm suspicious now
of how gdal was built.  :-/  Is there a good way to test gdal?

Thanks for the help, Sean.

Dave



More information about the mapserver-users mailing list