brew: xmgrace broken after brew package upgrades
I have a MacBook Pro (Retina, Mid 2012) with OS X El Capitan v. 10.11.6. I use xmgrace regularly for my work, and 10 days ago, I had no problems with it. On Sept. 20, 2016 I did ‘brew update, outdated, upgrade, cleanup, prune, doctor’ and now can no longer open xmgrace. The error message is:
Warning: Widget must be a VendorShell. Warning: Fatal Error: _XmGetDefaultDisplay cannot be used prior to VendorS.Initialize, returns NULL
Oops! Got SIGSYS
Please use "Help/Comments" to report the bug. Abort trap: 6
I have XQuartz 2.7.10_rc4, openmotif 2.3.4, grace 5.1.25_1. If I type ‘xclock’, that works. I have spent (too many) hours researching the web for a solution, but have not found anything that fixed this problem. I think it has to do with the order in which Xm, Xt, and X11 are linked when compiling openmotif with homebrew, but I haven’t figured out how to fix it. If you can help with this problem, please let me know! Gratefully yours,
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 18 (10 by maintainers)
Aha! The 2.7.10_rc4 release notes even have an item about
libXtand Motif. They say:And this from the XQuartz 2.7.9 release notes:
Which I think means that
libXt.6.dylibis-flat_namespace, and the newlibXt.7.dylibis not.Here’s the library from XQuartz 2.7.8 (the prior version):
Note the lack of TWOLEVEL in the flags. There is no
libXt.7.dylibin this version.Here’s the libs from XQuartz 2.7.9:
I downgraded XQuartz from 2.7.9 to 2.7.8, reinstalled
openmotifandgracefrom source, and it’s working now: runningxmgracelaunches the GUI instead of just crashing.So this was probably caused by XQuartz being upgraded on the test-bot servers. I suspect the first time that an openmotif bottle was built against 2.7.9, it linked to the two-level-namespace
libXt.7.dylib, and @ltbuchman picked it up on a subsequent update.So I think we need to massage the build to get it to link against the flat-namespace versions of
libXt.dylibinstead of the defaults – I’ll see if I can figure that out – and push for OpenMotif upstream to add compatibility with two-level-namespace dylibs (however that’s done; beyond me at this point).@ltbuchman, as a workaround for the time being, try making sure you have XQuartz 2.7.8 installed (not 2.7.9 or 2.7.10_rc4), and reinstall
openmotifandgracefrom source withbrew reinstall -s openmotif grace.