Howto complete(!) install a world?

Mark Millard markmi at dsl-only.net
Mon Mar 27 10:12:46 UTC 2017


On 2017-Mar-27, at 2:53 AM, O. Hartmann <o.hartmann at walstatt.org> wrote:

> On Mon, 27 Mar 2017 01:54:18 -0700
> Mark Millard <markmi at dsl-only.net> wrote:
> 
>> O. Hartmann ohartmann at walstatt.org wrote on Mon Mar 27 08:10:39 UTC 2017
>> of:
>> 
>>> /usr/bin/ssh: Undefined symbol "msetlocale"  
>> 
>> 
>> I do not know if this will help or not. . .
>> (Notes based on head -r315914 for amd64.)
>> 
>> Looking around:
>> 
>> # grep -R msetlocale /usr/src/*/ | more
>> /usr/src/crypto/openssh/ssh.c:  msetlocale();
>> /usr/src/crypto/openssh/utf8.h:void      msetlocale(void);
>> /usr/src/crypto/openssh/sftp.c: msetlocale();
>> /usr/src/crypto/openssh/scp.c:  msetlocale();
>> /usr/src/crypto/openssh/utf8.c:msetlocale(void)
>> 
>> It looks like msetlocale is local to openssh itself and is
>> tied to utf8 support.
>> 
>> # ldd `which ssh`
>> /usr/bin/ssh:
>>        libprivatessh.so.5 => /usr/lib/libprivatessh.so.5 (0x800851000)
>>        libgssapi.so.10 => /usr/lib/libgssapi.so.10 (0x800af2000)
>>        libcrypto.so.8 => /lib/libcrypto.so.8 (0x800e00000)
>>        libc.so.7 => /lib/libc.so.7 (0x801269000)
>>        libprivateldns.so.5 => /usr/lib/libprivateldns.so.5 (0x801624000)
>>        libcrypt.so.5 => /lib/libcrypt.so.5 (0x801882000)
>> 
>> # objdump -d --prefix-addresses /usr/lib/libprivatessh.so.5 | more
>> 
>> /usr/lib/libprivatessh.so.5:     file format elf64-x86-64-freebsd
>> . . .
>> 0000000000020e40 <msetlocale> push   %rbp
>> 0000000000020e41 <msetlocale+0x1> mov    %rsp,%rbp
>> 0000000000020e44 <msetlocale+0x4> push   %rbx
>> 0000000000020e45 <msetlocale+0x5> push   %rax
>> 0000000000020e46 <msetlocale+0x6> lea    0x4c4e2(%rip),%rdi        #
>> 000000000006d32f <_fini+0x1c67> . . .
>> 
>> So it is /usr/lib/libprivateshh.so.5 that should have
>> msetlocale in it.
> 
> I've already deleted that lib manually and "make installworld" did reinstall
> the lib again. 
> 
> No effect.
> 
> The problem occurs only on that crashed box :-(



Do commands similar to what I showed agree with what I shown?

# grep -R msetlocale /usr/src/*/ | more

# ldd `which ssh`

# objdump -d --prefix-addresses /usr/lib/libprivatessh.so.5 | grep msetlocale | more

(That last presumes that ldd's output points to that file instead of some
alternative.)

===
Mark Millard
markmi at dsl-only.net




More information about the freebsd-current mailing list