Opened 3 years ago

Closed 3 years ago

#121 closed defect (fixed)

brew upgrade issues on macOS

Reported by: Simon Murphy Owned by: Olly Betts
Priority: minor Milestone:
Component: aven Version: 1.2.43
Keywords: dyld Library libproj macOS Cc:

Description (last modified by Olly Betts)

Hi, I've recently migrated to BigSur? (the latest macOS), which meant survex no longer loaded.

I've just done a brew upgrade survex to get the latest version (I'm now at 1.2.43), hoping this would resolve the problems.

When I run

aven

I get (for user sjm):

dyld: Library not loaded: /Users/sjm/Developer/opt/proj/lib/libproj.19.dylib
  Referenced from: /Users/sjm/Developer/bin/aven
  Reason: image not found
[1]    67839 abort      aven

I did a bit of googling and tried to

brew unlink survex

then

brew link survex

again, but no luck.

When that didn't change anything, I tried

brew reinstall survex

but still no luck.

I tried

ln -s /Users/sjm/Developer/Cellar/proj/7.2.1.reinstall/lib/libproj.19.dylib /Users/sjm/Developer/opt/proj/lib/libproj.19.dylib

but still no success.

Thanks in advance for your help. Simon.

Change History (13)

comment:1 Changed 3 years ago by Simon Murphy

After the link to the new library path, the error reported is the following:

> aven

2021-06-15 14:56:01.737 aven[79132:6683451] *** Assertion failure in NSSize _NSViewClampSizeToLimits(NSView *, NSString *, NSSize)(), NSView.m:709
2021-06-15 14:56:01.745 aven[79132:6683451] <NSATSTypesetter: 0x7f8f6d01e580>: Exception Invalid parameter not satisfying: fabs(size.width) <= NSVIEW_GEOMETRY_LIMIT raised during typesetting layout manager <NSLayoutManager: 0x7f8f6d749fb0>
    1 containers, text backing has 0 characters
    selected character range {0, 0} affinity: upstream granularity: character
    marked character range {0, 0}
    Currently holding 0 glyphs.
    Glyph tree contents:  0 characters, 0 glyphs, 1 nodes, 64 node bytes, 0 storage bytes, 64 total bytes, 0.00 bytes per character, 0.00 bytes per glyph
    Layout tree contents:  0 characters, 0 glyphs, 0 laid glyphs, 0 laid line fragments, 1 nodes, 64 node bytes, 0 storage bytes, 64 total bytes, 0.00 bytes per character, 0.00 bytes per glyph, 0.00 laid glyphs per laid line fragment, 0.00 bytes per laid line fragment
, glyph range {0 0}. Ignoring...
[1]    79132 segmentation fault  aven
Last edited 3 years ago by Olly Betts (previous) (diff)

comment:2 Changed 3 years ago by Olly Betts

Description: modified (diff)

It doesn't seem like the proj problem is connected to the final failure, but I'm not sure what's causing either.

You could try updating again, as I see wxmac got updated to 3.1.5 2 days ago:

https://github.com/Homebrew/homebrew-core/commits/46ad714cc4d3140b69723b7bfc0395f085b642b9/Formula/wxmac.rb

Maybe 3.1.5 supports the latest macos better.

If that doesn't help, I don't have a mac myself so it's hard for me to investigate, but we can see if Robert Jones can take a look (he put together the homebrew packaging).

comment:3 Changed 3 years ago by Simon Murphy

Thanks for the suggestion. I've updated wxmac and I've done

brew reinstall survex

Now I get a new error:

aven

dyld: Library not loaded: /Users/sjm/Developer/opt/wxmac/lib/libwx_osx_cocoau_core-3.0.dylib

Referenced from: /Users/sjm/Developer/bin/aven Reason: image not found

[1] 26016 abort aven

Would appreciate input from Robert Jones!

comment:4 Changed 3 years ago by Olly Betts

Could you try again now?

I've updated the homebrew repo to Survex 1.4.1 (which builds with recent proj) and the CI tests show it installs on macos 10.15 and 11.0:

https://github.com/ojwb/homebrew-survex/actions/runs/1781622178

comment:5 Changed 3 years ago by Olly Betts

Hi Simon, did you get a chance to try this?

comment:6 Changed 3 years ago by Simon Murphy

Hi Olly. Yes, it seems I accidentally replied by email rather than replying to this thread. Here's the email I sent:

Thanks for following up with this. I've tried just about everything I could think of.

I repeated the brew unlink survex​ and brew link survex​ steps. I also tried a reinstallation with brew reinstall survex​

I attempted to upgrade wxmac​, which is apparently deprecated and so gets replaced with wxwidgets​. I additionally tried to compile from source instead with brew install -s wxmac​ to which brew suggested to reinstall wxwidgets instead, with brew reinstall wxwidgets​ so I did that, too.

I also reinstalled xcode tools with xcode-select --install​ Then repeated all of the above commands.

Still, no matter what I try I encounter the same error:

dyld: Library not loaded: /Users/sjm/Developer/opt/wxmac/lib/libwx_osx_cocoau_core-3.0.dylib

Referenced from: /Users/sjm/Developer/bin/aven

Reason: image not found

[1] 57985 abort aven

Simon.

Version 0, edited 3 years ago by Simon Murphy (next)

comment:7 Changed 3 years ago by Olly Betts

I've now made a new Survex release and updated the homebrew package to use this. The package now also uses wxwidgets instead of wxmac so it the problem finding some wxmac library should have gone.

Can you retry with that?

comment:8 Changed 3 years ago by Simon Murphy

I'm still seeing lots of warnings about wxmac library, but I'm not sure what caused the eventual failure of the install. (I uninstalled and then did a brew install survex):

https://gist.github.com/SimonJMurphy/7c0c772e5d7f3e5abf1104cdcc3a2901

comment:9 Changed 3 years ago by Olly Betts

==> Downloading https://survex.com/software/1.2.43/survex-1.2.43.tar.gz

That's not using the updated package - the updated package is 1.4.2.

I think you need to use the steps given on https://survex.com/download.html?platform=macos for upgrading:

Once you've installed as above, you can upgrade your homebrew packages (including Survex) like so:

brew update
brew upgrade
Last edited 3 years ago by Olly Betts (previous) (diff)

comment:10 Changed 3 years ago by Simon Murphy

Hi Olly,

I don't understand why, but brew tap survex/survex https://git.survex.com/homebrew-survex followed by brew install survex still results in an attempt to install 1.2.43 rather than 1.4.2.

comment:11 Changed 3 years ago by Olly Betts

I think that's because the first command sees that the tap is already set up so doesn't actually do anything, and then the second command fetches and installs the latest version of the requested package that it knows about based on a locally stored copy of the list of packages.

You need to run brew update to update that list of packages to the current version, then brew upgrade will upgrade all packages that are currently installed and not the latest version (according to that local list).

comment:12 Changed 3 years ago by Simon Murphy

Ah, success! Indeed I hadn't run brew update and brew upgrade since 1.4.2 was launched.

So I now succeeded with an installation, but when I try aven on the command line the process never successfully launches. The menu bar loads but then the process becomes non-responsive. I also tried launching from the full path /Users/sjm/Developer/bin/aven with the same results (as you'd expect).

Sorry that this is proving so problematic... :(

comment:13 Changed 3 years ago by Olly Betts

Resolution: fixed
Status: newclosed

That's a known problem, being tracked in #120.

It only seems to affect launching aven "empty", so the workaround is to instead launch aven by loading a file.

The problem tracked here is solved, so closing.

Note: See TracTickets for help on using tickets.