[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