Re: For devel/llvm18 context: Bad llvm18 *.so file names? Bad references to llvm18 *.so file names? libLLVM-18.so vs. libLLVM-18rc.so ?

From: Brooks Davis <brooks_at_freebsd.org>
Date: Wed, 07 Feb 2024 00:44:25 UTC
On Tue, Feb 06, 2024 at 04:22:51PM -0800, Mark Millard wrote:
> On Feb 6, 2024, at 15:11, Mark Millard <marklmi@yahoo.com> wrote:
> 
> > On Feb 6, 2024, at 15:02, Mark Millard <marklmi@yahoo.com> wrote:
> > 
> >> Using BE_STANDRD, I built llvm18 as part of a poudriere
> >> bulk run, which resulted in:
> >> 
> >> # ls -Tlod /usr/local/llvm18/lib/libLLVM*.so
> >> lrwxr-xr-x  1 root wheel uarch        15 Feb  6 13:34:30 2024 /usr/local/llvm18/lib/libLLVM-18.1.0rc.so -> libLLVM-18rc.so
> >> -rwxr-xr-x  1 root wheel uarch 138305928 Feb  6 13:30:11 2024 /usr/local/llvm18/lib/libLLVM-18rc.so
> >> lrwxr-xr-x  1 root wheel uarch        15 Feb  6 13:34:30 2024 /usr/local/llvm18/lib/libLLVM.so -> libLLVM-18rc.so <http://libllvm-18rc.so/>
> > Sorry for the confusing additional notation:
> > 
> >> <http://libllvm-18rc.so/>
> > 
> > that showed in in the E-mail. I had not noticed at the time that
> > the mail program was helping me in that way: it was not deliberate
> > on my part.
> > 
> >> But later in the pooudriere bulk run when mesa-dri tried to build
> >> it complained about not finding libLLVM-18.so <http://libllvm-18.so/> :
> >> 
> >> [amd64_ZFS] Extracting llvm-18_1,1: .......... done
> >> ===>   mesa-dri-23.3.5 depends on shared library: libLLVM-18.so - not found
> 
> The following suggest more names that might be problematical
> in devel/llvm18 as thigns are --and includes the *rc.so one:
> 
> # grep "\<rc\>" /usr/ports/devel/llvm18/pkg-plist
> bin/llvm-rc%%LLVM_SUFFIX%%
> llvm%%LLVM_SUFFIX%%/bin/llvm-rc
> llvm%%LLVM_SUFFIX%%/lib/libLLVM-%%LLVM_RELEASE%%rc.so
> %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/libclang.so.%%LLVM_RELEASE%%rc
> %%LLDB%%llvm%%LLVM_SUFFIX%%/lib/liblldb.so.%%LLVM_RELEASE%%rc

This comes from upstream and will change with the release:

https://github.com/llvm/llvm-project/commit/22683463740e55e7e0d7e664395c30899b229205

I wonder if mesa is inappropriately hard coding the library name or if
there's a cmake file issue that should be resolved upstream (those
generally seem to reference static libs though).

$ llvm-config18 --libs
-lLLVM-18rc

-- Brooks