I have multiple systems which I update from the same 14-stable source with latest commit 465c30c4f202b02cd9cb12f12d9ea856c84c5203 of November 23.I think this is because your systems have been built with different src.conf configurations. These days /usr/bin/cc links to /usr/lib/libprivatellvm.so.19, so if you are installing world from a machine where src.conf options were different (in particular the WITHOUT_LLVM_TARGET_xxx options), there can be a mismatch between the symbols expected by the cc binary and the libprivatellvm.so.19 library.
I updated one system with installkernel installworld over NFS without problems. Next I did the build system that was having the src and obj, but it stopped with the installworld. Retrying the installworld resulted with the ld-elf.so.1: /usr/bin/cc: Undefined symbol rCLLLVMInitializeAArch64TargetInforCY message.
All systems are Intel or Amd, so IrCOm puzzled why the above symbol is needed. The only thing I can think of is that the build system builds all target compilers. The sucessfully installed system has a different src.conf without that option.
What is wrong here? The update sequence I use is always the same.
On 24 Nov 2025, at 09:59, Dimitry Andric <dim@FreeBSD.org> wrote:
On 24 Nov 2025, at 09:43, Peter Blok <pblok@bsd4all.org> wrote:
I have multiple systems which I update from the same 14-stable source with latest commit 465c30c4f202b02cd9cb12f12d9ea856c84c5203 of November 23.
I updated one system with installkernel installworld over NFS without problems. Next I did the build system that was having the src and obj, but it stopped with the installworld. Retrying the installworld resulted with the ld-elf.so.1: /usr/bin/cc: Undefined symbol rCLLLVMInitializeAArch64TargetInforCY message.
All systems are Intel or Amd, so IrCOm puzzled why the above symbol is needed. The only thing I can think of is that the build system builds all target compilers. The sucessfully installed system has a different src.conf without that option.
What is wrong here? The update sequence I use is always the same.
I think this is because your systems have been built with different src.conf configurations. These days /usr/bin/cc links to /usr/lib/libprivatellvm.so.19, so if you are installing world from a machine where src.conf options were different (in particular the WITHOUT_LLVM_TARGET_xxx options), there can be a mismatch between the symbols expected by the cc binary and the libprivatellvm.so.19 library.
During installworld there is a moment where the libprivatellvm.so.19 library is installed, and where /usr/bin/cc is not yet updated. Due to our build system running recursive make, and some of those Makefiles invoking /usr/bin/cc, you can run into this issue.
-Dimitry
Thanks for the explanation. This was a good lesson for me to setup an alternate boot environment with beadm.
I checked and the system with the problem is the build machine which hashe
the same src.conf for building and installing. So it must be related to t=
aborted install where /usr/lib was updated and /usr/bin was not.
Although I use the same source for all systems, I did a better job than I initially mentioned. All systems have the same src.conf when building nd installing.
Peter
3.On 24 Nov 2025, at 09:59, Dimitry Andric <dim@FreeBSD.org> wrote:
On 24 Nov 2025, at 09:43, Peter Blok <pblok@bsd4all.org> wrote:with latest commit 465c30c4f202b02cd9cb12f12d9ea856c84c5203 of November 2=
I have multiple systems which I update from the same 14-stable source
t
I updated one system with installkernel installworld over NFS without problems. Next I did the build system that was having the src and obj, bu=
it stopped with the installworld. Retrying the installworld resulted withbol is
the ld-elf.so.1: /usr/bin/cc: Undefined symbol =E2=80=9CLLVMInitializeAArch64TargetInfo=E2=80=9D message.
All systems are Intel or Amd, so I=E2=80=99m puzzled why the above sym=
needed. The only thing I can think of is that the build system builds all target compilers. The sucessfully installed system has a different src.co=nf
without that option.r
What is wrong here? The update sequence I use is always the same.
I think this is because your systems have been built with differentsrc.conf configurations. These days /usr/bin/cc links to /usr/lib/libprivatellvm.so.19, so if you are installing world from a
machine where src.conf options were different (in particular the WITHOUT_LLVM_TARGET_xxx options), there can be a mismatch between the
symbols expected by the cc binary and the libprivatellvm.so.19 library.
During installworld there is a moment where the libprivatellvm.so.19library is installed, and where /usr/bin/cc is not yet updated. Due to ou=
build system running recursive make, and some of those Makefiles invoking /usr/bin/cc, you can run into this issue.
-Dimitry
Although I use the same source for all systems, I did a better jobNote that if you place a copy of src.conf in your shared source
than I initially mentioned. All systems have the same src.conf when
building nd installing.
What is wrong here? The update sequence I use is always the same.
On 25 Nov 2025, at 14:11, void <void@f-m.fm> wrote:
N++On Mon, Nov 24, 2025 at 09:43:44AM +0100, Peter Blok wrote:
What is wrong here? The update sequence I use is always the same.
I had multiple issues of *this type* but with amd64, going from stable/14 to stable/15. I can't remember them all exactly.
What fixed them all for me was starting afresh with an
empty /usr/obj.
For good measure, I deleted all that was in /var/cache/ccache/*
and then in /usr/src make -j10 cleanworld cleandir clean.
Then the usual make -j10 kernel && reboot then make -j10 buildworld etc etc
Maybe this'll work for you. Good luck.
--
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 54 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 12:23:13 |
| Calls: | 742 |
| Files: | 1,218 |
| D/L today: |
2 files (2,024K bytes) |
| Messages: | 183,176 |
| Posted today: | 1 |