Ancestris - Forum
Ancestris Support => ENGLISH => Topic started 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.
-
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
-
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.
-
Good news.
I hope the software will fill your needs.
Don't hesitate to ask if you have others questions.
Zurga
-
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
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
-
Could you provide the line in "ancestris.conf" in ".ancestris/trunk/etc" for the jdkhome variable ?
Zurga
-
there is no such folder created
in packege content : #jdkhome="/path/to/jdk"
-
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
-
running the following command
open /Applications/Ancestris.app --args -jdkhome="${SDKMAN_DIR}/candidates/java/current"
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
-
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
-
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
-
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
-
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
-
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
-
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.
-
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
-
Could you try this path please ?
/Users/gprovost/.sdkman/candidates/java/current/Content/Home
Zurga
-
On MacOS the path of the config is
/Applications/Ancestris.app/Contents/Resources/ancestris/etc/ancestris.conf
-
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
/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/ ???????
-
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.