SWI-Prolog / swipl-devel

SWI-Prolog Main development repository
http://www.swi-prolog.org
Other
930 stars 167 forks source link

Mac: "SWI-Prolog" cannot be opened because the developer cannot be verified. #1288

Open munro opened 1 month ago

munro commented 1 month ago

Hello! On macOS, when I open SWI-Prolog downloaded from the official stable release, I get a warning:

"SWI-Prolog" cannot be opened because the developer cannot be verified.

macOS cannot verify that this app is free from malware.
Screenshot 2024-06-14 at 7 14 58 PM

I've downloaded https://www.swi-prolog.org/download/stable/bin/swipl-9.2.5-1.fat.dmg from https://www.swi-prolog.org/download/stable

Which is fine, I can right click and open, to open it anyways. But this issue all stemmed from trying to add it as a cask to homebrew so that's it's easy to install and be able to use gtrace (the formula in homebrew core currently doesn't have the X extensions built in).

From what I understand, it is built without a mac developer license — I know this is kind of a PITA, and the license costs 99 USD/yr. But it would be nice if it was signed so users don't get this scary popup, and it can be included into homebrew.


Here is the relevant homebrew PR to add the SWI-Prolog GUI version as a cask: https://github.com/Homebrew/homebrew-cask/pull/176803

And the error saying to contact upstream developers to see if the package can get signed & notarized 🥺

 - Signature verification failed:
/private/tmp/cask-audit20240614-6312-g0ks2n/SWI-Prolog.app: rejected

macOS on ARM requires software to be signed.
Please contact the upstream developer to let them know they should sign and notarize their software.

https://github.com/Homebrew/homebrew-cask/actions/runs/9523416525/job/26254792782?pr=176803#step:9:19

JanWielemaker commented 1 month ago

Yes. This is a PITA :cry: . I was not aware that it gets even more serious with MacOS on ARM. There is some detail in https://www.msweet.org/blog/2020-12-10-macos-notarization.html. One of the remarks in there is that notarized runtimes do not support dynamic loading. That would be a bummer.

If you have experience with or pointers to setting this up for a programming environment or similar software that is built using CMake (rather than Xcode), please share. The $99 is manageable, although a personal license is not very clean for an open source project ...