Thanks for your patch. I am also running some more tests on different architectures.
Johan On Sun, Sep 14, 2014 at 11:53 PM, Rebecca Palmer <rebecca_pal...@zoho.com> wrote: > Package: libhdf4-0 > Version: 4.2.10~1exp1 > Control: tags -1 patch > > (from debian/patches/hdfi.h ) >> >> --- a/HDF4/hdf/src/hconv.h >> +++ b/HDF4/hdf/src/hconv.h >> @@ -59,7 +59,7 @@ >> /* CONSTANT DEFINITIONS >> */ >> >> /*****************************************************************************/ >> /* Generally Big-Endian machines */ >> -#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && >> !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) >> || defined(__hpux))) && !defined(__x86_64__) >> +#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && >> !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) >> || defined(__hpux))) && !defined(__x86_64__) && (defined(__powerpc__) && >> !defined(__LITTLE_ENDIAN__)) && !defined(__aarch64__) && >> !defined(__ARM_EABI__) > > > That treats anything that isn't powerpc as little-endian, which is wrong for > s390x and mips. > > The result of this appears to be that while the data itself gets put the > right way round, the array size metadata doesn't: > > # t100x100 is the test file from > http://sources.debian.net/src/libhdf4/4.2.10-1%7Eexp1/hdf/util/testfiles/fp2hdf/t100x100/ > amd64$ hdfimport t100x100 -o test_amd64.hdf > qemu-s390x$ hdfimport t100x100 -o test_s390x.hdf > $ cmp test_s390x.hdf test_amd64.hdf -l > 41095 144 0 > 41098 0 144 > 41192 144 0 > 41195 0 144 > 41293 0 102 > 41294 0 310 > 41295 310 0 > 41296 102 0 > 42044 62 63 > amd64$ hdiff test_amd64.hdf test_s390x.hdf > Comparison not supported > <DataSet> has rank 2, dimensions [ 100 100 ] > <DataSet> has rank 2, dimensions [ 1677721600 1677721600 ] > # 1677721600 = 100 << 24 > qemu-s390x$ hdiff test_amd64.hdf test_s390x.hdf > Comparison not supported > <DataSet> has rank 2, dimensions [ 1677721600 1677721600 ] > <DataSet> has rank 2, dimensions [ 100 100 ] > qemu-s390x$ hdp dumpsds test_s390x.hdf > File name: test_s390x.hdf > > Variable Name = DataSet > Index = 0 > Type= 32-bit floating point > Ref. = 2 > Compression method = NONE > Rank = 2 > Number of attributes = 1 > Dim0: Name=fakeDim0 > Size = 100 > Scale Type = 32-bit floating point > Number of attributes = 0 > Dim1: Name=fakeDim1 > Size = 100 > Scale Type = 32-bit floating point > Number of attributes = 0 > Attr0: Name = valid_range > Type = 32-bit floating point > Count= 2 > Value = 0.000000 100.000000 > Data : > [...large array...] > amd64$ hdp dumpsds test_s390x.hdf > File name: test_s390x.hdf > > Variable Name = DataSet > Index = 0 > Type= 32-bit floating point > Ref. = 2 > Compression method = NONE > Rank = 2 > Number of attributes = 1 > Dim0: Name=fakeDim0 > Size = 1677721600 > Scale Type = 32-bit floating point > Number of attributes = 0 > Dim1: Name=fakeDim1 > Size = 1677721600 > Scale Type = 32-bit floating point > Number of attributes = 0 > Attr0: Name = valid_range > Type = 32-bit floating point > Count= 2 > Value = 0.000000 0.000000 > Data : > in sdsdumpfull: space allocation for buf failed. Terminated! > > If you want to keep this (weird, and fragile in that it silently treats > anything it doesn't recognise as big-endian) form use > > +#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && > !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) > || defined(__hpux))) && !defined(__x86_64__) && !(defined(__powerpc__) && > defined(__LITTLE_ENDIAN__)) && !defined(__aarch64__) && > !defined(__ARM_EABI__) > > Fortunately, nothing outside libhdf4 uses this header (according to > codesearch.debian.net), so nothing else should need recompiling. > > _______________________________________________ > Pkg-grass-devel mailing list > Pkg-grass-devel@lists.alioth.debian.org > http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel