5

在安装支持 XCB 的 Qt5 期间, ./configure -prefix $PWD/qtbase -opensource -nomake tests -qpa xcb -qt-xcb失败,因为它无法链接到 libXau 和 libXdmcp

/usr/local/lib/libxcb.a(xcb_auth.o): In function `get_authptr':
/users/salunkrj/libxcb-1.9/src/xcb_auth.c:163: undefined reference to `XauGetBestAuthByAddr'
/usr/local/lib/libxcb.a(xcb_auth.o): In function `_xcb_get_auth_info':
/users/salunkrj/libxcb-1.9/src/xcb_auth.c:377: undefined reference to `XauDisposeAuth'
/usr/local/lib/libxcb.a(xcb_auth.o): In function `compute_auth':
/users/salunkrj/libxcb-1.9/src/xcb_auth.c:256: undefined reference to `XdmcpWrap'
/usr/local/lib/libxcb.a(xcb_auth.o): In function `_xcb_get_auth_info':
/users/salunkrj/libxcb-1.9/src/xcb_auth.c:369: undefined reference to `XauDisposeAuth'
collect2: ld returned 1 exit status
gmake: *** [xcb] Error 1
xcb disabled.
The test for linking against libxcb failed!
You might need to install dependency packages for libxcb.

libXau:XauDisposeAuth 和 XauGetBestAuthByAddr 的符号名称确实存在并在我进行查找时显示,并且LD_LIBRARY_PATH包括/usr/local/lib

nm /usr/local/lib/libXau.a | grep "XauGetBestAuthByAddr\|XauDisposeAuth"
0000000000000000 T XauDisposeAuth
                 U XauDisposeAuth
                 U XauDisposeAuth
0000000000000030 T XauGetBestAuthByAddr

libXdmcp:Xdmcp 似乎没有符号。nm libXdmcp.so | grep XdmcpWrap nm:libXdmcp.so:无符号

在运行 configure 以帮助解析 libXau/libXdmcp 符号时,我需要提及什么具体内容吗?

操作系统 - CentOS5.6 内核 - 2.6.18-238.9.1.el5-x86_64 Qt5.0.0 - 开源

4

1 回答 1

0

就我而言,我必须将 -lXau 添加到我的 makefile 中。在 OpenBSD 下,而不是 Linux。我正在并行处理相同的程序,当我将我的最新版本复制到 OpenBSD 时,我遇到了这个问题。

Xau 就是 Xauth,我没有故意使用它。Xau 和 xauth 都有手册页,但它们与连接到 X 服务器的授权有关,而不是大多数人可能认为的安全性。

在配置阶段,您可能会在 LDFLAGS 中添加 -lXau。

于 2017-08-26T14:27:37.313 回答