Opened 2 years ago

Closed 2 years ago

#64631 closed defect (fixed)

grads @2.2.1: dlopen failed to get a handle on gxprint plug-in named "Cairo"

Reported by: korria (Korri Anderson) Owned by: tenomoto (Takeshi Enomoto)
Priority: Normal Milestone:
Component: ports Version:
Keywords: arm64 monterey Cc:
Port: grads

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Grid Analysis and Display System (GrADS) Version 2.2.1
Copyright (C) 1988-2018 by George Mason University
GrADS comes with ABSOLUTELY NO WARRANTY
See file COPYRIGHT for more information

Config: v2.2.1 little-endian readline grib2 netcdf hdf4-sds hdf5 opendap-grids geotiff shapefile
Issue 'q config' and 'q gxconfig' commands for more detailed configuration information
Landscape mode? ('n' for portrait):  n
GX Package Initialization: Size = 8.5 11 

GX Package Error: dlopen failed to get a handle on gxprint plug-in named "Cairo" 
   dlopen(/opt/local/lib/grads/libgxpCairo.dylib, 0x0001): symbol not found in flat namespace '_gxdXflush'
GX Package Terminated 

Change History (6)

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

Description: modified (diff)
Keywords: arm64 monterey added
Owner: set to tenomoto
Status: newassigned
Summary: Grads not working on arm64 Monterreygrads @2.2.1: dlopen failed to get a handle on gxprint plug-in named "Cairo"

comment:2 in reply to:  description ; Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to korria:

GX Package Error: dlopen failed to get a handle on gxprint plug-in named "Cairo" 
   dlopen(/opt/local/lib/grads/libgxpCairo.dylib, 0x0001): symbol not found in flat namespace '_gxdXflush'
GX Package Terminated 

I found the same error mentioned here. A Google translation of that page suggested that starting grads with grads -h GD would make it use gd instead of cairo and bypass the problem (until someone figures out how to actually fix the problem so that it can be used with cairo again).

comment:3 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

I can confirm this problem on macOS Monterey x86_64, and that the workaround grads -h GD "works" to the extent that it then shows an X11 window. In my case the X11 window was completely black, so that may be a separate issue.

comment:4 in reply to:  2 ; Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to korria:

   dlopen(/opt/local/lib/grads/libgxpCairo.dylib, 0x0001): symbol not found in flat namespace '_gxdXflush'

I also tried on macOS Catalina, where I do not see this problem.

This is reminding me of #64448. In that case, "symbol not found in flat namespace" was happening when running cscope only on macOS Monterey, and only because the Portfile was running strip on the cscope executable after it was built. We fixed the problem by no longer running strip.

In the case of grads I'm not sure whether the use of strip is involved. I see in my grads build log:

checking for strip... strip
checking whether stripping libraries is possible... yes

however I don't see whether any stripping is actually happening. (This may just be something all configure scripts check for.) If you can determine if stripping is happening, and if you can prevent it, maybe that will have an effect on this problem.

Replying to ryandesign:

the X11 window was completely black

But I do see this same black window on macOS Catalina (with or without -h GD). Maybe that's what it's supposed to do; I don't know this software.

comment:5 in reply to:  4 Changed 2 years ago by korria (Korri Anderson)

Replying to ryandesign: The black window is normal. The software plots output from weather models. It works fine on x86_64, just not on my arm64.

Replying to ryandesign:

the X11 window was completely black

But I do see this same black window on macOS Catalina (with or without -h GD). Maybe that's what it's supposed to do; I don't know this software.

Last edited 2 years ago by korria (Korri Anderson) (previous) (diff)

comment:6 Changed 2 years ago by tenomoto (Takeshi Enomoto)

Resolution: fixed
Status: assignedclosed

In 0c6989379417ed0e793fb70ba922bf0d2fbc7cdd/macports-ports (master):

grads: fix missing symbol in libgxpCairo.

Closes: #64631

Note: See TracTickets for help on using tickets.