I'd like to avoid changing gatekeeper, and I have found a better workaround.

Here is how I did it.

I put a couple of echo/ls/find in the file Contents/MacOS/apprun.
It seems that the file, apprun, is actually executed, but under a randomized 
path
   
/private/var/folders/by/jk5xgnj97nl02cvclq2bz81r0000gn/T/AppTranslocation/5094776E-F5A3-466D-AC66-29F37B3105A1/d/jqt.app/

and when it runs, it only sees all the files under the jqt.app directory, so 
the path
   "`dirname "$0"`/../../../bin/jqt.command"

is invalid and does not point to the actual jqt.command file.

So I did the simplest thing, and moved the j64-805 directory under 
jqt.app/Contents/Resources, and changed the file content of 
jqt.app/Contents/MacOS/apprun to
#!/bin/sh
"`dirname "$0"`/../Resources/j64-805/bin/jqt.command"

This is what you get from running the modified jqt.app
    JVERSION
Engine: j805/j64/darwin
Beta-12: commercial/2016-09-30T16:11:35
Library: 8.05.05
Qt IDE: 1.5.2s/5.6.1
Platform: Darwin 64
Installer: J805 install
InstallPath: 
/private/var/folders/by/jk5xgnj97nl02cvclq2bz81r0000gn/t/apptranslocation/de44ca3a-ef9e-441b-9716-2f0edae0a68a/d/jqt.app/contents/resources/j64-805
Contact: www.jsoftware.com
   1!:43''
/private/var/folders/by/jk5xgnj97nl02cvclq2bz81r0000gn/T/AppTranslocation/DE44CA3A-EF9E-441B-9716-2F0EDAE0A68A/d/jqt.app/Contents/Resources/j64-805/bin

Every time it runs, it will have a different install path, and a different 
current working directory.

I guess jsoftware may have to repackage the distribution in some way.

On the other hand, I build apps from macports all the time, and they all work 
fine, so there may be an easier way to do it.

> On Oct 3, 2016, at 9:27 PM, Norman Drinkwater <[email protected]> wrote:
> 
> The j805_mac64.dmg works perfectly on OSX Mavericks and El Capitan. I tried 
> to install it on the new version, Sierra, and it doesn't work. 
> Double-clicking jqt(.app) does nothing, even when you right-click open 
> (required for first run on earlier versions of osx). Opening a terminal and 
> starting jqt.command, the jqt terminal opens but none of the menu items can 
> be selected.
> 
> The problem is that Apple made changes to Gatekeeper in Sierra. First, it 
> disables applications from unregistered developers. Then, if you do copy one 
> from a dmg, it randomizes the location of the app-giving the behavior 
> described above. Here is a workaround: 
> From a terminal do
> sudo spctl --master-disable
> 
> Now open the j805_mac64.dmg and copy the j64-805 folder to your home 
> directory. Right-click open the jqt.app. J will start and everything will 
> work fine. You can re-enable Gatekeeper by running sudo spctl --master-enable 
> Your J install will continue to work.
> Norman 
> 
>> On Oct 3, 2016, at 9:04 PM, Xiao-Yong Jin <[email protected]> wrote:
>> 
>> I forgot to say that I'm running Sierra.
>> What is the more complicated workaround?
>> 
>>> On Oct 3, 2016, at 8:52 PM, Norman Drinkwater <[email protected]> 
>>> wrote:
>>> 
>>> Which version of OSX are you running? Since jqt is not signed, there are 
>>> some issues with Gatekeeper. Up to Sierra, you could right click on jqt.app 
>>> and choose open. After accepting the warning, jqt will run fine. If you are 
>>> running Sierra, Gatekeeper is more aggressive and a more complicated 
>>> workaround is required.
>>> Norman 
>>> 
>>>> On Oct 3, 2016, at 7:38 PM, Xiao-Yong Jin <[email protected]> wrote:
>>>> 
>>>> I downloaded the new beta build for mac64, both the AIO and zip.  None of 
>>>> the j*.app can be opened.  I got
>>>> 
>>>> $ open -a /Applications/j64-805/jqt.app                  
>>>> LSOpenURLsWithRole() failed for the application 
>>>> /Applications/j64-805/jqt.app with error -10810.
>>>> 
>>>> And the same error with other j*.app.
>>>> 
>>>> Although directly executing bin/jqt.command works, and gives me
>>>> 
>>>> JVERSION
>>>> Engine: j805/j64/darwin
>>>> Beta-12: commercial/2016-09-30T16:11:35
>>>> Library: 8.05.05
>>>> Qt IDE: 1.5.2s/5.6.1
>>>> Platform: Darwin 64
>>>> Installer: J805 install
>>>> InstallPath: /applications/j64-805
>>>> Contact: www.jsoftware.com
>>>> 
>>>> Running bin/jconsole directly also works.
>>>> 
>>>> Best,
>>>> Xiao-Yong
>>>> 
>>>> ----------------------------------------------------------------------
>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> 
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to