Opened 11 years ago

Closed 10 years ago

Last modified 10 years ago

#40928 closed defect (fixed)

ds9: crashes at runtime with _astGAttr symbol not found error

Reported by: cdeil (Christoph Deil) Owned by: lpsinger (Leo Singer)
Priority: Normal Milestone:
Component: ports Version: 2.2.0
Keywords: Cc:
Port: ds9

Description

ds9 crashed for me with this error:

eduroam-3-163:fermi deil$ ds9 ./ScienceTools-v9r32p5-fssc-20130916-source/external/extFiles/galdiffuse/gll_iem_v05.fits 
dyld: lazy symbol binding failed: Symbol not found: _astGAttr
  Referenced from: /opt/local/lib/libast.0.dylib
  Expected in: flat namespace

dyld: Symbol not found: _astGAttr
  Referenced from: /opt/local/lib/libast.0.dylib
  Expected in: flat namespace

Trace/BPT trap: 5

This is on Mac OS X 10.8 with XCode 5.0 in case it matters.

Let me know if you need any other info.

Attachments (1)

patch-ds9_Makefile.diff (851 bytes) - added by lpsinger (Leo Singer) 10 years ago.
Updated patch (not working yet, but different error message)

Download all attachments as: .zip

Change History (19)

comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: aronnax@… removed
Owner: changed from macports-tickets@… to aronnax@…

comment:2 Changed 11 years ago by lpsinger (Leo Singer)

What version of port ast were you using? And can you upload the file that you were trying to open?

comment:3 Changed 11 years ago by cdeil (Christoph Deil)

The crash happens with any image as soon as I try to draw a coordinate grid. E.g.

wget http://www.atnf.csiro.au/people/mcalabre/data/WCS/1904-66_TAN.fits.gz
ds9 -grid 1904-66_TAN.fits.gz

I'm using these versions:

  ast @7.3.2_0+gcc48 (active)
  ds9 @7.2_2 (active)

comment:4 Changed 11 years ago by lpsinger (Leo Singer)

I can reproduce the crash with any FITS file as long as I use the -grid option.

comment:5 Changed 11 years ago by lpsinger (Leo Singer)

Resolution: fixed
Status: newclosed

Fixed in r112551.

comment:6 Changed 11 years ago by cdeil (Christoph Deil)

Doesn't crash any more, but grid drawing still doesn't work for me. I get this error printed to the terminal and simply no grid lines drawn:

$ ds9 -grid 1904-66_TAN.fits.gz
!! AST: Error at line 128 in file grid2d.C.
!  astGAttr: No graphics facilities are available.
!  Re-link using an option such as '-pgplot' with the ast_link script.
!  astGrid(Plot): Graphics error in astGAttr. 

comment:7 Changed 11 years ago by cdeil (Christoph Deil)

Resolution: fixed
Status: closedreopened

comment:8 Changed 11 years ago by lpsinger (Leo Singer)

The problem is the linking order change in source:trunk/dports/science/ds9/files/patch-ds9_Makefile.diff@106158. The astGAttr symbol is referenced in libast.dylib, but defined in libsaotk.a. I tried leaving the libast link in the same order but changing it from ../lib/libast.a to -last so as to pick up the shared library from port ast. However, that didn't work.

comment:9 Changed 10 years ago by cdeil (Christoph Deil)

I tried installing ds9 again just now on Mac OS X 10.9 and at the moment I get this error:

$ ds9
application-specific initialization failed: Can't find a usable init.tcl in the following directories: 
    ./zvfsmntpt/tcl8.6 /tmp/darwin64x86mavericks/saods9/lib/tcl8.6 /opt/local/lib/tcl8.6 /opt/lib/tcl8.6 /opt/local/library /opt/library /opt/tcl8.6.0/library /tcl8.6.0/library

/opt/local/lib/tcl8.6/init.tcl: version conflict for package "Tcl": have 8.6.0, need exactly 8.6.1
version conflict for package "Tcl": have 8.6.0, need exactly 8.6.1
    while executing
"package require -exact Tcl 8.6.1"
    (file "/opt/local/lib/tcl8.6/init.tcl" line 19)
    invoked from within
"source /opt/local/lib/tcl8.6/init.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list source $tclfile]"


This probably means that Tcl wasn't installed properly.

Unable to initialize window system.

Can anyone reproduce the issue or even knows how to fix it?

comment:10 in reply to:  9 Changed 10 years ago by lpsinger (Leo Singer)

Replying to Deil.Christoph@…:

Can anyone reproduce the issue or even knows how to fix it?

I was able to build and run from source. Could you please try:

$ sudo port uninstall ds9
$ sudo port -s install ds9
$ ds9

If that works, then I just need to bump the revision to activate the buildbot.

comment:11 Changed 10 years ago by cdeil (Christoph Deil)

When trying to run sudo port -s install ds9 I get this error:

Error: ds9 cannot be built while tcl is active.

and I'm having problems deactivating tcl: https://gist.github.com/cdeil/11010658

Not sure what to do ... if there's some other commands I should run to test this please let me know.

comment:12 Changed 10 years ago by lpsinger (Leo Singer)

You can deactivate tcl and tk and all ports that depend on them, or you can just do a force deactivate to override dependency checks:

$ sudo port -f deactivate tcl tk

Then, after you have built ds9, just reactivate the tcl and tk ports:

$ sudo port activate tcl tk

comment:13 Changed 10 years ago by cdeil (Christoph Deil)

OK ... force deactivating and installing ds9 worked ... it even automatically re-activated tcl and tk and installed a few things for me: https://gist.github.com/cdeil/11011772 :-)

Now ds9 works. I still get an error on the console and no grid drawn as mentioned in the original issue report, but no crash.

!! AST: Error at line 128 in file grid2d.C.
!  astGAttr: No graphics facilities are available.
!  Re-link using an option such as '-pgplot' with the ast_link script.
!  astGrid(Plot): Graphics error in astGAttr. 

comment:14 Changed 10 years ago by lpsinger (Leo Singer)

Crash fixed in r119135.

Changed 10 years ago by lpsinger (Leo Singer)

Attachment: patch-ds9_Makefile.diff added

Updated patch (not working yet, but different error message)

comment:15 Changed 10 years ago by lpsinger (Leo Singer)

I tried adding a dependency on the pgplot port and linking with -last_pgplot -last_pgplot3d -lpgplot. See attached patch. I am now getting this error message:

 %PGPLOT, PGQLS: no graphics device has been selected
 %PGPLOT, PGSLS: no graphics device has been selected
 %PGPLOT, PGQVSZ: no graphics device has been selected
 %PGPLOT, PGQLW: no graphics device has been selected
 %PGPLOT, PGSLW: no graphics device has been selected
 %PGPLOT, PGQCI: no graphics device has been selected
 %PGPLOT, PGSCI: no graphics device has been selected
!! AST: Error at line 128 in file grid2d.C.
!  astGScales: The graphics window or viewport has zero size.
!  astGrid(Plot): Graphics error in astGScales. 
!! AST: Error at line 128 in file grid2d.C.
!  astGScales: The graphics window or viewport has zero size.
!  astGrid(Plot): Graphics error in astGScales. 

I don't understand what pgplot has to do with it; the DS9 source tarball comes with source code for all of its own dependencies and definitely does not contain source code for pgplot.

comment:16 Changed 10 years ago by lpsinger (Leo Singer)

Resolution: fixed
Status: reopenedclosed

Fixed in r119151.

comment:17 Changed 10 years ago by cdeil (Christoph Deil)

Thanks for fixing this!

One remaining small issue is that text is rendered very poorly (see e.g. http://postimg.org/image/4v8tqgmeb/). I don't know if that has something to do with my machine or something with the ds9 configuration and could be fixed by changing the Portfile.

comment:18 in reply to:  17 Changed 10 years ago by lpsinger (Leo Singer)

Replying to Deil.Christoph@…:

Thanks for fixing this!

One remaining small issue is that text is rendered very poorly (see e.g. http://postimg.org/image/4v8tqgmeb/). I don't know if that has something to do with my machine or something with the ds9 configuration and could be fixed by changing the Portfile.

Do you have a screenshot from another platform to compare? I don't think that DS9 antialiases text.

Note: See TracTickets for help on using tickets.