2013-01-16 10 views
5

Podczas instalacji Qt5 ze wsparciem xcb ./configure -prefix $ PWD/qtbase -opensource -nomake testy -qpa xcb -qt-xcb nie dlatego, że nie jest w stanie link do libXau i libXdmcpQt5: xcb XAU symbole nie rozwiązany

/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: nazwy symboli dla XauDisposeAuth i XauGetBestAuthByAddr istnieją i pojawiają się, gdy robię odnośnika i LD_LIBRARY_PATH obejmuje /usr/local/lib

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

libXdmcp: Wydaje się, że nie ma symboli dla Xdmcp. nm libXdmcp.so | grep XdmcpWrap nm: libXdmcp.so: brak symboli

Czy jest coś szczególnego, o czym muszę wspomnieć podczas uruchamiania configure, aby pomóc w rozwiązaniu symboli libXau/libXdmcp?

OS - CentOS5.6 Kernel - 2.6.18-238.9.1.el5-x86_64 Qt5.0.0 - opensource

+0

Czy wiesz, jak go rozwiązać? – art926

Odpowiedz

0

W moim przypadku musiałem dodać -lXau do mojego makefile. Pod OpenBSD, a nie Linux. Pracuję nad tym samym programem równolegle, kiedy skopiowałem mojego ostatniego do OpenBSD, wpadłem na to.

Xau jest Xauth, nie użyłem go celowo. Xau i Xauth mają strony podręcznika, ale mają więcej wspólnego z autoryzacją w łączeniu się z serwerem X niż to, co większość ludzi prawdopodobnie myśli o bezpieczeństwie.

Na etapie konfiguracji prawdopodobnie umieścisz -lXau w LDFLAGS.