Comment 2 for bug 1478053

Revision history for this message
su_v (suv-lp) wrote : Re: Mac OS 10.10.4 Inkscape 0.91 never launches

On 2015-07-24 17:32 (+0200), playmeforafool wrote:
> Inkscape works fine on my Mac Mini which has been progressively
> upgraded to 10.10.4, so I'm not sure why these 2 new "pristine"
> versions are having problems.

This, and the fact that similar questions started to get asked on the irc channel shortly after Apple released the latest OS X update for Yosemite (10.10.4), indicates to me that there had been internal changes by Apple in that specific OS X update (likely related to Gatekeeper (?)) which apparently prevent the unsigned Inkscape.app from launching (at least on some systems).

At this point I have no idea what might have changed, nor what a possible solution might be (for the existing Inkscape package, and for future releases) - I also don't have access to a system with OS X Yosemite installed (neither to one which was progressively updated to 10.10.4, nor to one with a newly installed system).

At what point and how did you attempt to bypass Gatekeeper for Inkscape.app on the two new Macs with Yosemite 10.10.4? The application is not signed, and in the past bypassing Gatekeeper per app (launched from the Finder via 'Open' in its context menu) or with Gatekeeper temporarily disabled in the System Preferences (allow from 'Anywhere') seemed to register and work just ok.

Gatekeeper information per app can be retrieved in the Terminal e.g. with this command:
$ spctl -a -vv /Applications/Inkscape.app

Just curious - at least two users on the irc channel confirmed that the following steps allowed to launch the app despite regular launching (double-click on the app in the Finder) did not (the instructions were only given for debugging purposes, and are _not_ meant as a solution for regular users). Would you mind testing this on one of the affected Yosemite systems?
1) In the Finder, browse to the folder where you installed Inkscape (usually /Applications)
2) select Inkscape, open the content menu and use 'Show Package Contents'
3) inside the app bundle, browse to 'Contents > MacOS'
4) double-click 'Inkscape' in that folder
The last step will open a non-interactive Terminal window displaying all console messages (it can be closed once Inkscape.app is quit). Note that if this is the first run of Inkscape.app by the current user, the initial launch can take several minutes until the caches for fontconfig are built. Subsequent launches are faster.

--
Internally, the steps to launch the main Inkscape process are rather convoluted (mostly for legacy reasons):
- Inkscape.app/Contents/MacOS/Inkscape - the app launcher (binary), registers Apple event handlers (for opening files with 'Open with', for drag&drop on the app icon), then launches a shell script:
- Inkscape.app/Contents/Resources/script - bash script, sets user env for config and cache, creates hidden folders in $HOME if not already present, checks whether to alert the user about initial building of font caches, runs an AppleScript-based dialog if this hasn't been shown yet, finally exec's yet another shell script:
- Inkscape.app/Contents/Resources/bin/inkscape - shell script, sets up the specific environment for Inkscape, and in the end exec's the actual binary:
- Inkscape.app/Contents/Resources/bin/inkscape-bin - main inkscape binary, triggers the auto-launch of X11/XQuartz.
('inkscape-bin' needs to be launched by the chained shell scripts - otherwise the environment is not set up correctly)