Open Stuk opened 5 years ago
Instead of using a symlink, try using an alias.
alias meld=/Applications/..path../Meld
On Thu, Jan 3, 2019 at 1:44 PM Stuart Knightley notifications@github.com wrote:
I have installed meld 3.19.2-r6,osx-15 from Homebrew, and get the following error when launching from the command line:
py2app stub executable has encountered a fatal error, and will now terminate.
The Info.plist file must have a PyRuntimeLocations array containing string values for preferred Python runtime locations. These strings should be "otool -L" style mach ids; "@executable_stub" and "~" prefixes will be translated accordingly.
Launching Meld from Finder works fine.
Any ideas what's wrong here?
β You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/yousseb/meld/issues/77, or mute the thread https://github.com/notifications/unsubscribe-auth/AEgDipieUUWADcFUdFSM3tsXYhFkcSi7ks5u_nmjgaJpZM4Zoz81 .
Thank you!
It now "launches", but there's only a dock icon, which when clicked shows the Meld menu in the menubar, but no Meld window appears. Clicking "New Comparison..." doesn't do anything.
Try running meld βhelp One time. The next time it will work
On Thu, Jan 3, 2019 at 1:57 PM Stuart Knightley notifications@github.com wrote:
Thank you!
It now "launches", but there's only a dock icon, which when clicked shows the Meld menu in the menubar, but no Meld window appears. Clicking "New Comparison..." doesn't do anything.
β You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/yousseb/meld/issues/77#issuecomment-451290637, or mute the thread https://github.com/notifications/unsubscribe-auth/AEgDikUbbk6O2zGIbpam60eQOydK0n-Rks5u_nzmgaJpZM4Zoz81 .
I gave that a go, restarted, tried again, and unfortunately it's still in the same state as above.
Why symlink is crashing? π’ It was working just fine before...
Anyway, I found solution to make git difftool
work properly with meld
on Mac OS Mojave:
Use this in ~/.gitconfig
:
[diff]
tool = meld
[mergetool "meld"]
path = /Applications/Meld.app/Contents/MacOS/Meld
I have installed meld 3.19.2-r6,osx-15 from Homebrew, and get the following error when launching from the command line:
py2app stub executable has encountered a fatal error, and will now terminate. The Info.plist file must have a PyRuntimeLocations array containing string values for preferred Python runtime locations. These strings should be "otool -L" style mach ids; "@executable_stub" and "~" prefixes will be translated accordingly.
Launching Meld from Finder works fine.
Any ideas what's wrong here?
install by brew ,get same error meld[15055:76740] The Info.plist file must have a PyRuntimeLocations array containing string values for preferred Python runtime locations. These strings should be "otool -L" style mach ids; "@executable_stub" and "~" prefixes will be translated accordingly.
there is something wrong with /usr/local/bin/meld
use open -W -a Meld --args $FILE1 $FILE2 $FILE3
to compare files
or create a new /usr/local/bin/meld
with below content
#!/bin/bash
open -W -a Meld --args $@
Why symlink is crashing? π’ It was working just fine before...
Anyway, I found solution to make
git difftool
work properly withmeld
on Mac OS Mojave: Use this in~/.gitconfig
:[diff] tool = meld [mergetool "meld"] path = /Applications/Meld.app/Contents/MacOS/Meld
work fine with this config
[diff]
tool = meld
external = git-meld.sh
[difftool]
prompt = false
[difftool "meld"]
trustExitCode = true
cmd = open -W -a Meld --args \"$LOCAL\" \"$PWD/$REMOTE\"
[merge]
tool = meld
[mergetool]
prompt = false
[mergetool "meld"]
trustExitCode = true
cmd = open -W -a Meld --args --auto-merge \"$PWD/$LOCAL\" \"$PWD/$BASE\" \"$PWD/$REMOTE\" --output=\"$PWD/$MERGED\"
Well, git has some knowledge about meld by default, and I wanted to make use of it as much as possible, without using any extra scripts or configs. By default, git is trying to find meld from path, but it crashes on Mojave. Setting just path as I did above makes it work for all modes: diff, merge, etc.
That said, real solution to this problem is fixing symlink to work again.
Well, git has some knowledge about meld by default, and I wanted to make use of it as much as possible, without using any extra scripts or configs. By default, git is trying to find meld from path, but it crashes on Mojave. Setting just path as I did above makes it work for all modes: diff, merge, etc.
That said, real solution to this problem is fixing symlink to work again.
another way is to downgrade to the old version
use
open -W -a Meld --args $FILE1 $FILE2 $FILE3
to compare files or create a new/usr/local/bin/meld
with below content#!/bin/bash open -W -a Meld --args $@
Your replacement /usr/local/bin/meld
suggestion does not work for me, as it converts all paths to root-oriented instead of pwd-oriented ("foo" becomes "/foo", "../foo" becomes "/foo", etc).
Using alias meld="/Applications/Meld.app/Contents/MacOS/Meld"
and just removing /usr/local/bin/meld
works correctly.
For the moment I have reverted to version 3.19.2-r3 to resolve the issue with the Meld window not appearing:
brew cask uninstall meld
brew cask install https://raw.githubusercontent.com/Homebrew/homebrew-cask/c7296b5939b9b785eaca28cca398d5634f7b960a/Casks/meld.rb
this variant of /usr/local/bin/meld
works for me:
#!/bin/sh
exec /Applications/Meld.app/Contents/MacOS/Meld "$@"
None of the variants above work. Best case is with the @mtjo's solution, where the menu bar appears a few seconds after running the command from the CLI, but no window appears.
Switching on fullscreen mode causes the whole screen to go black. Same problem using either one or two screens. With two screens, only one goes black, the one containing the menu bar.
When opening a comparison from the menu, the menu navigation works normally, but no window appears.
brew cask formula has been updated now. Simply re-installing solved the issue for me.
brew cask reinstall meld
Unfortunately pulling the latest forumla and reinstalling meld did not fix my issue :(
Iβll make this the highest priority of the next release. My apologies, but Iβm terribly busy at the moment. Give it a week to ten days (crossing fingers).
On Sun, Feb 3, 2019 at 4:01 PM Stuart Knightley notifications@github.com wrote:
Unfortunately pulling the latest forumla and reinstalling meld did not fix my issue :(
β You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/yousseb/meld/issues/77#issuecomment-460101341, or mute the thread https://github.com/notifications/unsubscribe-auth/AEgDik8rcj5hIuB_hjXLtHTBYNW4FEkMks5vJ3hbgaJpZM4Zoz81 .
No worries! Thank you for your hard work :)
Just for the record, with this Meld can be started from the Applications folder, but the "meld" command line is no longer available, making it pretty much unavailable. Maybe it is possible to create a symlink to something within the app, but which file ?
The file is /Applications/Meld.app/Contents/MacOS/Meld
but a symlink to that file does not work - apparently because the dynamic linking uses some relative paths and is confused, and the result is py2app PyRuntimeLocations error in the original report.
My technique posted above, of using a script instead of a symlink to invoke that Meld executable inside the application folder, works for me on macOS 10.13 High Sierra, but it is quite possible that it does not work on 10.12 or 10.14 (but I expect it should work for everyone on 10.13). I submitted the change to Hombrew-Cask which creates a script wrapper - and somewhat confusingly creates a symlink to the script wrapper inside the versioned cask folder in order to follow Homebrew conventions. So if you install the latest version of the Cask you should get something like this:
$ which meld
/usr/local/bin/meld
$ ls -l /usr/local/bin/meld
lrwxr-xr-x 1 yourname admin 57 Jan 19 03:28 /usr/local/bin/meld -> /usr/local/Caskroom/meld/3.19.2-r6,osx-15/meld.wrapper.sh
$ cat /usr/local/Caskroom/meld/3.19.2-r6,osx-15/meld.wrapper.sh
#!/bin/sh
exec '/Applications/Meld.app/Contents/MacOS/Meld' "$@"
If the meld
command is not working for you, I suggest reporting:
which meld
ls -l $(which meld)
file $(which meld)
I'm getting the same as you for those commands:
/usr/local/bin/meld
lrwxr-xr-x 1 xxxx wheel 57 Feb 3 15:20 /usr/local/bin/meld -> /usr/local/Caskroom/meld/3.19.2-r6,osx-15/meld.wrapper.sh
/usr/local/bin/meld: POSIX shell script text executable, ASCII text
#!/bin/sh
exec '/Applications/Meld.app/Contents/MacOS/Meld' "$@"
Which version of macOS are you running? Are you still getting the original error text exactly?
Could you try modifying the script to something like:
#!/bin/sh
cd /Applications/Meld.app/Contents/MacOS
exec ./Meld "$@"
I'm on 10.14.2 (18C54). I'm no longer getting the original error, but this issue:
It now "launches", but there's only a dock icon, which when clicked shows the Meld menu in the menubar, but no Meld window appears. Clicking "New Comparison..." doesn't do anything. https://github.com/yousseb/meld/issues/77#issuecomment-451290637
I tried modifying the script, but still get the same issue :(
I see, sorry, the wrapper script only addresses the py2app PyRuntimeLocations thing.
To run meld from terminal without py2app error or app not showing up add this to your ~/.bash_profile:
alias meld="rm -r ~/.local/share/meld ~/Library/Preferences/org.gnome.meld.plist ~/Library/Saved\ Application\ State/org.gnome.meld.savedState/; /Applications/Meld.app/Contents/MacOS/Meld"
@aminasadi0 's alias works for normal meld usage π .
However, the git integration doesn't work. I tried wrapping meld in a script named differently, but git knows about meld and rejects use of the script. Then I renamed the script to "meld", ensuring it was in the path before meld itself, but then meld doesn't appear.
@fgm, for git integration, adding just this to .gitconfig makes it work:
[mergetool "meld"]
path = /Applications/Meld.app/Contents/MacOS/Meld
That said, it's surprising that fixing this takes so long.
Author here:
I suggest
alias meld=/Applications/Meld.app/Contents/MacOS/Meld
Then call meld as usual.
It's taking so long simply because I'm the sole contributor to the OSX port (contributors welcome) and I've been too busy followed by being too sick.
@mvp / @yousseb : thanks for the suggestions, but neither work. This was my first try, but with that I gest the meld icon in the Alt-tab apps list, but nothing on the screen, even when focusing it.
To re-state the current status on my OS X mojave 10.14.6 system:
meld
version 3.19.2-r6,osx-15
has the "window is invisible problem"meld
version 3.19.2-r3,osx-12
everything works as expected.
In particular there are no problems with / errors from py2app
.I'm willing to help debugging this, but I'd need some help where to start searching.
I'm running into the same issue β sometimes the meld
cli invocation seems to start Meld, and the icon shows, but it doesn't bring up any window.
When this happens, I've found the following workaround to be nice enough:
meld
meld
will now work again π@yousseb thanks heaps for your work on getting Meld to OS X, it's such a useful tool!
@m8mble how do you download that version ? I tried to do it using:
brew cask install https://raw.githubusercontent.com/Homebrew/homebrew-cask/7c22b43b03262a73d3f03c6bac30b5218ff5c137/Casks/meld.rb
as explained on https://www.jverdeyen.be/mac/downgrade-brew-cask-application/
but I get an error:
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/cask).
No changes to formulae.
==> Downloading https://raw.githubusercontent.com/Homebrew/homebrew-cask/7c22b43b03262a73d3f03c6bac30b5218ff5c137/Casks/meld.rb.
######################################################################## 100.0%
curl: (22) The requested URL returned error: 416
Warning: Unexpected method 'appcas' called on Cask movist-pro.
Follow the instructions here:
https://github.com/Homebrew/homebrew-cask#reporting-bugs
Error: Cask 'meld' is unavailable: Failed to download https://raw.githubusercontent.com/Homebrew/homebrew-cask/7c22b43b03262a73d3f03c6bac30b5218ff5c137/Casks/meld.rb. Did you mean βmeldβ?
I can't say anything about the error, since that does not appear for me. I've been installing the latest meld
just with
brew cask install meld
The older version (that seems to run stable for me) is provided by a different cask url. The details have been pointed out here.
@m8mble can't believe I missed that comment. Sorry about the noise. Yes, installing using that comment worked for install. Meld still doesn't work as a git difftool/mergetool, but at least plain Meld comparisons are usable again. Thanks.
Maintainer here..
I've been away from the project for a long time due to personal issue. My brother was killed in the New Zealand terrorist attack that took place last March and it was quite devastating. https://www.stuff.co.nz/national/christchurch-shooting/111375038/osama-abu-kwaik-was-a-refugee-born-to-an-orphan-who-died-in-christchurch-the-city-he-loved
I'm resuming work on this project starting this week. A lot of things have changed as far as I see. I have to start rebuilding the environment first which usually takes a significant amount of time. I'll work over this week end and the next couple of week-ends to reproduce this same meld version but using the new toolchain. Once there, I'll work on pulling latest version of meld and catch up with upstream.
I'm sorry for your loss. That was a shocking situation even for those of us with no direct connection. Please take all the time you need. As much as we love Meld for Mac, your own health and personal need are more important.
It sounds like others are willing to chip in and contribute, but need some guidance on getting started. Thank you for all you do and have done.
@dsbecker Thank you.
jhbuild for osx has seen some significant changes. This is why I'm rebuilding the toolchain and updating instructions for it. Once done I'll update the instructions and hopefully others will be able to jump in and help. I think Meld for Mac is an important piece of software and I really don't want it to die either.
I was able to rebuild the underlying environment again. Docs updated on how to build the environment. Hopefully will be able to make a new release this weekend with meld 3.21.0 (git-dev version as on upstream).
New release here: https://github.com/yousseb/meld/releases/tag/osx-16
This release bring some cool new features, but has some drawbacks from the underlying Gtk. I'll keep on putting some hours during the week-ends until we get to a good version, but testing would definitely help. Thank you.
I updated the build instructions for those who would like to help. To be honest, I'd like to focus on building Gtk4 with Vulkan backend + GtkSourceView 4 for the next week (which doesn't resolve issues, but will allow us to merge latest upstream & have fast rendering so that meld won't feel slow). Once this is done and upstream is merged in, I can get back to resolving OSX specific issues. If someone would like to help resolve issues while I focus on Gtk4/Vulkan/GtkSourceView4/upstream merge, it would be great.
I have installed meld 3.19.2-r6,osx-15 from Homebrew, and get the following error when launching from the command line:
Launching Meld from Finder works fine.
Any ideas what's wrong here?