Hi all,
I am trying to build the 5.1.1 source tarball on Debian GNU/Linux, using g++ 4.8.2. The make step fails on a linker error:
make5: Entering directory `/home/sidney/MyQt/qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/offscreen’
rm -f libqoffscreen.so
g++ Wl,-no-undefined -Wl,-O1 -Wl,-rpath,/home/sidney/MyQt/root-5.1.1/lib -Wl,-rpath-link,/home/sidney/MyQt/qt-everywhere-opensource-src-5.1.1/qtbase/lib -shared -o libqoffscreen.so .obj/release-shared/main.o .obj/release-shared/qoffscreenintegration.o .obj/release-shared/qoffscreenwindow.o .obj/release-shared/qoffscreencommon.o .obj/release-shared/qoffscreenintegration_x11.o -L/home/sidney/MyQt/qt-everywhere-opensource-src-5.1.1/qtbase/lib -lQt5PlatformSupport -pthread -lgthread-2.0 -lglib-2.0 -lz -lQt5DBus -lQt5Gui -lQt5Core -lGL -lpthread
.obj/release-shared/qoffscreenintegration_x11.o: In function `QOffscreenX11GLXContext::~QOffscreenX11GLXContext()’:
qoffscreenintegration_x11.cpp:(.text+0×7b): undefined reference to `XDestroyWindow’
.obj/release-shared/qoffscreenintegration_x11.o: In function `QOffscreenX11GLXContext::makeCurrent(QPlatformSurface*)’:
qoffscreenintegration_x11.cpp:(.text+0×129): undefined reference to `XResizeWindow’
qoffscreenintegration_x11.cpp:(.text+0×140): undefined reference to `XSync’
.obj/release-shared/qoffscreenintegration_x11.o: In function `createDummyWindow(QOffscreenX11Info*, XVisualInfo*) [clone .isra.7]’:
qoffscreenintegration_x11.cpp:(.text+0×1e9): undefined reference to `XCreateColormap’
qoffscreenintegration_x11.cpp:(.text+0×276): undefined reference to `XCreateWindow’
qoffscreenintegration_x11.cpp:(.text+0×287): undefined reference to `XFreeColormap’
.obj/release-shared/qoffscreenintegration_x11.o: In function `QOffscreenX11Connection::QOffscreenX11Connection()’:
qoffscreenintegration_x11.cpp:(.text+0×2e1): undefined reference to `XInitThreads’
qoffscreenintegration_x11.cpp:(.text+0×2fd): undefined reference to `XOpenDisplay’
.obj/release-shared/qoffscreenintegration_x11.o: In function `QOffscreenX11Connection::~QOffscreenX11Connection()’:
qoffscreenintegration_x11.cpp:(.text+0×358): undefined reference to `XCloseDisplay’
.obj/release-shared/qoffscreenintegration_x11.o: In function `QOffscreenX11GLXContext::QOffscreenX11GLXContext(QOffscreenX11Info*, QOpenGLContext*)’:
qoffscreenintegration_x11.cpp:(.text+0×462): undefined reference to `qglx_findConfig(_XDisplay*, int, QSurfaceFormat const&, int)’
qoffscreenintegration_x11.cpp:(.text+0×4b8): undefined reference to `qglx_surfaceFormatFromGLXFBConfig(QSurfaceFormat*, _XDisplay*, __GLXFBConfigRec*, __GLXcontextRec*)’
qoffscreenintegration_x11.cpp:(.text+0×4f1): undefined reference to `XFree’
qoffscreenintegration_x11.cpp:(.text+0×522): undefined reference to `qglx_findVisualInfo(_XDisplay*, int, QSurfaceFormat*)’
qoffscreenintegration_x11.cpp:(.text+0×579): undefined reference to `XFree’
.obj/release-shared/qoffscreenintegration_x11.o: In function `QOffscreenX11Integration::createPlatformOpenGLContext(QOpenGLContext*) const’:
qoffscreenintegration_x11.cpp:(.text+0×6fd): undefined reference to `XCloseDisplay’
.obj/release-shared/qoffscreenintegration_x11.o: In function `QOffscreenX11Integration::~QOffscreenX11Integration()’:
qoffscreenintegration_x11.cpp:(.text._ZN24QOffscreenX11IntegrationD2Ev[_ZN24QOffscreenX11IntegrationD5Ev]+0×20): undefined reference to `XCloseDisplay’
.obj/release-shared/qoffscreenintegration_x11.o: In function `QOffscreenX11Integration::~QOffscreenX11Integration()’:
qoffscreenintegration_x11.cpp:(.text._ZN24QOffscreenX11IntegrationD0Ev[_ZN24QOffscreenX11IntegrationD0Ev]+0×21): undefined reference to `XCloseDisplay’
collect2: error: ld returned 1 exit status
make5: *** [../../../../plugins/platforms/libqoffscreen.so] Error 1
make5: Leaving directory `/home/sidney/MyQt/qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/offscreen’
make4: *** [sub-offscreen-make_first] Error 2
make4: Leaving directory `/home/sidney/MyQt/qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms’
make3: *** [sub-platforms-make_first] Error 2
make3: Leaving directory `/home/sidney/MyQt/qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins’
make2: *** [sub-plugins-make_first] Error 2
make2: Leaving directory `/home/sidney/MyQt/qt-everywhere-opensource-src-5.1.1/qtbase/src’
make1: *** [sub-src-make_first] Error 2
make1: Leaving directory `/home/sidney/MyQt/qt-everywhere-opensource-src-5.1.1/qtbase’
make: *** [module-qtbase-make_first] Error 2
It seems that there is an actual dependency on Xlib that somehow fails to make it into the Makefile.
Is there an easy fix?
Sidney
↧