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.

Reply via email to