Renato Botelho <garga_at_FreeBSD.org> wrote on Date: Mon, 07 Oct 2024 14:20:00 UTC :
> On 07/10/24 03:53, Baptiste Daroussin wrote: > > Hello everyone, > > > > Just a reminder when using pkgbase, make sure you do activate > > BACKUP_LIBRARIES=true in pkg.conf > > > > This way pkg will save a copy of libmd.so.6 during the upgrade in > > /usr/local/lib/pkg/libmd.so.6 (and create a package named compat-libraries > > to > > track it). > > > > This will prevent you from having a couple of days without a new version of > > pkg > > built against libmd.so.7 available (or some of the packages which also > > requires > > libmd.so.7. > > I have BACKUP_LIBRARIES=true on my pkg.conf and upgraded a system > running CURRENT this morning using pkgbase. After that I got pkg linked > with both libmd.so.6 and libmd.so.7: > > root@x230:~ # ldd /usr/local/sbin/pkg > /usr/local/sbin/pkg: > libelf.so.2 => /lib/libelf.so.2 (0x28b8027a6000) > libjail.so.1 => /lib/libjail.so.1 (0x28b80340b000) > libssl.so.30 => /usr/lib/libssl.so.30 (0x28b80436a000) > libcrypto.so.30 => /lib/libcrypto.so.30 (0x28b804e18000) > libarchive.so.7 => /usr/lib/libarchive.so.7 (0x28b805e0a000) > libbz2.so.4 => /usr/lib/libbz2.so.4 (0x28b80710e000) > libz.so.6 => /lib/libz.so.6 (0x28b807ccc000) > liblzma.so.5 => /usr/lib/liblzma.so.5 (0x28b808368000) > libprivatezstd.so.5 => /usr/lib/libprivatezstd.so.5 > (0x28b806205000) > libm.so.5 => /lib/libm.so.5 (0x28b808952000) > libutil.so.9 => /lib/libutil.so.9 (0x28b808ad1000) > libmd.so.6 => not found (0) > libthr.so.3 => /lib/libthr.so.3 (0x28b809f4c000) > libc.so.7 => /lib/libc.so.7 (0x28b80ae53000) > libbsdxml.so.4 => /lib/libbsdxml.so.4 (0x28b80c034000) > libmd.so.7 => /lib/libmd.so.7 (0x28b80cdf7000) > libsys.so.7 => /lib/libsys.so.7 (0x28b80ddb1000) > [vdso] (0x28b801eee000) . . . It would help for tracking down were the dependencies are to use "ldd -a ". It shows what each involved *.so.* in turn references of itself. The example below is for a context that does not have the problem you report (not a pkgbase context) but it illustrates the type of extra information that is output: # ldd -a /usr/local/sbin/pkg /usr/local/sbin/pkg: libelf.so.2 => /lib/libelf.so.2 (0xc4840f00000) libjail.so.1 => /lib/libjail.so.1 (0xc48410d3000) libssl.so.30 => /usr/lib/libssl.so.30 (0xc4841fae000) libcrypto.so.30 => /lib/libcrypto.so.30 (0xc4842853000) libarchive.so.7 => /usr/lib/libarchive.so.7 (0xc4843af6000) libbz2.so.4 => /usr/lib/libbz2.so.4 (0xc48403f6000) libz.so.6 => /lib/libz.so.6 (0xc4845351000) liblzma.so.5 => /usr/lib/liblzma.so.5 (0xc48455b0000) libprivatezstd.so.5 => /usr/lib/libprivatezstd.so.5 (0xc484480f000) libm.so.5 => /lib/libm.so.5 (0xc48463e4000) libutil.so.9 => /lib/libutil.so.9 (0xc4846b3d000) libmd.so.7 => /lib/libmd.so.7 (0xc48477f3000) libthr.so.3 => /lib/libthr.so.3 (0xc4848518000) libc.so.7 => /lib/libc.so.7 (0xc484889d000) /lib/libelf.so.2: libc.so.7 => /lib/libc.so.7 (0xc484889d000) /lib/libjail.so.1: libc.so.7 => /lib/libc.so.7 (0xc484889d000) /usr/lib/libssl.so.30: libcrypto.so.30 => /lib/libcrypto.so.30 (0xc4842853000) libc.so.7 => /lib/libc.so.7 (0xc484889d000) /lib/libcrypto.so.30: libthr.so.3 => /lib/libthr.so.3 (0xc4848518000) libc.so.7 => /lib/libc.so.7 (0xc484889d000) /usr/lib/libarchive.so.7: libz.so.6 => /lib/libz.so.6 (0xc4845351000) libbz2.so.4 => /usr/lib/libbz2.so.4 (0xc48403f6000) liblzma.so.5 => /usr/lib/liblzma.so.5 (0xc48455b0000) libbsdxml.so.4 => /lib/libbsdxml.so.4 (0xc4849553000) libprivatezstd.so.5 => /usr/lib/libprivatezstd.so.5 (0xc484480f000) libcrypto.so.30 => /lib/libcrypto.so.30 (0xc4842853000) libc.so.7 => /lib/libc.so.7 (0xc484889d000) /usr/lib/libbz2.so.4: libc.so.7 => /lib/libc.so.7 (0xc484889d000) /lib/libz.so.6: libc.so.7 => /lib/libc.so.7 (0xc484889d000) /usr/lib/liblzma.so.5: libmd.so.7 => /lib/libmd.so.7 (0xc48477f3000) libthr.so.3 => /lib/libthr.so.3 (0xc4848518000) libc.so.7 => /lib/libc.so.7 (0xc484889d000) /usr/lib/libprivatezstd.so.5: libthr.so.3 => /lib/libthr.so.3 (0xc4848518000) libc.so.7 => /lib/libc.so.7 (0xc484889d000) /lib/libm.so.5: libc.so.7 => /lib/libc.so.7 (0xc484889d000) /lib/libutil.so.9: libc.so.7 => /lib/libc.so.7 (0xc484889d000) /lib/libmd.so.7: libc.so.7 => /lib/libc.so.7 (0xc484889d000) /lib/libthr.so.3: libc.so.7 => /lib/libc.so.7 (0xc484889d000) libsys.so.7 => /lib/libsys.so.7 (0xc484af47000) /lib/libc.so.7: libsys.so.7 => /lib/libsys.so.7 (0xc484af47000) /lib/libbsdxml.so.4: libc.so.7 => /lib/libc.so.7 (0xc484889d000) [preloaded] [vdso] (0xc483f927000) I expect that /usr/local/sbin/pkg has the only reference to libmd.so.6 in your context and that /usr/lib/liblzma.so.5 is what is referencing libmd.so.7 . If so, I'll note that you can avoid the problem by using pkg-static instead of pkg as your command: # ldd -a /usr/local/sbin/pkg-static ldd: /usr/local/sbin/pkg-static: not a dynamic ELF executable So there is no use of *.so.* files for pkg-static . (I make no claims about other programs that might be involved overall.) === Mark Millard marklmi at yahoo.com