FreeCol / freecol

FreeCol: FreeCol is a turn-based strategy game based on the old game Colonization, and similar to Civilization. The objective of the game is to create an independent nation.
GNU General Public License v2.0
588 stars 173 forks source link

mac app is missing executable #20

Open LongboatAline opened 6 years ago

LongboatAline commented 6 years ago

Downloaded the mac.tar.bz2 of

A brief try on the .jar showed it unplayable on a notebook - while cursor control did work for n/s/w/e, specific keys for ne,se,sw,nw are missing, and remapping them had no effect.. G for Goto didn't work either, so it looks like movement is restricted to cardinal directions.

LongboatAline commented 6 years ago

The difference seems to be in the file Contents/Info.plist. Whereas 0.11.6 refers to Java, the Nightly release employs JavaX which, at least on my System running 10.11.6 doesn't seem to be found. It however works to use the Info.plist from Version 0.11.6, and to create the soft link MacOS/FreeCol pointing to /System/Library/Frameworks/JavaVM.framework/Resources/MacOS/JavaApplicationStub

HighwayofLife commented 6 years ago

Hmm, ok, thanks. I'll take a look at that.

Calebrw commented 6 years ago

Just an FYI on this. I don't think there has ever been a Mac OSX developer. At least not for 10+ years.

paulvi commented 5 years ago

This issue is the one holding 0.12 milestone, isn't it ?

https://github.com/FreeCol/freecol/milestone/1

wintertime commented 4 years ago

This issue is the one holding 0.12 milestone, isn't it ?

https://github.com/FreeCol/freecol/milestone/1

AFAIK, there are other issues, but I'm not up to date myself on which those are currently. There is some older talk on the sourceforge mailing list and most of the bugs are reported in tickets there. https://sourceforge.net/p/freecol/mailman/freecol-developers/ https://sourceforge.net/p/freecol/bugs/

LongboatAline commented 4 years ago

Using universalJavaApplicationStub seems to have addressed this issue.

Trying out the nightly realease as of 2020-05-26 the configuration seems to have problems in finding its jar file, though:

open FreeCol.app
LSOpenURLsWithRole() failed with error -10810 for the file /Applications/Games/FreeCol.app.

Calling the startup script directly gives a less ominous error:

./universalJavaApplicationStub: line 184: 31m: command not found
...
Error: Could not find or load main class net.sf.freecol.FreeCol
Caused by: java.lang.ClassNotFoundException: net.sf.freecol.FreeCol

The 31m: command not found warnings are a hint to the cause of the problem: in Info.plist, the ClassPath is returning an array, listing the contents of the directories containing the jars. if the ClassPath is set to a string pointing at the Freecol.jar file, startup is successful.

From my modified Info.plist file

      <key>ClassPath</key>
      <string>$JAVAROOT/FreeCol.jar</string>

PS: you might also consider updating the universalJavaApplicationStub - it is currently at 3.0.6 compared to the 2.0.2 currently in use.

Thanks a lot for addressing this issue and still supporting the MacOS X platform!

mpope042 commented 4 years ago

Problem 1: I know nothing about mac packaging.

Problem 2: There is no Info.plist file in our source tree, that must be being generated by our mac build process... see Problem 1. I am to make changes here, but it will need to be in terms of something I can see in our sources. Please advise.

Progress: however the universalJavaApplicationStub is present in the source tree, and has now been updated (git.e9158e0).