Homebrew-cask: Inkscape 0.92.2 not working on Mojave

Created on 25 Apr 2019  ·  9Comments  ·  Source: Homebrew/homebrew-cask

General troubleshooting steps

Description of issue

brew cask install inkscape

Inkscape installs fine. But launching Inkscape gives this error.

Wondering if there should be a way to get Homebrew to mark out non-working binaries, so that we know not to install it?

Mojave 10.14.4.

If someone could confirm that Inkscape doesn't work on Mojave, I'd happily downgrade to High Sierra right away.

Also, why is Inkscape 0.92.4 available through MacPorts but not through Homebrew. What does MacPorts know that Homebrew doesn't?

Command that failed


Output of command with --force --verbose --debug

Updating Homebrew...
==> Cask::Installer#install
==> Printing caveats
==> Cask::Installer#fetch
==> Satisfying dependencies
==> Downloading
==> Downloading https://inkscape.org/gallery/item/11269/Inkscape-0.92.2-1-x11-10.7-x86_64.dmg
/usr/bin/curl -q --show-error --user-agent Homebrew/2.1.1-66-g057443c\ \(Macintosh\;\ Intel\ Mac\ OS\ X\ 10.14.4\)\ curl/7.54.0 --location --silent --head --request GET https://inkscape.org/gallery/item/11269/Inkscape-0.92.2-1-x11-10.7-x86_64.dmg
Already downloaded: /Users/jon/Library/Caches/Homebrew/downloads/0054351c44f32d8e4cf32a238c89cf25375280b6b4736503ebe4829867bc7d1e--Inkscape-0.92.2-1-x11-10.7-x86_64.dmg
==> Checking quarantine support
/usr/bin/xattr
/usr/bin/swift /usr/local/Homebrew/Library/Homebrew/cask/utils/quarantine.swift
==> Quarantine is available.
==> Verifying Gatekeeper status of /Users/jon/Library/Caches/Homebrew/downloads/0054351c44f32d8e4cf32a238c89cf25375280b6b4736503ebe4829867bc7d1e--Inkscape-0.92.2-1-x11-10.7-x86_64.dmg
/usr/bin/xattr -p com.apple.quarantine /Users/jon/Library/Caches/Homebrew/downloads/0054351c44f32d8e4cf32a238c89cf25375280b6b4736503ebe4829867bc7d1e--Inkscape-0.92.2-1-x11-10.7-x86_64.dmg
==> /Users/jon/Library/Caches/Homebrew/downloads/0054351c44f32d8e4cf32a238c89cf25375280b6b4736503ebe4829867bc7d1e--Inkscape-0.92.2-1-x11-10.7-x86_64.dmg is quarantined
==> Downloaded to -> /Users/jon/Library/Caches/Homebrew/downloads/0054351c44f32d8e4cf32a238c89cf25375280b6b4736503ebe4829867bc7d1e--Inkscape-0.92.2-1-x11-10.7-x86_64.dmg
==> Verifying SHA-256 checksum for Cask 'inkscape'.
==> Installing Cask inkscape
==> Cask::Installer#stage
hdiutil imageinfo /Users/jon/Library/Caches/Homebrew/downloads/0054351c44f32d8e4cf32a238c89cf25375280b6b4736503ebe4829867bc7d1e--Inkscape-0.92.2-1-x11-10.7-x86_64.dmg
==> Extracting primary container
==> Using container class UnpackStrategy::Dmg for /Users/jon/Library/Caches/Homebrew/downloads/0054351c44f32d8e4cf32a238c89cf25375280b6b4736503ebe4829867bc7d1e--Inkscape-0.92.2-1-x11-10.7-x86_64.dmg
hdiutil attach -plist -nobrowse -readonly -noidme -mountrandom /var/folders/bw/jh4pq43918gfd_r7qxzkkt_40000gq/T/d20190425-87573-1iguz3s /Users/jon/Library/Caches/Homebrew/downloads/0054351c44f32d8e4cf32a238c89cf25375280b6b4736503ebe4829867bc7d1e--Inkscape-0.92.2-1-x11-10.7-x86_64.dmg
find . -print0
mkbom -s -i /var/folders/bw/jh4pq43918gfd_r7qxzkkt_40000gq/T/20190425-87573-89vdxj.list -- /var/folders/bw/jh4pq43918gfd_r7qxzkkt_40000gq/T/20190425-87573-24gyw2.bom
ditto --bom /var/folders/bw/jh4pq43918gfd_r7qxzkkt_40000gq/T/20190425-87573-24gyw2.bom -- /private/var/folders/bw/jh4pq43918gfd_r7qxzkkt_40000gq/T/d20190425-87573-1iguz3s/dmg.n7pZuP /var/folders/bw/jh4pq43918gfd_r7qxzkkt_40000gq/T/d20190425-87573-3wfc0a
diskutil eject /private/var/folders/bw/jh4pq43918gfd_r7qxzkkt_40000gq/T/d20190425-87573-1iguz3s/dmg.n7pZuP
cp -pR /var/folders/bw/jh4pq43918gfd_r7qxzkkt_40000gq/T/d20190425-87573-3wfc0a/Inkscape.app/. /usr/local/Caskroom/inkscape/0.92.2-1,11269/Inkscape.app
chmod -Rf +w /var/folders/bw/jh4pq43918gfd_r7qxzkkt_40000gq/T/d20190425-87573-3wfc0a
==> Verifying Gatekeeper status of /Users/jon/Library/Caches/Homebrew/downloads/0054351c44f32d8e4cf32a238c89cf25375280b6b4736503ebe4829867bc7d1e--Inkscape-0.92.2-1-x11-10.7-x86_64.dmg
/usr/bin/xattr -p com.apple.quarantine /Users/jon/Library/Caches/Homebrew/downloads/0054351c44f32d8e4cf32a238c89cf25375280b6b4736503ebe4829867bc7d1e--Inkscape-0.92.2-1-x11-10.7-x86_64.dmg
==> /Users/jon/Library/Caches/Homebrew/downloads/0054351c44f32d8e4cf32a238c89cf25375280b6b4736503ebe4829867bc7d1e--Inkscape-0.92.2-1-x11-10.7-x86_64.dmg is quarantined
==> Propagating quarantine from /Users/jon/Library/Caches/Homebrew/downloads/0054351c44f32d8e4cf32a238c89cf25375280b6b4736503ebe4829867bc7d1e--Inkscape-0.92.2-1-x11-10.7-x86_64.dmg to /usr/local/Caskroom/inkscape/0.92.2-1,11269
/usr/bin/xattr -p com.apple.quarantine /Users/jon/Library/Caches/Homebrew/downloads/0054351c44f32d8e4cf32a238c89cf25375280b6b4736503ebe4829867bc7d1e--Inkscape-0.92.2-1-x11-10.7-x86_64.dmg
/usr/bin/xargs -0 -- /bin/chmod -h u\+w
/usr/bin/xargs -0 -- /usr/bin/xattr -w -s com.apple.quarantine 0181\;5cbffe14\;Homebrew\\x20Cask\;DB531706-61F0-4FF4-90C4-C2650898F8D2
==> Creating metadata directory /usr/local/Caskroom/inkscape/.metadata/0.92.2-1,11269/20190424232223.069.
==> Creating metadata subdirectory /usr/local/Caskroom/inkscape/.metadata/0.92.2-1,11269/20190424232223.069/Casks.
==> Installing artifacts
==> 3 artifact/s defined
#<SortedSet:0x00007f99c4bffa58>
==> Installing artifact of class Cask::Artifact::App
Warning: It seems there is already an App at '/Applications/Inkscape.app'; overwriting.
==> Removing App '/Applications/Inkscape.app'.
==> Moving App 'Inkscape.app' to '/Applications/Inkscape.app'.
==> Installing artifact of class Cask::Artifact::Binary
==> Linking Binary 'inkscape' to '/usr/local/bin/inkscape'.
/bin/ln -h -f -s -- /Applications/Inkscape.app/Contents/Resources/bin/inkscape /usr/local/bin/inkscape
🍺  inkscape was successfully installed!
@Jon-MacBook-Air:bin$ inkscape

Output of brew cask doctor

==> Homebrew Version
2.1.1-66-g057443c
==> macOS
10.14.4
==> SIP
Enabled
==> Java
1.8.0_31
==> Gatekeeper support
Enabled
==> Homebrew Cask Install Location
<NONE>
==> Homebrew Cask Staging Location
/usr/local/Caskroom
==> Homebrew Cask Taps:
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask (4010 casks)
==> Contents of $LOAD_PATH
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/simplecov-cobertura-1.3.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/ruby-macho-2.2.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/rubocop-rspec-1.32.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/rubocop-0.67.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/unicode-display_width-1.5.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/ruby-progressbar-1.10.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/rspec-wait-0.0.9/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/rspec-retry-0.6.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/rspec-its-1.2.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/rspec-3.8.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/rspec-mocks-3.8.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/rspec-expectations-3.8.2/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/rspec-core-3.8.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/rspec-support-3.8.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/ronn-0.7.3/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/rdiscount-2.2.0.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/extensions/universal-darwin-18/2.3.0/rdiscount-2.2.0.1
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/rainbow-3.0.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/psych-3.1.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/extensions/universal-darwin-18/2.3.0/psych-3.1.0
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/plist-3.5.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/parser-2.6.2.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/parallel_tests-2.28.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/parallel-1.17.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/mustache-1.1.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/mechanize-2.7.6/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/webrobots-0.1.2/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/ntlm-http-0.1.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/nokogiri-1.10.2/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/extensions/universal-darwin-18/2.3.0/nokogiri-1.10.2
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/mini_portile2-2.4.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/net-http-persistent-3.0.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/net-http-digest_auth-1.4.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/mime-types-3.2.2/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/mime-types-data-3.2019.0331/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/jaro_winkler-1.5.2/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/extensions/universal-darwin-18/2.3.0/jaro_winkler-1.5.2
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/http-cookie-1.0.3/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/hpricot-0.8.6/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/extensions/universal-darwin-18/2.3.0/hpricot-0.8.6
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/domain_name-0.5.20180417/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/unf-0.1.4/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/unf_ext-0.0.7.5/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/extensions/universal-darwin-18/2.3.0/unf_ext-0.0.7.5
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/diff-lcs-1.3/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/coveralls-0.8.22/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/thor-0.19.4/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/term-ansicolor-1.7.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/tins-1.20.2/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/simplecov-0.16.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/simplecov-html-0.10.2/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/docile-1.3.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/json-2.2.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/extensions/universal-darwin-18/2.3.0/json-2.2.0
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/connection_pool-2.2.2/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/backports-3.13.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/ast-2.4.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/activesupport-5.2.3/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/tzinfo-1.2.5/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/thread_safe-0.3.6/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/minitest-5.11.3/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/i18n-1.6.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.3.0/gems/concurrent-ruby-1.1.5/lib
/Library/Ruby/Site/2.3.0
/Library/Ruby/Site/2.3.0/x86_64-darwin18
/Library/Ruby/Site/2.3.0/universal-darwin18
/Library/Ruby/Site
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/vendor_ruby/2.3.0
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/vendor_ruby/2.3.0/x86_64-darwin18
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/vendor_ruby/2.3.0/universal-darwin18
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/vendor_ruby
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/x86_64-darwin18
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/universal-darwin18
/usr/local/Homebrew/Library/Homebrew
==> Environment Variables
LC_ALL="en_US.UTF-8"
PATH="/usr/local/Homebrew/Library/Homebrew/shims/scm:/usr/bin:/bin:/usr/sbin:/sbin"
SHELL="/bin/bash"

Output of brew tap

djl/apache2
homebrew/boneyard
homebrew/cask
homebrew/core
neovim/neovim
samueljohn/python
outdated

Most helpful comment

The 0.92.2 .dmg release works on Mojave. Can you try

rm -rf ~/.cache/fontconfig
rm -rf ~/.cache/inkscape
rm -rf ~/.config/inkscape
rm -rf ~/.config/gtk-2.0
rm ~/Library/Preferences/org.macosforge.xquartz.X11.plist
rm -rf ~/Library/Saved\ Application\ State/org.inkscape.Inkscape.savedState

reference: https://gitlab.com/inkscape/inbox/issues/404

edit: proper escaping

All 9 comments

Inkscape 0.92.4 works from MacPorts. No need for me to revert to High Sierra.

I'll leave this issue here for the Homebrew inkscape formula folks to pick up.

@vitorgalvao Would be nice if someone actually confirmed that the official 0.92.2 .dmg couldn't work at all on Mojave because it is 32-bit only and would spit out this error.

Since brew cask install actually does dispense that Inkscape 0.92.2 binary when asked to on Mojave, I was also wondering if brew cask install can do a simple check for Mojave and refuse to ship incompatible binaries. But I understand that it's trivial for end-users to just brew cask install and try the binaries out; it's not like brew cask install takes as long as a compile from source.

I do understand how MacPorts has it easier for compiling workable binaries compared with Homebrew. The trade-off is that MacPorts formulas pack in a lot of redundant stuff (multiple versions of the same dependencies).

I also understand that cask is different from formula. Cask just integrates the dispensation of binaries into Homebrew's syntax.

The 0.92.2 .dmg release works on Mojave. Can you try

rm -rf ~/.cache/fontconfig
rm -rf ~/.cache/inkscape
rm -rf ~/.config/inkscape
rm -rf ~/.config/gtk-2.0
rm ~/Library/Preferences/org.macosforge.xquartz.X11.plist
rm -rf ~/Library/Saved\ Application\ State/org.inkscape.Inkscape.savedState

reference: https://gitlab.com/inkscape/inbox/issues/404

edit: proper escaping

Can you please remove current Inskscape cask as is 32bit and unsigned, making it useless.

Can you please remove current Inskscape cask

How is the cask existing a disadvantage to you?

making it useless.

Our stats on its number of downloads tends to disagree.

30 days: 2,797 (#41)
90 days: 8,141 (#42)
365 days: 22,621 (#45)

I’m surprised that amongst so many users, there isn’t someone with the technical chops and a bit of time to help them make the builds. Maybe it‘s harder or take longer than what I’m imagining.

Downloads do not measure how many are able to use the app after they click download. While 32bit warnings is currently just a warning (failure in few months once 10.15 is released), the unsigned binary issue is really serious because it forced users to disable operating system projections in order to run a binary. It could also be malicious as well. Once they disable it, they will probably forget to put it back.

Regarding macports we have another example of dangereus approach: it requires sudo.

the unsigned binary issue is really serious because it forced users to disable operating system projections in order to run a binary. It could also be malicious as well. Once they disable it, they will probably forget to put it back.

You do not have to disable Gatekeeper entirely because you want to make an exception for a single app. You can either right-click open it once or use xattr -d com.apple.quarantine <THE APP>.

I’m surprised that amongst so many users, there isn’t someone with the technical chops and a bit of time to help them make the builds. Maybe it‘s harder or take longer than what I’m imagining.

I can tell you from first-hand experience (full disclosure: I am an Inkscape dev) that you got one thing right here: if nobody steps forward and puts in the necessary work, things simply don't get done. That is the reason why there haven't been application bundles since 0.92.2. The thing you got wrong is about how much time and effort is required.
But there's light at the end of the tunnel: Inkscape will return as proper macOS application bundle (not the 0.9x releases though).

Regarding macports we have another example of dangereus approach: it requires sudo.

You can use MacPorts without sudo. The only package I encountered that does not install correctly without is xinit (and it's documented). Granted, I have not seen the entirety of MacPorts, but I feel safe to assume that packages like xinit are the absolute minority.

While 32bit warnings is currently just a warning (failure in few months once 10.15 is released)

We officially support the current macOS version and the one before. So even when Catalina is released, this will still work in Mojave. And there are users on even older systems.

You can either right-click open it once

That’s even our official policy. @amyspark put a lot of work into making our Downloads quarantined so the user can make an informed decision.

We’ve decided long ago we’re not gatekeepers. Unless a piece of software has been proven to be malicious, it won’t be removed for being unsigned.

The thing you got wrong is about how much time and effort is required. (…) The thing you got wrong is about how much time and effort is required. (…) Inkscape will return as proper macOS application bundle

I’m unlikely to be of any help in the building, but I may be of assistance in making a build script if it’s possible to get it to an automatable point. I have a lot of experience with glue languages such as bash (I’ve also done makefiles, but that was a brief intense period a few years back) and making them take complete steps.

Was this page helpful?
0 / 5 - 0 ratings