Gilles Filippini a écrit le 03/12/2016 à 01:35 : > Gilles Filippini a écrit le 02/12/2016 à 23:26 : >> Sebastiaan Couwenberg a écrit le 02/12/2016 à 15:34 : >>> On 12/02/2016 09:55 AM, Sebastiaan Couwenberg wrote: >>>> On 12/01/2016 07:48 PM, Sebastiaan Couwenberg wrote: >>>>> On Wed, 30 Nov 2016 15:10:03 +0000 Iain Lane wrote: >>>>>> This package FTBFS on 32 bit arches (works on amd64 and other 64 bit >>>>>> arches), maybe due to the new hdf5 >>>>> >>>>> Quite likely, since hdf-eos5 hasn't been rebuilt for the hdf5 transition >>>>> yet. I suspect this issue to fix itself once that's done. >>>> >>>> It did not, but did only fail on 32-bit architectures. >>> >>> Gilles, these failures seem to be caused by the hid_t type change from >>> 32-bit to a 64-bit value. I'm not sure how to fix it for ruby-hdfeos5, >>> can you maybe provide a patch? >> >> Damn, I tested the build on amd64 only :/ >> I've tried fixing the 'incompatible pointer type' warning, but it >> deosn't change anything wrt the test suite. >> Is there a way to ensure first that hdf-eos5 works fine on 32 bit archs? > > CC-ing Alastair, maintainer of hdf-eos5. > > AIUI the problem lies in hdf-eos5. I've ran a very simple C test made > after the first lines of test/test_gd.rb (source attached), both on > amd64 and i386. It succeeds on amd64 and fails on i386 at the > HE5_GDdetach step with: > > $ ./myhe5-32 > bufsize = 19 > ColumnAmountAerosol > HDF5-DIAG: Error detected in HDF5 (1.10.0-patch1) thread 4142823168: > #000: GDapi.c line 1140 in HE5_GDchkgdid(): Cannot get the Grid index > > major: Invalid arguments to routine > minor: Out of range > HDF5-DIAG: Error detected in HDF5 (1.10.0-patch1) thread 4142823168: > #000: EHapi.c line 2206 in HE5_EHchkfid(): Invalid file ID: 0. ID > should range from 67108864 to 67109064 . > > major: Invalid arguments to routine > minor: Bad value > HDF5-DIAG: Error detected in HDF5 (1.10.0-patch1) thread 4142823168: > #000: GDapi.c line 1151 in HE5_GDchkgdid(): Checking for file ID failed. > > major: Invalid arguments to routine > minor: Out of range > HDF5-DIAG: Error detected in HDF5 (1.10.0-patch1) thread 4142823168: > #000: GDapi.c line 12623 in HE5_GDdetach(): Checking for grid ID failed. > > major: Invalid arguments to routine > minor: Out of range
The problem seems to be the type conversion functions in EHapi.c. For instance: long HE5_EHhid2long(hid_t invalue) { long outvalue = FAIL; if (sizeof(hid_t) == sizeof(int)) outvalue = HE5_EHint2long(invalue); else if (sizeof(hid_t) == sizeof(long)) outvalue = invalue; return(outvalue); } On 32 bit archs: sizeof(hid_t) != sizeof(int) sizeof(hid_t) != sizeof(long) sizeof(hid_t) == sizeof(long long) The conversion functions should be adapted accordingly. Thanks, _g.
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel