在 awesome 4.0 的测试安装中不支持 RandR 1.5,要检查什么?

No RandR 1.5 support in test install of awesome 4.0, what to check?

当然我想我已经安装了所有的依赖项。新的 API 文档看起来很棒,但我找不到任何安装调试提示。我正在使用 grep 在构建目录中查找对 RandR 的引用,试图找出版本检查没有找到的确切内容。有更好的建议吗?

以下是cmake过程中的所有依赖检查:

-- git -> /usr/bin/git
-- asciidoc -> /usr/bin/asciidoc
-- xmlto -> /usr/bin/xmlto
-- gzip -> /bin/gzip
-- ldoc -> /usr/local/bin/ldoc
-- convert -> /usr/bin/convert
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Found Lua: /usr/lib/x86_64-linux-gnu/liblua5.1.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "5.1.5") 
-- Using version from git: v4.0-105-gbfb3534
-- Checking for module 'xcb>=1.6'
--   Found xcb, version 1.11.1
-- Checking for module 'glib-2.0'
--   Found glib-2.0, version 2.48.1
-- Checking for module 'gdk-pixbuf-2.0'
--   Found gdk-pixbuf-2.0, version 2.32.2
-- Checking for module 'cairo'
--   Found cairo, version 1.14.6
-- Checking for module 'x11'
--   Found x11, version 1.6.3
-- Checking for module 'xcb-cursor'
--   Found xcb-cursor, version 0.1.1
-- Checking for module 'xcb-randr'
--   Found xcb-randr, version 1.11.1
-- Checking for module 'xcb-xtest'
--   Found xcb-xtest, version 1.11.1
-- Checking for module 'xcb-xinerama'
--   Found xcb-xinerama, version 1.11.1
-- Checking for module 'xcb-shape'
--   Found xcb-shape, version 1.11.1
-- Checking for module 'xcb-util>=0.3.8'
--   Found xcb-util, version 0.4.0
-- Checking for module 'xcb-keysyms>=0.3.4'
--   Found xcb-keysyms, version 0.4.0
-- Checking for module 'xcb-icccm>=0.3.8'
--   Found xcb-icccm, version 0.4.1
-- Checking for module 'xcb-xkb'
--   Found xcb-xkb, version 1.11.1
-- Checking for module 'xkbcommon'
--   Found xkbcommon, version 0.5.0
-- Checking for module 'xkbcommon-x11'
--   Found xkbcommon-x11, version 0.5.0
-- Checking for module 'cairo-xcb'
--   Found cairo-xcb, version 1.14.6
-- Checking for module 'libstartup-notification-1.0>=0.10'
--   Found libstartup-notification-1.0, version 0.12
-- Checking for module 'xproto>=7.0.15'
--   Found xproto, version 7.0.28
-- Checking for module 'libxdg-basedir>=1.0.0'
--   Found libxdg-basedir, version 1.2.0
-- Checking for module 'xcb-xrm'
--   Found xcb-xrm, version 1.2
-- Checking for modules 'glib-2.0;gdk-pixbuf-2.0;cairo;x11;xcb-cursor;xcb-randr;xcb-xtest;xcb-xinerama;xcb-shape;xcb-util>=0.3.8;xcb-keysyms>=0.3.4;xcb-icccm>=0.3.8;xcb-xkb;xkbcommon;xkbcommon-x11;cairo-xcb;libstartup-notification-1.0>=0.10;xproto>=7.0.15;libxdg-basedir>=1.0.0;xcb-xrm'
--   Found glib-2.0, version 2.48.1
--   Found gdk-pixbuf-2.0, version 2.32.2
--   Found cairo, version 1.14.6
--   Found x11, version 1.6.3
--   Found xcb-cursor, version 0.1.1
--   Found xcb-randr, version 1.11.1
--   Found xcb-xtest, version 1.11.1
--   Found xcb-xinerama, version 1.11.1
--   Found xcb-shape, version 1.11.1
--   Found xcb-util, version 0.4.0
--   Found xcb-keysyms, version 0.4.0
--   Found xcb-icccm, version 0.4.1
--   Found xcb-xkb, version 1.11.1
--   Found xkbcommon, version 0.5.0
--   Found xkbcommon-x11, version 0.5.0
--   Found cairo-xcb, version 1.14.6
--   Found libstartup-notification-1.0, version 0.12
--   Found xproto, version 7.0.28
--   Found libxdg-basedir, version 1.2.0
--   Found xcb-xrm, version 1.2
-- Looking for backtrace_symbols
-- Looking for backtrace_symbols - found
-- checking for execinfo -- found
-- Looking for round
-- Looking for round - not found
-- Looking for round
-- Looking for round - found
-- checking for round -- in libm
-- Checking for module 'dbus-1'
--   Found dbus-1, version 1.10.6

它似乎没有检查 libxrandr2(版本 1.5.0),它也已安装。

第一:你需要RandR 1.5支持吗?如果答案是 "no" 或 "I don't know",那么,好吧...... ;-)

然后,为了真正回答您的问题:对于 RandR 1.5 支持,您需要使用 RandR 1.5 支持构建的 libxcb 版本。这意味着您需要使用 xcb-proto 1.12 构建的 libxcb 版本(并且可能意味着您需要 libxcb 1.12)。

您可以通过以下方式检查自己:

$ grep _VERSION /usr/include/xcb/randr.h          
#define XCB_RANDR_MAJOR_VERSION 1
#define XCB_RANDR_MINOR_VERSION 5
#define XCB_RANDR_QUERY_VERSION 0

(忽略最后一行结果,前两行说明这是RandR 1.5)