FYI: /usr/local/lib/compat/pkg/ content pathing/naming conventions seem to not guarantee uniqueness across port-packages that reuse *.so.* names

From: Mark Millard <marklmi_at_yahoo.com>
Date: Wed, 17 Sep 2025 03:08:23 UTC
I noticed the issue while looking into something else, noticing that
the names in:

# file /usr/local/lib/compat/pkg/* | grep SYSV
/usr/local/lib/compat/pkg/libatomic.so.1:                          ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, for FreeBSD 15.0 (1500060), stripped
/usr/local/lib/compat/pkg/libcc1.so.0:                             ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, for FreeBSD 15.0 (1500060), stripped
/usr/local/lib/compat/pkg/libgcc_s.so.1:                           ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, for FreeBSD 15.0 (1500060), with debug_info, not stripped
/usr/local/lib/compat/pkg/libgccjit.so.0:                          ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, for FreeBSD 15.0 (1500060), stripped
/usr/local/lib/compat/pkg/libgfortran.so.5:                        ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, for FreeBSD 15.0 (1500060), stripped
/usr/local/lib/compat/pkg/libgomp.so.1:                            ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, for FreeBSD 15.0 (1500060), stripped
/usr/local/lib/compat/pkg/libitm.so.1:                             ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, for FreeBSD 15.0 (1500060), stripped
/usr/local/lib/compat/pkg/libstdc++.so.6:                          ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, for FreeBSD 15.0 (1500060), stripped

would not be unique if multiple lang/gcc* were installed.

The files for lang/gcc13 vs. lang/gcc15 likely can not
substitute for each other, especially lang/gcc13 being
for an earlier context than lang/gcc15 .

(For the issue here, the SYSV only happened to
produce such examples, but not a large list.
SYSV is not of importance here.)


===
Mark Millard
marklmi at yahoo.com