When I try to launch (double-click or CLI), ancestris fails silently with "No X11 DISPLAY variable was set, or no headful library support was found, but this program performed an operation which requires it".
Which Operating System? : Linux
Which version of the O.S.? : Ubuntu 24.04
Which version of Ancestris? : Ancestris-13 26-81d21190648c8a1bae92bc9cdb0bb9783ae4912f (From ZIP)
What is your Java version? : java-21-openjdk-amd64
What are the windows opened on your Ancestris application? : N/A
This bug is related to the application itself or a plugin? : the application itself
If you use the beta version, do you update Ancestris each time a new version is available? : I am a first-time user
What is the process that makes the bug to appear (the more details you can give, the better it is) :
~/src/ancestris$ echo $DISPLAY
:0
~/src/ancestris$ sudo X -version
X.Org X Server 1.21.1.11
X Protocol Version 11, Revision 0
Current Operating System: Linux Latitude-E6440 6.11.0-25-generic #25~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Apr 15 17:20:50 UTC 2 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.11.0-25-generic root=UUID=e2034979-72e0-4f9f-8a87-2c7bcc2a1d78 ro quiet splash vt.handoff=7
xorg-server 2:21.1.12-1ubuntu1.3
Current version of pixman: 0.42.2
~/src/ancestris$ dpkg -l | grep xorg-core
ii xserver-xorg-core 2:21.1.12-1ubuntu1.3 amd64 Xorg X server - core server
~/src/ancestris$ cd bin
~/src/ancestris/bin$ ./ancestris
Identifying path and application name:
progdir=.
APPNAME=ancestris
Checking configuration file on progdir/../etc:
Configuration file found. Executing it.
Identifying userdir from configuration file:
userdir(from conf file)=~/.ancestris/trunk
userdir(after argument overwrite)=~/.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=/usr/lib/jvm/java-21-openjdk-amd64
Checking JAVA presence
Linux...
================================================================
openjdk version "21.0.7" 2025-04-15
OpenJDK Runtime Environment (build 21.0.7+6-Ubuntu-0ubuntu124.04)
OpenJDK 64-Bit Server VM (build 21.0.7+6-Ubuntu-0ubuntu124.04, mixed mode, sharing)
================================================================
Found JAVA executable in PATH
JAVA is installed.
JAVA version is more than 1.8
Defining clusters:
clusters=~/src/ancestris/ancestris:~/src/ancestris/harness:
Defining exec command:
nbexec=./../platform/lib/nbexec
Running exec command:
=> Linux system detected...
Command to be executed:
exec /bin/bash './../platform/lib/nbexec' --jdkhome '/usr/lib/jvm/java-21-openjdk-amd64' --clusters '~/src/ancestris/ancestris:~/src/ancestris/harness:' --userdir '~/.ancestris/trunk' --branding ancestris -J-Xms96m -J-Xmx1g --laf javax.swing.plaf.nimbus.NimbusLookAndFeel -J-XX:+IgnoreUnrecognizedVMOptions -J-XX:+UseStringDeduplication -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.zip.disableMemoryMapping=true -J--add-opens=java.base/java.net=ALL-UNNAMED -J--add-opens=java.base/java.lang.ref=ALL-UNNAMED -J--add-opens=java.base/java.lang=ALL-UNNAMED -J--add-opens=java.base/java.util=ALL-UNNAMED -J--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED -J--add-opens=java.prefs/java.util.prefs=ALL-UNNAMED -J--add-exports=java.management/sun.management=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.text=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.plaf.synth=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED -J--add-opens=java.desktop/java.awt=ALL-UNNAMED -J--add-opens=java.desktop/java.awt.event=ALL-UNNAMED -J--add-exports=java.desktop/java.awt.peer=ALL-UNNAMED -J--add-exports=java.desktop/com.sun.beans.editors=ALL-UNNAMED -J--add-exports=java.desktop/sun.swing=ALL-UNNAMED -J--add-exports=java.desktop/sun.awt=ALL-UNNAMED -J--add-exports=java.desktop/sun.awt.im=ALL-UNNAMED -J--add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED -J--add-opens=java.desktop/sun.awt.shell=ALL-UNNAMED -J--add-opens=java.desktop/com.sun.java.swing.plaf.gtk=ALL-UNNAMED -J--add-opens=java.desktop/com.sun.java.swing.plaf.motif=ALL-UNNAMED
Backtrace in the log file :
java.awt.HeadlessException:
No X11 DISPLAY variable was set,
or no headful library support was found,
but this program performed an operation which requires it,
at java.desktop/sun.awt.HeadlessToolkit.getScreenResolution(HeadlessToolkit.java:122)
at genj.renderer.RenderOptions.<init>(RenderOptions.java:53)
at genj.renderer.RenderOptions.<clinit>(RenderOptions.java:46)
Caused: java.lang.ExceptionInInitializerError
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1160)
at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.ensureClassInitialized(MethodHandleAccessorFactory.java:300)
at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.newConstructorAccessor(MethodHandleAccessorFactory.java:103)
at java.base/jdk.internal.reflect.ReflectionFactory.newConstructorAccessor(ReflectionFactory.java:200)
at java.base/java.lang.reflect.Constructor.acquireConstructorAccessor(Constructor.java:549)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:789)
(Full messages.log is attached)