Throwing error when converting between long and long long

I am running hdf5 version 1.6.9 where I have compiled it as a Universal Binary (x86_64 and i386) on Intel OS X (10.5.7). Currently I am running into a problem where I get a bunch of errors output (see below) and then my program crashes.

   I have tried to step through the code to try and see what might be happening but I can not seem to pinpoint where the trouble is coming from. I can reproduce it if I build both 32 bit and 64 bit binaries into the same library. The problem seems to be some disagreement between the "size" of "long" and "long long". These are 4 and 8 on a 32 bit system and 8 and 8 on a 64 bit system so the error kinda makes sense.
    So my gut feeling is somewhere in the configuration process the proper guards are NOT being put into place to take into account the possibility of multiple-archs in the same library? Sound about right?

And oddly enough this bug is only triggered when I run in a debugger. If I run the program normally I don't seem to get the error. odd. Any help is appreciated.

Sizeof(long): 4
Sizeof(long_long): 8
HDF5-DIAG: Error detected in HDF5 library version: 1.6.9 thread 0. Back trace follows.
   #000: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #001: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #002: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 5829 in H5T_conv_long_int(): disagreement about datatype size
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #003: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #004: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #005: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 5797 in H5T_conv_ulong_ushort(): disagreement about datatype size
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #006: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #007: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #008: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 5764 in H5T_conv_ulong_short(): disagreement about datatype size
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #009: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #010: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #011: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 5732 in H5T_conv_long_ushort(): disagreement about datatype size
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #012: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #013: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #014: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 5699 in H5T_conv_long_short(): disagreement about datatype size
     major(13): Datatype interface
     minor(29): Unable to initialize object

   #015: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #016: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #017: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 5989 in H5T_conv_ulong_long(): disagreement about datatype size
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #018: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #019: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #020: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 5957 in H5T_conv_long_ulong(): disagreement about datatype size
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #021: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #022: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #023: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 6087 in H5T_conv_ulong_llong(): disagreement about datatype size
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #024: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path

     major(13): Datatype interface
     minor(29): Unable to initialize object
   #025: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #026: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 6054 in H5T_conv_long_ullong(): disagreement about datatype size
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #027: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #028: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #029: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 6616 in H5T_conv_ullong_long(): disagreement about datatype size
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #030: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
     major(13): Datatype interface
     minor(29): Unable to initialize object
   #031: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
     major(13): Datatype interface
     minor(29): Unable to initialize object
Assertion failed: (H5P_LST_DATASET_XFER_g!=(-1)), function H5AC_init_interface, file /Users/mjackson/Workspace/hdf5-169/src/H5AC.c, line 226.

···

_________________________________________________________
Mike Jackson mike.jackson@bluequartz.net
BlueQuartz Software www.bluequartz.net
Principal Software Engineer Dayton, Ohio

----------------------------------------------------------------------
This mailing list is for HDF software users discussion.
To subscribe to this list, send a message to hdf-forum-subscribe@hdfgroup.org.
To unsubscribe, send a message to hdf-forum-unsubscribe@hdfgroup.org.

Just to follow up with this. I made a mistake when I was editing the H5detect.c file while inserting special case statements for OS X. After these were fixed I can now build a proper _functional_ quad binary HDF5 library.

···

---
Mike Jackson www.bluequartz.net

On Jun 30, 2009, at 12:11 PM, Michael Jackson wrote:

I am running hdf5 version 1.6.9 where I have compiled it as a Universal Binary (x86_64 and i386) on Intel OS X (10.5.7). Currently I am running into a problem where I get a bunch of errors output (see below) and then my program crashes.

I have tried to step through the code to try and see what might be happening but I can not seem to pinpoint where the trouble is coming from. I can reproduce it if I build both 32 bit and 64 bit binaries into the same library. The problem seems to be some disagreement between the "size" of "long" and "long long". These are 4 and 8 on a 32 bit system and 8 and 8 on a 64 bit system so the error kinda makes sense.
  So my gut feeling is somewhere in the configuration process the proper guards are NOT being put into place to take into account the possibility of multiple-archs in the same library? Sound about right?

And oddly enough this bug is only triggered when I run in a debugger. If I run the program normally I don't seem to get the error. odd. Any help is appreciated.

Sizeof(long): 4
Sizeof(long_long): 8
HDF5-DIAG: Error detected in HDF5 library version: 1.6.9 thread 0. Back trace follows.
#000: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
   major(13): Datatype interface
   minor(29): Unable to initialize object
#001: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
   major(13): Datatype interface
   minor(29): Unable to initialize object
#002: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 5829 in H5T_conv_long_int(): disagreement about datatype size
   major(13): Datatype interface
   minor(29): Unable to initialize object
#003: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
   major(13): Datatype interface
   minor(29): Unable to initialize object
#004: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
   major(13): Datatype interface
   minor(29): Unable to initialize object
#005: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 5797 in H5T_conv_ulong_ushort(): disagreement about datatype size
   major(13): Datatype interface
   minor(29): Unable to initialize object
#006: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
   major(13): Datatype interface
   minor(29): Unable to initialize object
#007: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
   major(13): Datatype interface
   minor(29): Unable to initialize object
#008: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 5764 in H5T_conv_ulong_short(): disagreement about datatype size
   major(13): Datatype interface
   minor(29): Unable to initialize object
#009: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
   major(13): Datatype interface
   minor(29): Unable to initialize object
#010: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
   major(13): Datatype interface
   minor(29): Unable to initialize object
#011: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 5732 in H5T_conv_long_ushort(): disagreement about datatype size
   major(13): Datatype interface
   minor(29): Unable to initialize object
#012: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
   major(13): Datatype interface
   minor(29): Unable to initialize object
#013: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
   major(13): Datatype interface
   minor(29): Unable to initialize object
#014: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 5699 in H5T_conv_long_short(): disagreement about datatype size
   major(13): Datatype interface
   minor(29): Unable to initialize object

#015: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
   major(13): Datatype interface
   minor(29): Unable to initialize object
#016: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
   major(13): Datatype interface
   minor(29): Unable to initialize object
#017: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 5989 in H5T_conv_ulong_long(): disagreement about datatype size
   major(13): Datatype interface
   minor(29): Unable to initialize object
#018: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
   major(13): Datatype interface
   minor(29): Unable to initialize object
#019: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
   major(13): Datatype interface
   minor(29): Unable to initialize object
#020: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 5957 in H5T_conv_long_ulong(): disagreement about datatype size
   major(13): Datatype interface
   minor(29): Unable to initialize object
#021: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
   major(13): Datatype interface
   minor(29): Unable to initialize object
#022: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
   major(13): Datatype interface
   minor(29): Unable to initialize object
#023: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 6087 in H5T_conv_ulong_llong(): disagreement about datatype size
   major(13): Datatype interface
   minor(29): Unable to initialize object
#024: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path

   major(13): Datatype interface
   minor(29): Unable to initialize object
#025: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
   major(13): Datatype interface
   minor(29): Unable to initialize object
#026: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 6054 in H5T_conv_long_ullong(): disagreement about datatype size
   major(13): Datatype interface
   minor(29): Unable to initialize object
#027: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
   major(13): Datatype interface
   minor(29): Unable to initialize object
#028: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
   major(13): Datatype interface
   minor(29): Unable to initialize object
#029: /Users/mjackson/Workspace/hdf5-169/src/H5Tconv.c line 6616 in H5T_conv_ullong_long(): disagreement about datatype size
   major(13): Datatype interface
   minor(29): Unable to initialize object
#030: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 2015 in H5T_register(): unable to locate/allocate conversion path
   major(13): Datatype interface
   minor(29): Unable to initialize object
#031: /Users/mjackson/Workspace/hdf5-169/src/H5T.c line 3944 in H5T_path_find(): unable to initialize conversion function
   major(13): Datatype interface
   minor(29): Unable to initialize object
Assertion failed: (H5P_LST_DATASET_XFER_g!=(-1)), function H5AC_init_interface, file /Users/mjackson/Workspace/hdf5-169/src/H5AC.c, line 226.

_________________________________________________________
Mike Jackson mike.jackson@bluequartz.net
BlueQuartz Software www.bluequartz.net
Principal Software Engineer Dayton, Ohio

----------------------------------------------------------------------
This mailing list is for HDF software users discussion.
To subscribe to this list, send a message to hdf-forum-subscribe@hdfgroup.org.
To unsubscribe, send a message to hdf-forum-unsubscribe@hdfgroup.org.