Kepler will not start (OS X 10.52) as JavaApplicationStub is not executable
As installed, I could not run Kepler at all. Nothing in the GUI indicated why it didn't start, but a permission error is generated to the console. I think the Kepler.app/Contents/MacOS/JavaApplicationStub needs to be executable. As installed it was not. When I set the permissons to executable, it worked. In summary the work-arround was:
sudo chmod +x /Applications/Kepler/Kepler.app/Contents/MacOS/JavaApplicationStub
I am using:
Mac OsX Leopard 10.5.2 on an (Intel based) MacBook Pro.
Java version "1.5.0_13"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05-237)
Java HotSpot(TM) Client VM (build 1.5.0_13-119, mixed mode, sharing)
Associated error reported as a console message:
posix_spawnp("/Applications/Kepler/Kepler.app/Contents/MacOS/JavaApplicationStub", ...): Permission denied
As a side note (and possible avoiding future problems), I wanted to pass along some of the information I found while investigating this. I ran into all kinds of information on OS X "system specific" java dependencies. When applied to OS X, "write once, run everywhere" seems to have left out a piece in the middle - "package separately for every version and every system". I don't know how the Kepler bundle for mac is created, but the JavaApplicationStub file appears to be copied from the OS by the Jar Bundler application, and this can be different on different versions of mac, especially between PPC and INTEL versions. What that means is not clear to me, but it seems to have caused problems in the past for other people. Using Eclipse to diff my system framework version and the one provided with Kepler indicated small differences between the two binary files, unfortunately none in clear ascii-translatable regions.
There is also a "JavaApplicationStub64" that complicates things going forward. A web page explaining some of the background is http://developer.apple.com/java/javaleopard.html. I have never seen such a short Google listing as generated for a single term as for "JavaApplicationStub64". 17 hits, with only 9 in english.
Thanks for the interesting application. I am looking forward to working with this.
#1 Updated by Dan Higgins over 13 years ago
At least at some point in the past, I ran into this problem and had added a task to the installer to make the JavaApplicationStub executable. Also, I did NOT see this problem when I installed the 1.0 release of Kepler on a Mac similarly configured, so maybe this is not a universal problem.
#3 Updated by Stuart Jefferys over 13 years ago
I figured out what is at the root of this issue. I use a CASE-SENSITIVE file system. I bet the test mac systems are not. I uninstalled and reinstalled Kepler, and payed more attention to the error messages. The installer can not find
because the app should be
This prevents cp from copying into the app bundle the following: Kepler/lib/libproj.0.dylib, libgeos_c.1.dylib, libgeos.2.dylib, libgdal.1.dylib, and libexpat.1.dylib. It also prevents chmod from working on Kepler/kepler.sh and Contents/MacOS/JavaApplicationStub, which caused the primary symptom.
Hopefully this is easy to fix.
#4 Updated by Stuart Jefferys over 13 years ago
Actually, It seems as if the copy is OUT of the Kepler/lib directory, but either way, it didn't happen on my Mac. The ~/lib directory is empty. Thanks for lib/library_readme.txt file. Hopefully I have copied the needed libraries over manually. Everything SEEMS to work fine.