Ancestris - Forum

Ancestris Support => ENGLISH => Topic started by: Maxwell487 on January 27, 2024, 13:52:18

Title: MacOs compatibility
Post by: Maxwell487 on January 27, 2024, 13:52:18
I run Mojave OS on my iMac. I have downloaded both Ancestris 11 and 12 for MacOs and I can't get either one to open. I read a topic here about java being important to this software being able to run on Macs. If so what old versions of Ancestris will work or alternatively which version of Java do I need. I'm not an expert on Mac software configuration so keep it simple! Thank you.
Title: Re: MacOs compatibility
Post by: Zurga on January 27, 2024, 14:06:55
You have to install Jave on your Mac.
Ancestris works from Java 8 to Java 21 (Java 17 is recommended).
After you should be able to run Ancestris.

The documentation step by step is here : https://docs.ancestris.org/books/user-guide/page/step-by-step-installation-on-macos

Zurga
Title: Re: MacOs compatibility
Post by: Maxwell487 on February 07, 2024, 13:31:23
Thanks for your reply Zurga, Ancestris now works. I have an iMac and I started with Java 21 but it did not work. i found out on Youtube how to remove it using Terminal. I then installed 17 according to your documentation link and all is now well. Many thanks.   
Title: Re : MacOs compatibility
Post by: Zurga on February 07, 2024, 13:36:36
Good news.

I hope the software will fill your needs.
Don't hesitate to ask if you have others questions.

Zurga
Title: Re: MacOs compatibility
Post by: gprovost on April 30, 2024, 12:54:23
Hello,

I am trying to run Ancestris 12 on Sonoma 14.4.1 but with java installed using sdkman (https://sdkman.io/) - as a java developper I often need to switch the java version

Running java -version gives
openjdk version "17.0.11" 2024-04-16 LTS
OpenJDK Runtime Environment Corretto-17.0.11.9.1 (build 17.0.11+9-LTS)
OpenJDK 64-Bit Server VM Corretto-17.0.11.9.1 (build 17.0.11+9-LTS, mixed mode, sharing)

Java SDK is available at the following location : ${SDKMAN_DIR}/candidates/java/current

When I start Ancestris I get the error message

Quote
JAVA is missing or not found. Ancestris requires JAVA.

Please install JAVA version 8, 11 or 17. Feel free to follow the Ancestris instructions in the online

-> I tried to export the variable jdkhome before starting the App but same error message ?
-> I tried to define a local config file under .ancestris/trunk/etc but same error message

Any idea ?

Regards
Title: Re: MacOs compatibility
Post by: Zurga on April 30, 2024, 13:32:42
Could you provide the line in "ancestris.conf" in ".ancestris/trunk/etc" for the jdkhome variable ?

Zurga
Title: Re: MacOs compatibility
Post by: gprovost on April 30, 2024, 14:09:31
there is no such folder created

in packege content : #jdkhome="/path/to/jdk"
Title: Re: MacOs compatibility
Post by: Zurga on April 30, 2024, 14:52:05
So, change the line to indicate your java home.

Alternatively, you can launch Ancestris with "-jdkhome" parameter and indicate the path to your Java installation.
For example : ancestris -jdkhome ${SDKMAN_DIR}/candidates/java/current

Zurga
Title: Re: MacOs compatibility
Post by: gprovost on May 01, 2024, 07:49:28
running the following command

Quote
open /Applications/Ancestris.app --args -jdkhome="${SDKMAN_DIR}/candidates/java/current"

Quote
open /Applications/Ancestris.app --args --jdkhome="${SDKMAN_DIR}/candidates/java/current"
gives the same error message

delete Ancestris12 and re-install Ancestris11 -> same error message
Title: Re: MacOs compatibility
Post by: Zurga on May 01, 2024, 09:38:22
Sorry, I'm not familiar with MacOS commands.
Are you sure for the "=" sign ?
Our recommandation is to put "Contents/Home" at the end of the path.
Could you try ?

Could you open a console and launch the ancestris script through the console with the -jdkhome parameter ?

Zurga
Title: Re: MacOs compatibility
Post by: FredericL on May 01, 2024, 10:32:40
Hi,

On MacOS, Ancestris.app is not a binary file that accepts command line parameters. So what you are trying to do will not work, and using "=" will not work either anyway. MacOS command lines are the same as Linux.

To launch Ancestris with a specific java pah, change the jdkhome variable in the user settings folder.
The file is in /Users/<yourname>/Library/Application Support/ancestris/trunk/etc/ancestris.conf.
To see the Library folder in the Finder, you need to press Command+J. It is hidden by default.

In the ancestris.conf file, change the jdkhome variable removing the # sign in front of the line.

See the doc here: https://docs.ancestris.org/books/user-guide/page/java-installation#bkmrk-cas-de-macos

Cheers,
Frederic

Title: Re: MacOs compatibility
Post by: gprovost on May 01, 2024, 12:42:36
Hello Frédéric

The file is in /Users/<yourname>/Library/Application Support/ancestris/trunk/etc/ancestris.conf.
-> this folder does not exist

but even If I create the folder "/Users/gprovost/Library/Application Support/ancestris/trunk/etc/ancestris.conf" and edit the conf files as follow : jdkhome="${SDKMAN_DIR}/candidates/java/current"
I still get the error message

java -version                                                                                                                                                                                                                                                                                                                 ─╯
openjdk version "17.0.11" 2024-04-16 LTS
OpenJDK Runtime Environment Corretto-17.0.11.9.1 (build 17.0.11+9-LTS)
OpenJDK 64-Bit Server VM Corretto-17.0.11.9.1 (build 17.0.11+9-LTS, mixed mode, sharing)

Is there a log file somewhere ?

Regards
Title: Re: MacOs compatibility
Post by: Zurga on May 01, 2024, 13:26:06
The log file should be in : /Users/gprovost/Library/Application Support/ancestris/trunk/var/log

I think the main trouble is the ${SDKMAN_DIR} which is not understood or translated by Netbeans program.
Ancestris relies on Netbeans (https://netbeans.apache.org/front/main/index.html )
Perhaps you can try to put the absolute path.
Even if you need to change Java version for your job, you don't needs to change of Java version for Ancestris.

Zurga
Title: Re: MacOs compatibility
Post by: FredericL on May 01, 2024, 13:28:08
java -version gives you the output of the default java version, which obviously is 17. Changing the jdkhome variable in ancestris.conf file has no impact on your default java installation which will remain 17 until you uninstall and reinstall another one. This is independent from Ancestris.

In your ancestris.conf file in the user folder, you need to explicit ${SDKMAN_DIR} with the absolute real path. Ancestris does not know what ${SDKMAN_DIR} means.

Regards,
Frederic
Title: Re: MacOs compatibility
Post by: gprovost on May 03, 2024, 07:46:58
even with the explicit path "/Users/gprovost/.sdkman/candidates/java/current" I get the same error message.

Question : when you install ancestris, the user settings folder /Users/gprovost/Library/Application Support/ancestris/trunk/etc should be automatically created by the app ? because this is not the case.
Title: Re: MacOs compatibility
Post by: FredericL on May 03, 2024, 07:58:16
It is created if you change some settings in the app. Not sure that it gets created by default, because if you do not change any setting, the application config file is enough.
Regarding the jave path you indicate (/Users/gprovost/.sdkman/candidates/java/current), are you sure it corresponds to a java path ? Because sometimes the bin is necessary, sometimes it should end with java only...

If you comment out the jdk_home variable (# at the beggining of the line) in both config files (user one and app one), does Ancestris find the default java version (the one you get when you type java -version on the console)? Because it should.

If it does, then it is just a question of forcing Ancestris to take another one with the jdk_home variable.

Regards,
Frederic
Title: Re: MacOs compatibility
Post by: Zurga on May 03, 2024, 09:31:01
Could you try this path please ?
/Users/gprovost/.sdkman/candidates/java/current/Content/Home

Zurga
Title: Re: MacOs compatibility
Post by: Reitermann on May 06, 2024, 14:04:03
On MacOS the path of the config is
/Applications/Ancestris.app/Contents/Resources/ancestris/etc/ancestris.conf
Title: Re: MacOs compatibility
Post by: gprovost on May 08, 2024, 13:25:49
Hello

I was able to update the conf file inside the app (show package content, ...) but I still get the error message

jdkhome="/Users/gprovost/.sdkman/candidates/java/current/bin/"

However launching the app from within the package content by clicking on "ancestris" opens a terminal that displays more infos

Quote
/Applications/Ancestris.app/Contents/Resources/ancestris/bin/ancestris ; exit;
 
 
Identifying path and application name:
   progdir=/Applications/Ancestris.app/Contents/Resources/ancestris/bin
   APPNAME=ancestris
 
Checking configuration file on progdir/../etc:
   Configuration file found. Executing it.
 
Identifying userdir from configuration file:
   userdir(from conf file)=/Users/gprovost/Library/Application Support/ancestris/trunk
   userdir(after argument overwrite)=/Users/gprovost/Library/Application Support/ancestris/trunk
 
Checking configuration file on userdir/etc:
   Configuration file from userdir not found.
 
Checking if jdkhome is defined: (for MacOS, /Contents/Home should be at the end)
   jdkhome=/Users/gprovost/.sdkman/candidates/java/current/bin/
 
Checking JAVA presence
   macOS...

   JAVA is NOT installed or not found! Please install it. Ancestris cannot start

as you can see jdkhome is correctly set but what is the meaning of "(for MacOS, /Contents/Home should be at the end)" ??? because there is no such folder within /Users/gprovost/.sdkman/candidates/java/current/bin/ ???????
Title: Re: MacOs compatibility
Post by: FredericL on May 08, 2024, 13:36:09
It is mentioned here in the doc:
https://docs.ancestris.org/books/user-guide/page/java-installation#bkmrk-cas-de-macos
But it depends of your java package actually which does not seem to be in a package.

So you might want to try something else than /Users/gprovost/.sdkman/candidates/java/current/bin/.
Try /Users/gprovost/.sdkman/candidates/java/current/ or /Users/gprovost/.sdkman/candidates/java/.
Cheers.