FYI, the problem was that bool data had to be NATIVE_B8, whereas I thought it had to be NATIVE_HBOOL (I don't know the difference but it works now).
On Wed, Jun 22, 2016 at 5:05 PM, Hendrik Greving < [email protected]> wrote: > I am getting the following error when doing dataset.read(): > > HDF5-DIAG: Error detected in HDF5 (1.8.5) thread 0: > #000: H5Dio.c line 174 in H5Dread(): can't read data > major: Dataset > minor: Read failed > #001: H5Dio.c line 325 in H5D_read(): unable to set up type info > major: Dataset > minor: Unable to initialize object > #002: H5Dio.c line 743 in H5D_typeinfo_init(): unable to convert between > src and dest datatype > major: Dataset > minor: Feature is unsupported > #003: H5T.c line 4449 in H5T_path_find(): no appropriate function for > conversion path > major: Datatype > minor: Unable to initialize object > Allocated: 0.21MB > Allocated: 0.05MB > > My code: > > typedef struct { > bt_SInt64_t Id; > bt_SInt8_t CoreId; > bt_SInt64_t ICount; > bt_SInt64_t GuestICount; > bt_SInt64_t PC; > bt_SInt8_t taken; > bt_UInt8_t flags; > bt_UInt32_t fromAddr; > bt_SInt8_t fromAddrInCC; > bt_UInt32_t toAddr; > bt_SInt8_t toAddrInCC; > bt_SInt64_t toGuestAddr; > } StateBranch2_t; > > H5File h5ffile(file, H5F_ACC_RDONLY); > DataSet dataset = h5ffile.openDataSet(dataSetName); // is some > name.. > > CompType comp( sizeof(StateBranch2_t) ); > comp.insertMember("Id", HOFFSET(StateBranch2_t, Id), > PredType::NATIVE_INT64); > comp.insertMember("CoreId", HOFFSET(StateBranch2_t, CoreId), > PredType::NATIVE_INT8); > comp.insertMember("ICount", HOFFSET(StateBranch2_t, ICount), > PredType::NATIVE_INT64); > comp.insertMember("GuestICount", HOFFSET(StateBranch2_t, > GuestICount), PredType::NATIVE_INT64); > comp.insertMember("PC", HOFFSET(StateBranch2_t, PC), > PredType::NATIVE_INT64); > comp.insertMember("taken", HOFFSET(StateBranch2_t, taken), > PredType::NATIVE_INT8); > comp.insertMember("flags", HOFFSET(StateBranch2_t, flags), > PredType::NATIVE_UINT8); > comp.insertMember("fromAddr", HOFFSET(StateBranch2_t, fromAddr), > PredType::NATIVE_UINT32); > comp.insertMember("fromAddrInCC", HOFFSET(StateBranch2_t, > fromAddrInCC), PredType::NATIVE_INT8); > comp.insertMember("toAddr", HOFFSET(StateBranch2_t, toAddr), > PredType::NATIVE_UINT32); > comp.insertMember("toAddrInCC", HOFFSET(StateBranch2_t, > toAddrInCC), PredType::NATIVE_INT8); > comp.insertMember("toGuestAddr", HOFFSET(StateBranch2_t, > toGuestAddr), PredType::NATIVE_INT64); > > dataset.read(readdata, comp); > > Does anybody see what's wrong here / can help / give me a tip? > > Regards, Thanks, > Hendrik >
_______________________________________________ Hdf-forum is for HDF software users discussion. [email protected] http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org Twitter: https://twitter.com/hdf5
