我将容器从 Debian Bullseye 更新为 Bookworm。
我同时使用了libunwind8(和libunwind-dev)和libc++-dev
自从 bookworm 以来,libc++-dev 依赖于 libunwind-14-dev (可能是因为它现在支持 std::basic_stacktrace)。这是一个冲突,因为两者都带来了文件 libunwind.so.
安装两者将导致:
$ apt install libunwind-dev
...
The following packages will be REMOVED:
libc++-14-dev libc++-dev libunwind-14-dev
The following NEW packages will be installed:
libunwind-dev
看起来 libunwind-14 与 libunwind8 不同。它有其他/更少的接口。我找不到 libunwind-14 的文档。
有没有办法同时使用libc++和libunwind8?
我找到了解决方案,尽管我认为这不是很好:
不要安装它,而是将其解压。我把它提取到/opt。
apt-get download libunwind8 libunwind-dev
dpkg --extract libunwind8*.deb /opt/libunwind
dpkg --extract libunwind-dev*.deb /opt/libunwind
您需要提取两者(即使 libunwind8 安装正确并且没有冲突),因为 libunwind-dev 具有无法解析的符号链接。