Re: Howto complete(!) install a world?

From: O. Hartmann <ohartmann_at_walstatt.org>
Date: Mon, 27 Mar 2017 15:10:32 +0200
On Mon, 27 Mar 2017 03:12:42 -0700
Mark Millard <markmi_at_dsl-only.net> wrote:

> 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?

I think, yes, see belwo:

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

grep -R msetlocale /usr/src/*/ | more
/usr/src/crypto/openssh/scp.c:  msetlocale();
/usr/src/crypto/openssh/sftp.c: msetlocale();
/usr/src/crypto/openssh/ssh.c:  msetlocale();
/usr/src/crypto/openssh/utf8.h:void      msetlocale(void);
/usr/src/crypto/openssh/utf8.c:msetlocale(void)


> 
> # ldd `which ssh`

ldd `which ssh`
/usr/bin/ssh:
        libprivatessh.so.5 => /lib/libprivatessh.so.5 (0x800853000)
        libgssapi.so.10 => /lib/libgssapi.so.10 (0x800af2000)
        libcrypto.so.8 => /lib/libcrypto.so.8 (0x800e00000)
        libc.so.7 => /lib/libc.so.7 (0x801272000)
        libprivateldns.so.5 => /lib/libprivateldns.so.5 (0x80163a000)
        libcrypt.so.5 => /lib/libcrypt.so.5 (0x801897000)
        libz.so.6 => /lib/libz.so.6 (0x801ab5000)

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

objdump -d --prefix-addresses /usr/lib/libprivatessh.so.5 | grep msetlocale |
more 0000000000021690 <msetlocale_at__at_Base> push   %rbp
0000000000021691 <msetlocale_at__at_Base+0x1> mov    %rsp,%rbp
0000000000021694 <msetlocale_at__at_Base+0x4> push   %rbx
0000000000021695 <msetlocale_at__at_Base+0x5> push   %rax
0000000000021696 <msetlocale_at__at_Base+0x6> lea    0x59dd2(%rip),%rdi        #
000000000007b46f <_fini_at__at_Base+0x1c77> 000000000002169d <msetlocale_at__at_Base+0xd>
callq  0000000000019f9c <getenv_at_plt> 00000000000216a2 <msetlocale_at__at_Base+0x12>
mov    %rax,%rbx 00000000000216a5 <msetlocale_at__at_Base+0x15> test   %rbx,%rbx
00000000000216a8 <msetlocale_at__at_Base+0x18> jne    00000000000216d2
<msetlocale_at__at_Base+0x42> 00000000000216aa <msetlocale_at__at_Base+0x1a> lea
0x59dc5(%rip),%rdi        # 000000000007b476 <_fini_at__at_Base+0x1c7e>
00000000000216b1 <msetlocale_at__at_Base+0x21> callq  0000000000019f9c <getenv_at_plt>
00000000000216b6 <msetlocale_at__at_Base+0x26> mov    %rax,%rbx 00000000000216b9
<msetlocale_at__at_Base+0x29> test   %rbx,%rbx 00000000000216bc
<msetlocale_at__at_Base+0x2c> jne    00000000000216d2 <msetlocale_at__at_Base+0x42>
00000000000216be <msetlocale_at__at_Base+0x2e> lea    0x59dba(%rip),%rdi        #
000000000007b47f <_fini_at__at_Base+0x1c87> 00000000000216c5 <msetlocale_at__at_Base+0x35>
callq  0000000000019f9c <getenv_at_plt> 00000000000216ca <msetlocale_at__at_Base+0x3a>
mov    %rax,%rbx 00000000000216cd <msetlocale_at__at_Base+0x3d> test   %rbx,%rbx
00000000000216d0 <msetlocale_at__at_Base+0x40> je     00000000000216ea
<msetlocale_at__at_Base+0x5a> 00000000000216d2 <msetlocale_at__at_Base+0x42> lea
0x59dab(%rip),%rsi        # 000000000007b484 <_fini_at__at_Base+0x1c8c>
00000000000216d9 <msetlocale_at__at_Base+0x49> mov    $0x2,%edx 00000000000216de
<msetlocale_at__at_Base+0x4e> mov    %rbx,%rdi 00000000000216e1
<msetlocale_at__at_Base+0x51> callq  0000000000019c3c <strncasecmp_at_plt>
00000000000216e6 <msetlocale_at__at_Base+0x56> test   %eax,%eax 00000000000216e8
<msetlocale_at__at_Base+0x58> je     0000000000021701 <msetlocale_at__at_Base+0x71>
00000000000216ea <msetlocale_at__at_Base+0x5a> lea    0x5af18(%rip),%rsi        #
000000000007c609 <_fini_at__at_Base+0x2e11> 00000000000216f1 <msetlocale_at__at_Base+0x61>
mov    $0x2,%edi 00000000000216f6 <msetlocale_at__at_Base+0x66> add    $0x8,%rsp
00000000000216fa <msetlocale_at__at_Base+0x6a> pop    %rbx 00000000000216fb
<msetlocale_at__at_Base+0x6b> pop    %rbp 00000000000216fc <msetlocale_at__at_Base+0x6c>
jmpq   00000000000198ac <setlocale_at_plt> 0000000000021701
<msetlocale_at__at_Base+0x71> lea    0x59d86(%rip),%rsi        # 000000000007b48e
<_fini_at__at_Base+0x1c96> 0000000000021708 <msetlocale_at__at_Base+0x78> mov    %rbx,%rdi
000000000002170b <msetlocale_at__at_Base+0x7b> callq  000000000001a69c
<strcasestr_at_plt> 0000000000021710 <msetlocale_at__at_Base+0x80> test   %rax,%rax
0000000000021713 <msetlocale_at__at_Base+0x83> jne    0000000000021729
<msetlocale_at__at_Base+0x99> 0000000000021715 <msetlocale_at__at_Base+0x85> lea
0x59d6b(%rip),%rsi        # 000000000007b487 <_fini_at__at_Base+0x1c8f>
000000000002171c <msetlocale_at__at_Base+0x8c> mov    %rbx,%rdi 000000000002171f
<msetlocale_at__at_Base+0x8f> callq  000000000001a69c <strcasestr_at_plt>
0000000000021724 <msetlocale_at__at_Base+0x94> test   %rax,%rax 0000000000021727
<msetlocale_at__at_Base+0x97> je     000000000002175c <msetlocale_at__at_Base+0xcc>
0000000000021729 <msetlocale_at__at_Base+0x99> lea    0x59d5c(%rip),%rsi        #
000000000007b48c <_fini_at__at_Base+0x1c94> 0000000000021730 <msetlocale_at__at_Base+0xa0>
mov    $0x2,%edi 0000000000021735 <msetlocale_at__at_Base+0xa5> callq
00000000000198ac <setlocale_at_plt> 000000000002173a <msetlocale_at__at_Base+0xaa>
test   %rax,%rax 000000000002173d <msetlocale_at__at_Base+0xad> jne
0000000000021755 <msetlocale_at__at_Base+0xc5> 000000000002173f
<msetlocale_at__at_Base+0xaf> lea    0x59d4e(%rip),%rsi        # 000000000007b494
<_fini_at__at_Base+0x1c9c> 0000000000021746 <msetlocale_at__at_Base+0xb6> mov    $0x2,%edi
000000000002174b <msetlocale_at__at_Base+0xbb> callq  00000000000198ac
<setlocale_at_plt> 0000000000021750 <msetlocale_at__at_Base+0xc0> test   %rax,%rax
0000000000021753 <msetlocale_at__at_Base+0xc3> je     000000000002175c
<msetlocale_at__at_Base+0xcc> 0000000000021755 <msetlocale_at__at_Base+0xc5> add
$0x8,%rsp 0000000000021759 <msetlocale_at__at_Base+0xc9> pop    %rbx 000000000002175a
<msetlocale_at__at_Base+0xca> pop    %rbp 000000000002175b <msetlocale_at__at_Base+0xcb>
retq 000000000002175c <msetlocale_at__at_Base+0xcc> lea    0x59d3d(%rip),%rsi
# 000000000007b4a0 <_fini_at__at_Base+0x1ca8> 0000000000021763
<msetlocale_at__at_Base+0xd3> jmp    00000000000216f1 <msetlocale_at__at_Base+0x61>
0000000000021765 <msetlocale_at__at_Base+0xd5> int3 0000000000021766
<msetlocale_at__at_Base+0xd6> int3 0000000000021767 <msetlocale_at__at_Base+0xd7> int3
0000000000021768 <msetlocale_at__at_Base+0xd8> int3 0000000000021769
<msetlocale_at__at_Base+0xd9> int3 000000000002176a <msetlocale_at__at_Base+0xda> int3
000000000002176b <msetlocale_at__at_Base+0xdb> int3 000000000002176c
<msetlocale_at__at_Base+0xdc> int3 000000000002176d <msetlocale_at__at_Base+0xdd> int3
000000000002176e <msetlocale_at__at_Base+0xde> int3 000000000002176f
<msetlocale_at__at_Base+0xdf> int3   


> 
> (That last presumes that ldd's output points to that file instead of some
> alternative.)
> 
> ===
> Mark Millard
> markmi at dsl-only.net
> 
> 
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
Received on Mon Mar 27 2017 - 11:10:45 UTC

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