[Pkg-jed-sl-modules] Re: slcfitsio Debian pkg buildd failure

John E. Davis davis at space.mit.edu
Thu Nov 17 19:01:59 UTC 2005


On Thu, 17 Nov 2005 19:49:26 +0100, Rafael Laboissiere <rafael at debian.org> said:
>testprog.fit: non-CFITSIO program error
>Traceback: error
>***string***:1:verror:Run-Time Error
>./fits.sl:40:do_fits_error:Run-Time Error
>  Local variables for do_fits_error:
>	Integer_Type status = 1
>	String_Type file = "testprog.fit: "
>./fits.sl:73:fits_open_file:Run-Time Error
>  Local variables for fits_open_file:
>	String_Type file = "testprog.fit"
>	String_Type mode = "c"
>	Null_Type fp = NULL
>	Integer_Type status = 1

Do any of the libcfitsio regression tests work on this machine?  When
called with mode="c", the slang fits_open_file function calls the
libcfitsio "fits_create_file" routine.  I imagine that function checks
whether or not the library was properly compiled for the architecture,
and bails if not.

Ok, that appears to be the case: fits_create_file calls
fits_init_cfitsio:

int fits_init_cfitsio(void)
/*
  initialize anything that is required before using the CFITSIO routines
*/
{
    int status;

    union u_tag {
      short ival;
      char cval[2];
    } u;

    need_to_initialize = 0;

    /*   test for correct byteswapping.   */

    u.ival = 1;
    if  ((BYTESWAPPED && u.cval[0] != 1) ||
         (BYTESWAPPED == FALSE && u.cval[1] != 1) )
    {
      printf ("\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
      printf(" Byteswapping is not being done correctly on this system.\n");
      printf(" Check the MACHINE and BYTESWAPPED definitions in fitsio2.h\n");
      printf(" Please report this problem to the author at\n");
      printf("     pence at tetra.gsfc.nasa.gov\n");
      printf(  "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
      return(1);
    }



As you can see, cfitsio is broken on this machine.  The problem may be
associated with the way libcfitsio was compiled, e.g., type-punning or
aliasing issues.

Thanks,
--John



More information about the Pkg-jed-sl-modules mailing list