Re: git: 35901ec12998 - main - java/java3d: Fix build with lld

From: Vladimir Druzenko <vvd_at_freebsd.org>
Date: Sat, 27 Sep 2025 12:36:19 UTC
27.09.2025 00:05, Tijl Coosemans пишет:
> The branch main has been updated by tijl:
>
> URL: https://cgit.FreeBSD.org/ports/commit/?id=35901ec129986f9f9d26f75b8dbeb2d5e6b6faf4
>
> commit 35901ec129986f9f9d26f75b8dbeb2d5e6b6faf4
> Author:     Tijl Coosemans <tijl@FreeBSD.org>
> AuthorDate: 2025-08-13 15:51:44 +0000
> Commit:     Tijl Coosemans <tijl@FreeBSD.org>
> CommitDate: 2025-09-26 20:58:16 +0000
>
>      java/java3d: Fix build with lld
>      
>      Replace Solaris -G flag with -shared.
> ---
>   java/java3d/Makefile            | 3 +--
>   java/java3d/files/patch-freebsd | 4 ++--
>   2 files changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/java/java3d/Makefile b/java/java3d/Makefile
> index a917ead6a2a3..2e0870bdef76 100644
> --- a/java/java3d/Makefile
> +++ b/java/java3d/Makefile
> @@ -1,6 +1,6 @@
>   PORTNAME=	java3d
>   PORTVERSION=	1.5.2
> -PORTREVISION=	9
> +PORTREVISION=	10
>   CATEGORIES=	java graphics games devel
>   MASTER_SITES=	https://sites.google.com/site/daemonwizard/
>   
> @@ -20,7 +20,6 @@ JAVA_VERSION=	8
>   USE_GL=		gl
>   USE_XORG=	xt
>   JAVA_VENDOR=	openjdk
> -LLD_UNSAFE=	yes
>   NO_SHLIB_REQUIRES_GLOB=	libjawt.so libjvm.so
>   
>   PLIST_SUB+=	JAVA_HOME=${JAVA_HOME:S/^${PREFIX}\///} ARCH=${ARCH}
> diff --git a/java/java3d/files/patch-freebsd b/java/java3d/files/patch-freebsd
> index e11a2df2c13c..51aeaa4399a5 100644
> --- a/java/java3d/files/patch-freebsd
> +++ b/java/java3d/files/patch-freebsd
> @@ -131,7 +131,7 @@ diff -ruN ../java3d-1.5.2/j3d-core/src/native/ogl/build-freebsd.xml ./j3d-core/s
>   +
>   +    <!-- 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${ports.localbase}/lib -lGL -lX11 -lXext -lm -lc -L${java.home}/lib/${os.arch} -ljawt -L${java.home}/lib/${os.arch}/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 -shared -z defs -L${ports.localbase}/lib -lGL -lX11 -lXext -lm -lc -L${java.home}/lib/${os.arch} -ljawt -L${java.home}/lib/${os.arch}/server -ljvm  -o libj3dcore-ogl.so"/>
>   +    </exec>
>   +
>   +  </target>
> @@ -144,7 +144,7 @@ diff -ruN ../java3d-1.5.2/j3d-core/src/native/ogl/build-freebsd.xml ./j3d-core/s
>   +
>   +    <!-- Create the wrapper library -->
>   +    <exec dir="${build}/${platform}/${bldType}/native/ogl/objs" executable="ld">
> -+	<arg line="CgWrapper.o -G -z defs -L/usr/X11R6/lib64 -ldl -lCg -lCgGL -lpthread -lGL -lX11 -lXext -lm -lnsl -lc -o libj3dcore-ogl-cg.so"/>
> ++	<arg line="CgWrapper.o -shared -z defs -L/usr/X11R6/lib64 -ldl -lCg -lCgGL -lpthread -lGL -lX11 -lXext -lm -lnsl -lc -o libj3dcore-ogl-cg.so"/>
>   +    </exec>
>   +
>   +  </target>

Hello!

This patch breaks the build:

===>   Generating temporary packing list
install  -m 0644 
/wrkdirs/usr/ports/java/java3d/work/java3d-1.5.2/vecmath/dist/lib/ext/vecmath.jar 
/wrkdirs/usr/ports/java/java3d/work/java3d-1.5.2/j3d-core/build/default/opt/lib/ext/j3dcore.jar 
/wrkdirs/usr/ports/java/java3d/work/java3d-1.5.2/j3d-core/build/default/opt/lib/ext/j3dutils.jar 
/wrkdirs/usr/ports/java/java3d/work/stage/usr/local/openjdk8/jre/lib/ext
install 
/wrkdirs/usr/ports/java/java3d/work/java3d-1.5.2/j3d-core/build/default/opt/native/libj3dcore-ogl.so 
/wrkdirs/usr/ports/java/java3d/work/stage/usr/local/openjdk8/jre/lib/amd64
install: 
/wrkdirs/usr/ports/java/java3d/work/java3d-1.5.2/j3d-core/build/default/opt/native/libj3dcore-ogl.so: 
No such file or directory
*** Error code 71

Same in poudriere 14.3 amd64 and on live system 14.3 amd64.
After revert build fine.

-- 
Best regards,
Vladimir Druzenko