tag: control -1 + patch
On 2026-06-09 22:50, Aurelien Jarno wrote:
> Hi,
>
> On 2026-06-08 13:37, Sebastian Ramacher wrote:
> > Source: java3d
> > Version: 1.5.2+dfsg-18
> > Severity: serious
> > Tags: ftbfs
> > Justification: fails to build from source (but built successfully in the
> > past)
> > X-Debbugs-Cc: [email protected]
> > User: [email protected]
> > Usertags: i386
> >
> > Dear maintainer,
> >
> > java3d FTBFS on i386:
> >
> > make[1]: Leaving directory '/build/reproducible-path/java3d-1.5.2+dfsg'
> > jh_build -a -O--buildsystem=ant
> > dh_auto_test -a -O--buildsystem=ant
> > create-stamp debian/debhelper-build-stamp
> > dh_testroot -a -O--buildsystem=ant
> > dh_prep -a -O--buildsystem=ant
> > debian/rules override_dh_auto_install-arch
> > make[1]: Entering directory '/build/reproducible-path/java3d-1.5.2+dfsg'
> > install -m 644 -D j3d-core/build/default/opt/native/libj3dcore-ogl.so \
> > debian/libjava3d-jni/usr/lib/jni/libj3dcore-ogl.so
> > install: cannot stat 'j3d-core/build/default/opt/native/libj3dcore-ogl.so':
> > No such file or directory
> > make[1]: *** [debian/rules:25: override_dh_auto_install-arch] Error 1
> > make[1]: Leaving directory '/build/reproducible-path/java3d-1.5.2+dfsg'
> >
> > See
> > https://buildd.debian.org/status/fetch.php?pkg=java3d&arch=i386&ver=1.5.2%2Bdfsg-18%2Bb1&stamp=1780902151&raw=0
> > for details.
>
> The issue has been introduced by the switch of the default jdk to
> openjdk-25 in java-common 0.77.
And this happened because openjdk-25 dropped support for hotspot on
armhf and i386 compared to openjdk-21, so zero is used instead.
The patch below adjust the build config files, while keeping
compatibility with both hotspot and zero:
--- java3d-1.5.2+dfsg.orig/j3d-core/src/native/ogl/build-linux-generic.xml
+++ java3d-1.5.2+dfsg/j3d-core/src/native/ogl/build-linux-generic.xml
@@ -29,7 +29,7 @@
<!-- Create the library file-->
<exec dir="${build}/${platform}/${bldType}/native/ogl/objs"
executable="gcc">
- <arg line="-shared DrawingSurfaceObjectAWT.o Canvas3D.o
GraphicsContext3D.o NativeScreenInfo.o NativeConfigTemplate3D.o
MasterControl.o GeometryArrayRetained.o Attributes.o CgShaderProgram.o
GLSLShaderProgram.o Lights.o -Wl,-z,defs -L/usr/X11R6/lib -ldl -lGL -lX11
-lXext -lm -lnsl -L${java.home}/lib/${os.arch} -L${java.home}/lib -ljawt
-L${java.home}/lib/${os.arch}/server -L${java.home}/lib/${os.arch}/client
-L${java.home}/lib/server -L${java.home}/lib/client -ljvm -o
libj3dcore-ogl.so"/>
+ <arg line="-shared DrawingSurfaceObjectAWT.o Canvas3D.o
GraphicsContext3D.o NativeScreenInfo.o NativeConfigTemplate3D.o
MasterControl.o GeometryArrayRetained.o Attributes.o CgShaderProgram.o
GLSLShaderProgram.o Lights.o -Wl,-z,defs -L/usr/X11R6/lib -ldl -lGL -lX11
-lXext -lm -lnsl -L${java.home}/lib/${os.arch} -L${java.home}/lib -ljawt
-L${java.home}/lib/${os.arch}/server -L${java.home}/lib/${os.arch}/client
-L${java.home}/lib/${os.arch}/zero -L${java.home}/lib/server
-L${java.home}/lib/client -L${java.home}/lib/zero -ljvm -o libj3dcore-ogl.so"/>
</exec>
</target>
--- java3d-1.5.2+dfsg.orig/j3d-core/src/native/ogl/build-linux-i586.xml
+++ java3d-1.5.2+dfsg/j3d-core/src/native/ogl/build-linux-i586.xml
@@ -30,7 +30,7 @@
<!-- Create the library file-->
<exec dir="${build}/${platform}/${bldType}/native/ogl/objs"
executable="ld">
- <arg line="DrawingSurfaceObjectAWT.o Canvas3D.o GraphicsContext3D.o
NativeScreenInfo.o NativeConfigTemplate3D.o MasterControl.o
GeometryArrayRetained.o Attributes.o CgShaderProgram.o GLSLShaderProgram.o
Lights.o -G -z defs -L/usr/X11R6/lib -ldl -lGL -lX11 -lXext -lm -lnsl -lc
-L${java.home}/lib/i386 -L${java.home}/lib -ljawt
-L${java.home}/lib/i386/server -L${java.home}/lib/server -ljvm -o
libj3dcore-ogl.so"/>
+ <arg line="DrawingSurfaceObjectAWT.o Canvas3D.o GraphicsContext3D.o
NativeScreenInfo.o NativeConfigTemplate3D.o MasterControl.o
GeometryArrayRetained.o Attributes.o CgShaderProgram.o GLSLShaderProgram.o
Lights.o -G -z defs -L/usr/X11R6/lib -ldl -lGL -lX11 -lXext -lm -lnsl -lc
-L${java.home}/lib/i386 -L${java.home}/lib -ljawt
-L${java.home}/lib/i386/server -L${java.home}/lib/i386/zero
-L${java.home}/lib/server -L${java.home}/lib/zero -ljvm -o libj3dcore-ogl.so"/>
</exec>
</target>
I successfully tested it on arm64, armhf, i386 and riscv64.
Regards
Aurelien
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
[email protected] http://aurel32.net
__
This is the maintainer address of Debian's Java team
<https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-java-maintainers>.
Please use
[email protected] for discussions and questions.