我正在尝试编译polybar
,并且收到一个与 xcb 相关的长编译错误(显然),我有日志文件这里;我已经阅读了 Polybar wiki,并且找到了降级到xcb-proto
的解决方案1.11
,因此我遵循了该过程,尽管我不太确定如何检查版本(日志告诉我每个 X 扩展都有1.13 版本吗?)
尽管如此,我尝试使用 Clang 和 GCC 进行编译build.sh
,但都无济于事,我的问题是如何降级软件包:
-- [X] xcb-randr (1.13.1)
-- [X] xcb-randr (monitor support) (1.13.1)
-- [X] xcb-composite (1.13.1)
-- [X] xcb-xkb (1.13.1)
[...]
到版本1.11?
编辑
我试图libxcb*
从我的 Debian 中删除这些软件包,在我写下yes
继续的提示之前,我注意到它会使许多本来对我的系统有益的软件包变得多余,所以我不知道如何热插拔降级而不删除我想要降级的软件包。
答案1
我将尝试回答 Polybar 未编译的原始问题。这很可能不是通过安装的版本的问题apt
。该特定问题仅发生在xcb-proto
版本为 1.12 和libxcb-randr0-dev
1.11 的系统上,但由于所有版本均为 1.13.1,因此应该没问题。
您的日志中存在的问题:
ERROR: could not calc required_start_align of Struct "xcb.Setup
之前出现过,这里。问题是 anaconda 用于 python,这导致了很多问题。
上面有说明维基百科关于如何在安装 anaconda 的情况下编译 polybar(无需卸载 anaconda)。人们报告的最简单的工作方法是conda deactivate
在编译之前在编译 Polybar 的终端中运行。还要确保在构建之前完全重新下载 tar 存档(或执行干净的 git 克隆)。
答案2
令人惊讶的是,我通过简单地重新克隆 Polybar 存储库、配置-DWITH_XRANDR_MONITORS=0
(尽管我认为这不是必需的)来解决这个问题,瞧。我不知道为什么这有效,但我所做的唯一重要的事情是将xcb-proto
其降级(据说)到 version 后重新安装1.11
。