On Thu, 1 Dec 2005, Peter W. Draper wrote:
>> but they do support the commercial intel fortran compiler 'ifort'. Do you
>> or anyone else know whether STARLINK can be built with gcc and ifort?
>
> I've built it using ifort and gcc3. That works, but the resulting binaries
> are largely untested. In fact I've just updated my build and it seems quite
> basic programs that access HDS data files are not working. I'll try to find
> out why, but as you can see, this is a risky route!
Spent way too much time on this problem today, and still haven't got much
of a clue as to what's up. All I do know is that HDS locators stored in
NDF are being corrupted. BTW Tim, all those _call() wraps seem to have
stopped the core dumps, from Fortran, and I now just see the expected
messages:
!! HDS locator invalid for import: value==0xbfffcbe0 (possible programming
! error).
! DAT_VEC: Error vectorising an HDS object.
! ARY_UNMAP: Error unmapping an array.
! .....error exit from routine NDF1_DUMP
! .....error exit from routine NDF1_UMP
! .....error exit from routine NDF1_ANL
! NDF_ANNUL: Error annulling an NDF identifier.
! .....error exit from routine NDF_ANNUL
!! NDF_TEST_C: NDF C installation test failed.
Note that the corruption occurs in differing programs in differing ways
(so that's not always in a call to DAT_VEC) and I see it from Fortran
programs as well as C ones:
> ndftrace $KAPPA_DIR/ccdframec
NDF structure ^<NDF>:
!! HDS locator invalid for import: value==0xbfffc2ec (possible programming
! error).
! DAT_THERE: Error enquiring about the existence of an HDS object.
! .....error exit from routine NDF1_DC
! NDF_STATE: Error determining the state of an NDF component.
! .....error exit from routine NDF_STATE
! NDFTRACE: Error displaying the attributes of an NDF data structure.
! Application exit status DAT__LOCIN, Locator invalid
! $KAPPA_DIR/ccdframec
You can see the error immediately after importing the Fortran locator,
when slight errors are seen in the LCP (I've seen mismatches between the
LOC and LCP sequence numbers and the LCP.data.valid flag set to 0, but the
rest of the structures look OK).
Off on family business until next Wednesday, so if someone wants to waste
their life trying this out on another machine, feel free!
Cheers,
Peter.
|