Note: like the /usr/local/lib/*.so* files, the
wget and git were built previously to the existence
of the ASAN&UBSAN world.

chrooted into the world I built with ASAN and UBSAN:

# ldd `which wget`
/usr/local/bin/wget:
        libintl.so.8 => /usr/local/lib/libintl.so.8 (0x800edc000)
        libunistring.so.2 => /usr/local/lib/libunistring.so.2 (0x80182b000)
        libidn2.so.0 => /usr/local/lib/libidn2.so.0 (0x801b76000)
        libssl.so.111 => /usr/lib/libssl.so.111 (0x80229d000)
        libcrypto.so.111 => /lib/libcrypto.so.111 (0x803a00000)
        libdl.so.1 => /usr/lib/libdl.so.1 (0x8034ed000)
        libz.so.6 => /lib/libz.so.6 (0x80585d000)
        libc.so.7 => /lib/libc.so.7 (0x806e00000)
        libthr.so.3 => /lib/libthr.so.3 (0x8063fc000)

# ldd `which git`
/usr/local/bin/git:
        libpcre2-8.so.0 => not found (0)
        libz.so.6 => /lib/libz.so.6 (0x801bc5000)
        libintl.so.8 => not found (0)
        libthr.so.3 => /lib/libthr.so.3 (0x8009ab000)
        libc.so.7 => /lib/libc.so.7 (0x804000000)

Note the differing results for finding libintl.so.8 .

The ldd and which runs get no ASAN reports and no UBSAN reports.

SIDE NOTE
I will note that attempting to use the wget results in:

# wget
ld-elf.so.1: /usr/lib/libssl.so.111: Undefined symbol 
"__asan_option_detect_stack_use_after_return"
END SIDE NOTE


Instead chrooted into my normal world built for chrooting into
main (no ASAN/UBSAN involvement):

% ldd `which wget`
/usr/local/bin/wget:
        libintl.so.8 => /usr/local/lib/libintl.so.8 (0x8022a3000)
        libunistring.so.2 => /usr/local/lib/libunistring.so.2 (0x801c69000)
        libidn2.so.0 => /usr/local/lib/libidn2.so.0 (0x803227000)
        libssl.so.111 => /usr/lib/libssl.so.111 (0x80372d000)
        libcrypto.so.111 => /lib/libcrypto.so.111 (0x803a37000)
        libdl.so.1 => /usr/lib/libdl.so.1 (0x805668000)
        libz.so.6 => /lib/libz.so.6 (0x804618000)
        libc.so.7 => /lib/libc.so.7 (0x806aca000)
        libthr.so.3 => /lib/libthr.so.3 (0x80468a000)

% ldd `which git`
/usr/local/bin/git:
        libpcre2-8.so.0 => /usr/local/lib/libpcre2-8.so.0 (0x801b2d000)
        libz.so.6 => /lib/libz.so.6 (0x801324000)
        libintl.so.8 => /usr/local/lib/libintl.so.8 (0x801fe8000)
        libthr.so.3 => /lib/libthr.so.3 (0x802ed9000)
        libc.so.7 => /lib/libc.so.7 (0x803d98000)

Note that both libintl.so.8 and libintl.so.8 were found,
as expected. (wget and git both run just fine as well.)


It is the same /usr/local/ file system, used from the two
contexts (mounted into the chroot trees).

It appears that lots of ports from that /usr/local/ tree
get "Shared object not found" messages for one or more
/usr/local/lib/*.so* files (matching up with ldd reports
of not found).

===
Mark Millard
marklmi at yahoo.com


Reply via email to