Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 04 Dec 2024 16:16:09 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 283128] devel/spirv-llvm-translator: add libLLVMSPIRVLib.so.${MAJOR} symlink for llvm >= 18 ?
Message-ID:  <bug-283128-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D283128

            Bug ID: 283128
           Summary: devel/spirv-llvm-translator: add
                    libLLVMSPIRVLib.so.${MAJOR} symlink for llvm >=3D 18 ?
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: jbeich@FreeBSD.org
          Reporter: dim@FreeBSD.org
          Assignee: jbeich@FreeBSD.org
             Flags: maintainer-feedback?(jbeich@FreeBSD.org)

During the exp-run for bug 283013 ("update LLVM_DEFAULT to 18") it
turned out that lang/clover fails to build, with an error similar
to:

[133amd64-default-foo-job-09] Extracting spirv-llvm-translator-llvm18-18.1.=
6:
.......... done
=3D=3D=3D>   clover-24.1.7 depends on shared library: libLLVMSPIRVLib.so.18=
 - not
found
*** Error code 1

This is because after llvm 18, the .so filename has become
libLLVMSPIRVLib.so.18.1, libLLVMSPIRVLib.so.19.1, and so on.

The Makefile for devel/spirv-llvm-translator takes this into account by doi=
ng:

SOVERSION=3D      ${${FLAVOR:S/llvm//}<18:?${DISTVERSION:R:R}:${DISTVERSION=
:R}}

which is nice, but it is rather annoying that all consumers will have to be
updated similarly too. I found the following consumers, which directly refe=
r to
the .so filename:

devel/intel-graphics-compiler/Makefile:=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20
libLLVMSPIRVLib.so.${FLAVOR:S/llvm//}:devel/spirv-llvm-translator@${FLAVOR}
devel/ispc/Makefile:=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20
libLLVMSPIRVLib.so.${LLVM_VERSION}:devel/spirv-llvm-translator@llvm${LLVM_V=
ERSION}
devel/opencl-clang/Makefile:=20=20=20=20=20=20=20=20=20=20=20
libLLVMSPIRVLib.so.${FLAVOR:S/llvm//}:devel/spirv-llvm-translator@${FLAVOR}
graphics/mesa-devel/Makefile: OPENCL_LIB_DEPENDS=3D=20=20=20=20=20=20
libLLVMSPIRVLib.so.${OPENCL_SOVERSION}:devel/spirv-llvm-translator@${LLVM_P=
ORT:T}
lang/clover/Makefile:=20=20=20=20=20=20=20=20=20=20
libLLVMSPIRVLib.so.${LLVM_VERSION}:devel/spirv-llvm-translator@${LLVM_PORT:=
T} \

If it is not too much trouble, should the devel/spirv-llvm-translator add a
compat symlink libLLVMSPIRVLib.so.18, libLLVMSPIRVLib.so.19 etc, to make it
easier on consumers?=20

Note that the devel/llvm18 and higher ports do something slightly different:

libLLVM-18.so@ -> libLLVM.so.18.1
libLLVM.so@ -> libLLVM.so.18.1
libLLVM.so.18.1*

and:

libLLVM-19.so@ -> libLLVM.so.19.1
libLLVM.so@ -> libLLVM.so.19.1
libLLVM.so.19.1*

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-283128-7788>