Re: stop in make installworld: ld-elf.so.1: symbol lstat1_at_FBSD_1.5 not found

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Mon, 31 Dec 2018 14:12:15 +0100
On 31 Dec 2018, at 13:08, Matthias Apitz <guru_at_unixarea.de> wrote:
> 
> On Mon, 31 Dec 2018 12:27:55 +0100, Matthias Apitz wrote:
>> 
>> Hello,
>> 
>> I'm updating the usual way a system from r314251 to tje actual CURRENT r342378.
>> The 'make installworld' failes in single user mode with:
>> 
>> ld-elf.so.1: /usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/sbin/rm:
>> Undefined symbol lstat1_at_FBSD_1.5
>> 
>> What can I do?
> 
> As I had no other idead, I run the 'make installworld' again, now with success.
> 
> What does this mean?

I think what may have happened was the following.

The "legacy" rm which failed was likely a symlink to /bin/rm, like so:

$ ls -l  /usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/bin/rm
lrwxr-xr-x  1 dim  dim  7 2018-12-29 16:22:12 /usr/obj/usr.old/src/amd64.amd64/tmp/legacy/usr/bin/rm_at_ -> /bin/rm

For some reason, /bin/rm may have been overwritten before your
/lib/libc.so.7, which caused the "Undefined symbol" error from
ld-elf.so.1.

Alternatively, installing /lib/libc.so.7 may have failed without the
Makefile noticing it, after which the first /bin/rm would show that same
error.

When you re-ran "make installworld", the installation of /lib/libc.so.7
likely succeeded, and after that the symlinked commands in
/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/bin which used new symbols
started to work.

-Dimitry


Received on Mon Dec 31 2018 - 12:12:22 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:19 UTC