Здравствуйте. Обнаружили проблему в пакете libtbb-2020.3-alt2.e2kv6.rpm: библиотека libtbbmalloc.so.2 имеет неразрешённый символ __cxa_vec_ctor, из‑за чего не загружается, если вызывается не из C++‑приложения (например, через LD_PRELOAD или из C‑кода). Доказательства: 1. DT_NEEDED у RPM‑версии не содержит libstdc++.so.6: $ readelf -d /var/lib/lxc/test/rootfs/usr/lib64/libtbbmalloc.so.2 | grep NEEDED NEEDED Shared library: [libdl.so.2] NEEDED Shared library: [librt.so.1] NEEDED Shared library: [libpthread.so.0] NEEDED Shared library: [libc.so.6] 2. При этом ldd -r показывает неразрешённый символ: $ ldd -r /var/lib/lxc/test/rootfs/usr/lib64/libtbbmalloc.so.2 ... undefined symbol: __cxa_vec_ctor 3. Сборка из исходников на той же системе корректна и содержит libstdc++.so.6 в DT_NEEDED: $ readelf -d /usr/lib64/libtbbmalloc.so.2 | grep NEEDED NEEDED Shared library: [libdl.so.2] NEEDED Shared library: [librt.so.1] NEEDED Shared library: [libpthread.so.0] NEEDED Shared library: [libstdc++.so.6] NEEDED Shared library: [libc.so.6] Ожидаемое поведение: libtbbmalloc.so.2 должен иметь DT_NEEDED: libstdc++.so.6, чтобы __cxa_vec_ctor резолвился при загрузке.
На x86_64 проблемы нет: # ldd -r /usr/lib64/libtbbmalloc.so.2 | grep -c undefined 0