Additional info on display issues. Seems I only get the DAT__UNSET
error if I use HDS v4 parameter files. If I switch to HDF5 parameters
I see:
> display mosaic.sdf
DEVICE - Name of display device /@xwindows/ >
!! datGet: Primitive object is undefined. Nothing to get
! datGet0I: Error in call to HDS (v5)
! DISPLAY: Failed to display an image of a one- or two-dimensional data set.
! Application exit status DAT__UNSET, Primitive data undefined
! mosaic.sdf
Attached the two outputs with the debug flag switched on. Not sure if it
is helpful but if I set the output device=ps_p then that works.
Cheers,
Peter.
On Tue, 4 Nov 2014, Tim Jenness wrote:
> On Tue, Nov 4, 2014 at 5:11 AM, Peter W. Draper <[log in to unmask]>
> wrote:
> On Tue, 4 Nov 2014, David Berry wrote:
>
> I'm having a build issue. This is what I did:
>
> - go into thirdparty/hdfgroup, build and install it
> - clone the hds-v5 repo, build and install it
> - back in starlink, git checkout hdsv5
> - go into libraries/hds-v4, build and install it
> - go into libraries/hds, build and install it
>
> but making of libraries/hds would only work if I
> first did:
>
> setenv CFLAGS -DHDS_INTERNAL_INCLUDES
>
> Without this, I get things like:
>
> In file included from hdsFind.c:46:0:
> hds.h:980:10: error: unknown type name 'HDSWild'
> hdsEwild(HDSWild *iwld, int *status);
>
> The version of hds_types.h installed by hds_v4 does
> not include a
> definition of HDSWild, and this is the version that
> gets used when
> building hds unless I do the above setenv.
>
> What am I doing wrong?
>
>
> Nothing I suspect. I had to play around to get things to build
> as well.
>
> On the brightside, I have a completed build and (after just
> pushing a fix to v5 for a stack smashing problem) can run the
> CCDPACK exercise script
> and hdstrace the results.
>
> > hdstrace mosaic.sdf
>
> MOSAIC <NDF>
>
> DATA_ARRAY <ARRAY> {structure}
> DATA(172,201) <_REAL>
> *,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,
>
> *,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*
> ORIGIN(2) <_INTEGER> -18,1
>
> MORE <EXT> {structure}
> CCDPACK <CCDPACK_EXT> {structure}
> CURRENT_LIST <_CHAR*18> 'reduced_data1.off'
> DEBIAS <_CHAR*24> 'Tue Nov 4 12:07:13
> 2014'
> FLATCOR <_CHAR*24> 'Tue Nov 4 12:07:13
> 2014'
>
> FITS(16) <_CHAR*80> 'NAXIS =
> 2 /',
> ... 'ISEQ = 1
> ...','END'
>
> TITLE <_CHAR*19> 'Output from MAKEMOS'
> VARIANCE <ARRAY> {structure}
> DATA(172,201) <_REAL>
> *,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,
>
> *,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*
> ORIGIN(2) <_INTEGER> -18,1
>
> WCS <WCS> {structure}
> DATA(143) <_CHAR*32> ' Begin FrameSet',' Nframe
> = 7',' Cu...'
> ... ' S...',' End WinMap','
> End
> FrameSet'
>
> End of Trace.
>
> > file mosaic.sdf
> mosaic.sdf: Hierarchical Data Format (version 5) data
>
>
> That's good news.
>
> Graphics isn't working as KAPPA DISPLAY says:
>
> > display mosaic.sdf
> !! Application exit status DAT__UNSET, Primitive data
> undefined
> ! mosaic.sdf
>
>
> Hmm. I wouldn't have told people to test it if KAPPA display was broken. :-(
> I only added support for undefined primitives a couple of days ago so I may
> have broken something then.
>
> I have noticed a certain lack of error message stack detail when getting HDS
> problems. I was getting wound up by the one line error message on exit
> despite me putting a bunch of descriptive error messages on the stack -- try
> making datAlter refuse to work on structures and see what happens... I do
> wonder what is eating the error stack.
>
> You can get some help by adding
>
> #define DEBUG_HDS 1
>
> at the top of hds_select.c
>
> It will also make your mind boggle at the sheer number of HDS calls that
> occur when doing even the simplest task in an ADAM application.
>
> I'll see if I can run the ccdexercise today and
>
> --
> Tim Jenness
>
>
>
--
Peter W. Draper, http://astro.dur.ac.uk/~pdraper
Enter HDS routine: hdsTune [0]
Enter HDS routine: hdsTune [0]
Enter HDS routine: hdsOpen [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: hdsInfoI [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datPutC [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: hdsGtune [0]
Enter HDS routine: hdsTune [0]
Enter HDS routine: hdsOpen [0]
Enter HDS routine: datClone [0]
Enter HDS routine: datStruc [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datClone [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: datPrim [0]
Enter HDS routine: datType [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datThere [0]
Enter HDS routine: hdsTrace [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datGet1I [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datCell [0]
Enter HDS routine: datState [0]
Enter HDS routine: datMap [0]
Bad status from datMap (v5): 147358619
Enter HDS routine: datAnnul [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datState [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datMsg [-1]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: hdsTune [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datPutC [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: hdsGtune [0]
Enter HDS routine: hdsTune [0]
Enter HDS routine: hdsOpen [0]
Enter HDS routine: datType [0]
Enter HDS routine: datPrim [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datClone [0]
Enter HDS routine: datPrmry [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: hdsTrace [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datClone [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: datPrim [0]
Enter HDS routine: datType [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datThere [0]
Enter HDS routine: hdsTrace [0]
Enter HDS routine: datPrim [0]
Enter HDS routine: datNcomp [0]
Enter HDS routine: datIndex [0]
Enter HDS routine: datName [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datIndex [0]
Enter HDS routine: datName [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datGet1I [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datCell [0]
Enter HDS routine: datState [0]
Enter HDS routine: datMap [0]
Bad status from datMap (v5): 147358619
Enter HDS routine: datAnnul [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datState [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datMsg [-1]
Enter HDS routine: hdsTune [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datShape [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: datClone [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: datPutC [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datGetC [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datPrim [0]
Enter HDS routine: datClone [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datGetL [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datPrim [0]
Enter HDS routine: datClone [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datGetL [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datClen [0]
Enter HDS routine: datMap [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datClen [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datGet0C [0]
Enter HDS routine: datMsg [-1]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datPrim [0]
Enter HDS routine: datClone [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datGetL [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datPrim [0]
Enter HDS routine: datClone [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: datSize [0]
Enter HDS routine: datGetVR [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datPrim [0]
Enter HDS routine: datClone [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datGetL [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datPutC [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: hdsState [0]
Enter HDS routine: hdsOpen [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datGet0I [0]
Bad status from datGet0I (v5): 147358635
Enter HDS routine: datAnnul [147358635]
Enter HDS routine: datAnnul [147358635]
Enter HDS routine: hdsFree [147358635]
Enter HDS routine: datValid [0]
Enter HDS routine: hdsClose [0]
Enter HDS routine: datMsg [-1]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datMsg [-1]
Enter HDS routine: datAnnul [0]
Enter HDS routine: hdsInfoI [0]
Enter HDS routine: hdsFlush [0]
Enter HDS routine: hdsFlush [0]
Enter HDS routine: hdsFlush [0]
Enter HDS routine: hdsFlush [0]
Enter HDS routine: hdsFlush [0]
Enter HDS routine: hdsFlush [0]
Enter HDS routine: hdsFree [0]
!! datGet: Primitive object is undefined. Nothing to get
! datGet0I: Error in call to HDS (v5)
! DISPLAY: Failed to display an image of a one- or two-dimensional data set.
! Application exit status DAT__UNSET, Primitive data undefined
! mosaic device=xw
Enter HDS routine: hdsTune [0]
Enter HDS routine: hdsTune [0]
Enter HDS routine: hdsOpen [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: hdsInfoI [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datPutC [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: hdsGtune [0]
Enter HDS routine: hdsTune [0]
Enter HDS routine: hdsOpen [0]
Enter HDS routine: datClone [0]
Enter HDS routine: datStruc [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datClone [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: datPrim [0]
Enter HDS routine: datType [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datThere [0]
Enter HDS routine: hdsTrace [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datGet1I [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datCell [0]
Enter HDS routine: datState [0]
Enter HDS routine: datMap [0]
Bad status from datMap (v5): 147358619
Enter HDS routine: datAnnul [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datState [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datMsg [-1]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: hdsTune [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datPutC [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: hdsGtune [0]
Enter HDS routine: hdsTune [0]
Enter HDS routine: hdsOpen [0]
Enter HDS routine: datType [0]
Enter HDS routine: datPrim [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datClone [0]
Enter HDS routine: datPrmry [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: hdsTrace [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datClone [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: datPrim [0]
Enter HDS routine: datType [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datThere [0]
Enter HDS routine: hdsTrace [0]
Enter HDS routine: datPrim [0]
Enter HDS routine: datNcomp [0]
Enter HDS routine: datIndex [0]
Enter HDS routine: datName [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datIndex [0]
Enter HDS routine: datName [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datGet1I [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datCell [0]
Enter HDS routine: datState [0]
Enter HDS routine: datMap [0]
Bad status from datMap (v5): 147358619
Enter HDS routine: datAnnul [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datState [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datMsg [-1]
Enter HDS routine: hdsTune [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datShape [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: datClone [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: datPutC [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datGetC [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datPrim [0]
Enter HDS routine: datClone [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datGetL [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datPrim [0]
Enter HDS routine: datClone [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datGetL [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datClen [0]
Enter HDS routine: datMap [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datClen [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datGet0C [0]
Enter HDS routine: datMsg [-1]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datPrim [0]
Enter HDS routine: datClone [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datGetL [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datPrim [0]
Enter HDS routine: datClone [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: datSize [0]
Enter HDS routine: datGetVR [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datPrim [0]
Enter HDS routine: datClone [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: hdsLink [0]
Enter HDS routine: datShape [0]
Enter HDS routine: datGetL [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datType [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datPutC [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: hdsState [0]
Enter HDS routine: hdsOpen [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datFind [0]
Enter HDS routine: datGet0I [0]
Bad status from datGet0I (v5): 147358635
Enter HDS routine: datAnnul [147358635]
Enter HDS routine: datAnnul [147358635]
Enter HDS routine: hdsFree [147358635]
Enter HDS routine: datValid [0]
Enter HDS routine: hdsClose [0]
Enter HDS routine: datMsg [-1]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datAnnul [0]
Enter HDS routine: datThere [0]
Enter HDS routine: datMsg [-1]
Enter HDS routine: datAnnul [0]
Enter HDS routine: hdsInfoI [0]
Enter HDS routine: hdsFlush [0]
Enter HDS routine: hdsFlush [0]
Enter HDS routine: hdsFlush [0]
Enter HDS routine: hdsFlush [0]
Enter HDS routine: hdsFlush [0]
Enter HDS routine: hdsFlush [0]
Enter HDS routine: hdsFree [0]
!! Application exit status DAT__UNSET, Primitive data undefined
! mosaic device=xw
|