I'm working on switching to LLVM's lld linker as the FreeBSD system linker (/usr/bin/ld), and the port in this PR is reported as a new failure in the exp-run, PR 214864.
An excerpt from the build log:
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
More investigation is needed - it is not clear in the log why libj3dcore-ogl.so failed to build.
FreeBSD 11 and later have lld available as /usr/bin/ld.lld, so one simple option for testing is to just symlink /usr/bin/ld to ld.lld (and restore it to ld.bfd).
A port Makefile knob, LLD_UNSAFE=yes, exists to indicate that a port does not work with lld, and requires either /usr/bin/ld.bfd or binutils from ports. This should work for the common case of ports written in C using GNU autoconf; it may have no effect on other ports.
Via tobik@ in ports r465725, BINARY_ALIAS=ld=ld.bfd may be an effective workaround if LLD_UNSAFE does not work.
A commit references this bug:
Date: Thu Mar 29 10:33:46 UTC 2018
New revision: 465879
Switch to ld.bfd by default as ld.ldd doesn't have built-in default
Submitted by: emaste
Approved by: portmgr (LLD_UNSAFE blanket)