The application “Tales of Androgyny Mac v0.3.01.0” can’t be opened.
No other errors, just that when attempting to run on Mac.
MacOS Catalina, 10.15.7
A game about birds, bees, flowers and trees. · By
You get this message when the macOS binary inside the *.app doesn't have the execute permission
You can fix this using the chmod command
1. Open Terminal application (it's under /Applications/Utilities/ or you can spotlight search it)
2. In Finder, browse to the application that cannot be open
3. Back to Terminal, type cd then hit the spacebar, drag the application from Finder into the Terminal window to fill the path, and hit the enter key
4. chmod +x Contents/MacOS/TalesOfAndrogyny
First-run applications under macOS might not open (including the jar file). Two ways to override this
(You can wait to do this after the download through step 12 so the application actually runs, or before step 5)
1. Open the application, let it fail the first time (wait for a dialog), then right click the app > Open, then Open
2. Open the application, let it fail the first time (wait for a dialog), then System Preferences > Security & Privacy > General tab > Open Anyway, then Open
You can get more information if you run the executable through Terminal
5. Contents/MacOS/TalesOfAndrogyny
When I ran the executable under Terminal, I got
dlopen(jre/lib/jli/libjli.dylib, 1): image not found
Error: failed to load VM runtime library!
Download the JRE (Java SE Runtime Environment 8u221)
https://javadl.oracle.com/webapps/download/GetFile/1.8.0_221-b11/230deb18db3e401...
6. Extract it
7. Open the directory and then Contents
8. Copy the Home folder
9. Go back to the application, right click on it > Show Package Contents > Contents > Resources
10. Either remove the jre folder or rename it something else
11. Paste the Home folder under Resources
12. Rename Home to jre
Umm, what is happening? Did you apply the execute flag via chmod command and replace the internal jre folder with a new one? MacOS version? Right click on the app, "Show Package Contents", open Contents folder, open MacOS folder, in your Dock on the left is Finder, on the right of it is Launchpad, once you click on that, search for "Terminal" until you see the Terminal application and click on it. In Finder, drag the file inside the (opened) MacOS folder in the Terminal window, and with Terminal active (in the foreground aka click on the Terminal window or click on the app in the Dock) then hit the enter / return key. Any errors?
Copy pasted from my other posts, just use one of these. You literally just copy below the bold, paste it in Terminal, and hit the enter key. The order doesn’t matter. Also a heads up, a choose dialog will pop up... The purpose is to tell the code what to fix by you selecting the application to work on (the one that fails to run). This means it’s going to be the first thing you do in order to figure out what’s wrong with the application (preparations), but because we know what's wrong with it (the jre), either order would work
The long version (walk you through some things):
clear; printf "\nYou only need to run this just once. If the app launches correctly, you can just double click / launch the app now\n\nThis will give executables within the app directory the execution permission via chmod command. Afterwards this will remove the extended attribute com.apple.quarantine from a new app that keeps it from opening automatically (prevents you from opening it)\n\nIf the app doesn't launch, you can check inside an application by right clicking it > Show Package Contents, open Contents, open MacOS, drag the executable file into a Terminal window, and hit enter. If there are multiple files go back to the Contents directory (you can use Command + Up Arrow and Command + Down Arrow to go up and down directories), select Info.plist, remind yourself the string value after CFBundleExecutable, then use the spacebar on the selected item to toggle Quicklook. The string value after CFBundleExecutable is the name of the file inside the MacOS folder you want to drag into a Terminal window and enter. Running the executable under Terminal can output information when the app fails to run correctly\n\nHit the enter / return key when ready"; read; printf "\nSelect the application that cannot open\n\n"; a="$(osascript -e 'POSIX path of (choose file default location (path to downloads folder) of type "APPL" with prompt "Select the application that cannot open")')"; if [[ $? -eq 0 ]]; then printf "(Re)Applying the execution permission to executable files..."; while read f; do if [[ "$(file -b "$f")" =~ "Mach-O 64-bit executable x86_64" ]]; then chmod +x "$f"; fi; done < <(find "$a"); if [[ $? -eq 0 ]]; then printf "done\n"; printf "\nRemoving extended attribute com.apple.quarantine from app..."; if [[ "$(xattr "$a")" =~ "com.apple.quarantine" ]]; then xattr -r -d com.apple.quarantine "$a"; printf "done\n"; else printf "already removed\n"; fi; printf "\nPlease wait until application launches..."; open "$a"; printf "done\n"; fi; fi; printf "\n"
The short version (just run but without the helpful info):
printf "\nSelect the application that cannot open\n\n"; a="$(osascript -e 'POSIX path of (choose file default location (path to downloads folder) of type "APPL" with prompt "Select the application that cannot open")')"; if [[ $? -eq 0 ]]; then printf "(Re)Applying the execution permission to executable files..."; while read f; do if [[ "$(file -b "$f")" =~ "Mach-O 64-bit executable x86_64" ]]; then chmod +x "$f"; fi; done < <(find "$a"); if [[ $? -eq 0 ]]; then printf "done\n"; printf "\nRemoving extended attribute com.apple.quarantine from app..."; if [[ "$(xattr "$a")" =~ "com.apple.quarantine" ]]; then xattr -r -d com.apple.quarantine "$a"; printf "done\n"; else printf "already removed\n"; fi; printf "\nPlease wait until application launches..."; open "$a"; printf "done\n"; fi; fi; printf "\n"