<div dir="ltr"><div>Hi all,</div><div> </div><div>Att. I encounter the build failure issue when BR is configured to select ti-gfx and QT5/eglfs. The build log sequence is as follows. Surprisingly by nm from the same toolchain, the undefined symbols really appear in the Qt5Gui library. I cannot figure out what's wrong. If more info is required, please not hesiate to ask. Any suggestion is welcome. Thanks!</div>
<div> </div><div>Best Regards,</div><div>Simon Chan</div><div> </div><div>Building on:   linux-g++-64<br>Building for:  devices/linux-buildroot-g++<br>Architecture:  arm, features: neon<br>Host architecture: x86_64, features: mmx sse sse2<br>
Platform notes:</div><div>            - Also available for Linux: linux-kcc linux-icc linux-cxx<br>        <br>qmake vars .......... styles += mac fusion windows QT_CFLAGS_GLIB = -pthread -I/home/ASIA/jc19/abserv/linux-buildroot2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/glib-2.0 -I/home/ASIA/jc19/abserv/linux-buildroot2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/glib-2.0/include -I/home/ASIA/jc19/abserv/linux-buildroot2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include   QT_LIBS_GLIB = -lgthread-2.0 -pthread -lrt -L/home/ASIA/jc19/abserv/linux-buildroot2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -lglib-2.0   QMAKE_INCDIR_OPENGL_ES2 =  "/home/ASIA/jc19/abserv/linux-buildroot2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/GLES2" QMAKE_LIBDIR_OPENGL_ES2 =  "/home/ASIA/jc19/abserv/linux-buildroot2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/lib" QMAKE_LIBS_OPENGL_ES2 =  "-L/home/ASIA/jc19/abserv/linux-buildroot2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/lib" "-lGLESv2" "-lGLES_CM" "-lsrv_um" "-lusc" "-lEGL" "-lIMGegl" QMAKE_INCDIR_LIBUDEV = /home/ASIA/jc19/abserv/linux-buildroot2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include   QMAKE_LIBS_LIBUDEV = -L/home/ASIA/jc19/abserv/linux-buildroot2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -ludev -lrt   DEFINES += QT_NO_XCB QMAKE_INCDIR_EGL = /home/ASIA/jc19/abserv/linux-buildroot2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot{includedir}/EGL/ /home/ASIA/jc19/abserv/linux-buildroot2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr//include   QMAKE_LIBS_EGL = -L/home/ASIA/jc19/abserv/linux-buildroot2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr//lib -lEGL -lGLESv2 -lIMGegl   QMAKE_CFLAGS_DIRECTFB = -D_REENTRANT -I/home/ASIA/jc19/abserv/linux-buildroot2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/directfb   QMAKE_LIBS_DIRECTFB = -ldirectfb  -lz -lfusion -L/home/ASIA/jc19/abserv/linux-buildroot2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -ldirect -lpthread   PRECOMPILED_DIR = .pch/release-shared OBJECTS_DIR = .obj/release-shared MOC_DIR = .moc/release-shared RCC_DIR = .rcc/release-shared UI_DIR = .uic/release-shared sql-drivers =  sql-plugins =  sqlite qmake switches ......... <br>
Build .................. libs<br>Configuration ..........  cross_compile system-sqlite qpa largefile neon  minimal-config small-config medium-config large-config full-config libudev evdev directfb linuxfb accessibility egl eglfs opengl opengles2 shared qpa reduce_exports reduce_relocations clock-gettime clock-monotonic mremap getaddrinfo ipv6ifname getifaddrs inotify system-jpeg system-png png freetype system-zlib glib alsa concurrent audio-backend v8 release<br>
Debug .................. no<br>C++11 support .......... no<br>pkg-config ............. yes<br>Qt D-Bus module ........ no<br>Qt Concurrent code ..... yes<br>Qt GUI module .......... yes<br>Qt Widgets module ...... yes<br>
JavaScriptCore JIT ..... To be decided by JavaScriptCore<br>QML debugging .......... yes<br>PCH support ............ no<br>iWMMXt support ......... no<br>NEON support ........... yes<br>IPv6 ifname support .... yes<br>getaddrinfo support .... yes<br>
getifaddrs support ..... yes<br>Accessibility .......... yes<br>NIS support ............ no<br>CUPS support ........... no<br>Iconv support .......... no<br>Glib support ........... yes<br>GStreamer support ...... no<br>PulseAudio support ..... no<br>
Large File support ..... yes<br>GIF support ............ plugin<br>JPEG support ........... plugin (system)<br>PNG support ............ yes (system)<br>zlib support ........... system<br>Session management ..... auto<br>libudev support ........ yes<br>
Use system proxies ..... no<br>OpenGL support ......... yes (OpenGL ES 2.x)<br>OpenVG support ......... no<br>XShape support ......... auto<br>XVideo support ......... auto<br>XSync support .......... auto<br>Xinerama support ....... runtime<br>
Xcursor support ........ runtime<br>Xfixes support ......... runtime<br>Xrandr support ......... runtime<br>Xi support ............. runtime<br>Xi2 support ............ auto<br>MIT-SHM support ........ auto<br>FontConfig support ..... no<br>
XKB Support ............ auto<br>GTK theme support ...... no<br>SQLite support ......... plugin (system)<br>OpenSSL support ........ no <br>Alsa support ........... yes<br>libICU support ......... no<br>PCRE support ........... system<br>
Xcb support ............ no<br>Xrender support ........ no<br>EGLFS support .......... yes<br>DirectFB support ....... yes<br>LinuxFB support ........ yes<br>KMS support ............ no</div><div><br>Qt is now configured for building. Just run 'make'.<br>
Once everything is built, you must run 'make install'.<br>Qt will be installed into /usr</div><div>......</div><div>......</div><div>rm -f libQt5OpenGL.so.5.0.2 libQt5OpenGL.so libQt5OpenGL.so.5 libQt5OpenGL.so.5.0<br>
/home/ASIA/jc19/abserv/linux-buildroot2/output/host/usr/bin/arm-linux-gnueabihf-g++ --sysroot=/home/ASIA/jc19/abserv/linux-buildroot2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot -Wl,--no-undefined -Wl,-O1 -shared -Wl,-Bsymbolic-functions -Wl,-soname,libQt5OpenGL.so.5 -o libQt5OpenGL.so.5.0.2 .obj/release-shared/qgl.o .obj/release-shared/qglcolormap.o .obj/release-shared/qglfunctions.o .obj/release-shared/qglpixelbuffer.o .obj/release-shared/qglframebufferobject.o .obj/release-shared/qglextensions.o .obj/release-shared/qglpaintdevice.o .obj/release-shared/qglbuffer.o .obj/release-shared/qglshaderprogram.o .obj/release-shared/qgraphicsshadereffect.o .obj/release-shared/qglgradientcache.o .obj/release-shared/qglengineshadermanager.o .obj/release-shared/qgl2pexvertexarray.o .obj/release-shared/qpaintengineex_opengl2.o .obj/release-shared/qglcustomshaderstage.o .obj/release-shared/qtextureglyphcache_gl.o .obj/release-shared/qgl_qpa.o .obj/release-shared/moc_qgl.o .obj/release-shared/moc_qgl_p.o .obj/release-shared/moc_qglshaderprogram.o .obj/release-shared/moc_qgraphicsshadereffect_p.o .obj/release-shared/moc_qglengineshadermanager_p.o  -L/home/ASIA/jc19/abserv/linux-buildroot2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -L/home/ASIA/jc19/abserv/linux-buildroot2/output/build/qt5base-5.0.2/lib -lQt5Widgets -lQt5Gui -lQt5Core -lrt -ldl -lpthread -L/home/ASIA/jc19/abserv/linux-buildroot2/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr//lib -lGLESv2 -lGLES_CM -lsrv_um -lusc -lEGL -lIMGegl <br>
.obj/release-shared/qpaintengineex_opengl2.o: In function `QGL2PaintEngineEx::QGL2PaintEngineEx()':<br>qpaintengineex_opengl2.cpp:(.text+0x118c): undefined reference to `QDashedStrokeProcessor::QDashedStrokeProcessor()'<br>
.obj/release-shared/qpaintengineex_opengl2.o: In function `QGL2PaintEngineExPrivate::fill(QVectorPath const&)':<br>qpaintengineex_opengl2.cpp:(.text+0x52bc): undefined reference to `qTriangulate(QVectorPath const&, QTransform const&, float)'<br>
qpaintengineex_opengl2.cpp:(.text+0x55ac): undefined reference to `qTriangulate(QVectorPath const&, QTransform const&, float)'<br>.obj/release-shared/qpaintengineex_opengl2.o: In function `QGL2PaintEngineExPrivate::stroke(QVectorPath const&, QPen const&)':<br>
qpaintengineex_opengl2.cpp:(.text+0x5ecc): undefined reference to `QDashedStrokeProcessor::process(QVectorPath const&, QPen const&, QRectF const&, QFlags<QPainter::RenderHint>)'<br>qpaintengineex_opengl2.cpp:(.text+0x5f08): undefined reference to `QTriangulatingStroker::process(QVectorPath const&, QPen const&, QRectF const&, QFlags<QPainter::RenderHint>)'<br>
qpaintengineex_opengl2.cpp:(.text+0x6204): undefined reference to `QTriangulatingStroker::process(QVectorPath const&, QPen const&, QRectF const&, QFlags<QPainter::RenderHint>)'<br>.obj/release-shared/qgl.o: In function `QGLContext::currentContext()':<br>
qgl.cpp:(.text+0x288c): undefined reference to `QOpenGLContext::currentContext()'<br>.obj/release-shared/qglfunctions.o: In function `QGLFunctions::QGLFunctions(QGLContext const*)':<br>qglfunctions.cpp:(.text+0x1d0): undefined reference to `QOpenGLContext::shareGroup() const'<br>
qglfunctions.cpp:(.text+0x200): undefined reference to `QOpenGLContext::shareGroup() const'<br>qglfunctions.cpp:(.text+0x20c): undefined reference to `QOpenGLSharedResource::QOpenGLSharedResource(QOpenGLContextGroup*)'<br>
qglfunctions.cpp:(.text+0x234): undefined reference to `QOpenGLMultiGroupSharedResource::insert(QOpenGLContext*, QOpenGLSharedResource*)'<br>qglfunctions.cpp:(.text+0x2c8): undefined reference to `QOpenGLMultiGroupSharedResource::QOpenGLMultiGroupSharedResource()'<br>
qglfunctions.cpp:(.text+0x304): undefined reference to `QOpenGLMultiGroupSharedResource::~QOpenGLMultiGroupSharedResource()'<br>.obj/release-shared/qglfunctions.o: In function `QGLFunctions::initializeGLFunctions(QGLContext const*)':<br>
qglfunctions.cpp:(.text+0x464): undefined reference to `QOpenGLContext::shareGroup() const'<br>qglfunctions.cpp:(.text+0x494): undefined reference to `QOpenGLContext::shareGroup() const'<br>qglfunctions.cpp:(.text+0x4a0): undefined reference to `QOpenGLSharedResource::QOpenGLSharedResource(QOpenGLContextGroup*)'<br>
qglfunctions.cpp:(.text+0x4c8): undefined reference to `QOpenGLMultiGroupSharedResource::insert(QOpenGLContext*, QOpenGLSharedResource*)'<br>qglfunctions.cpp:(.text+0x55c): undefined reference to `QOpenGLMultiGroupSharedResource::QOpenGLMultiGroupSharedResource()'<br>
qglfunctions.cpp:(.text+0x598): undefined reference to `QOpenGLMultiGroupSharedResource::~QOpenGLMultiGroupSharedResource()'</div><div>......</div><div>collect2: error: ld returned 1 exit status<br>make[4]: *** [../../lib/libQt5OpenGL.so.5.0.2] Error 1<br>
make[4]: Leaving directory `/home/ASIA/jc19/abserv/linux-buildroot2/output/build/qt5base-5.0.2/src/opengl'<br>make[3]: *** [sub-opengl-make_first] Error 2<br>make[3]: Leaving directory `/home/ASIA/jc19/abserv/linux-buildroot2/output/build/qt5base-5.0.2/src'<br>
make[2]: *** [sub-src-make_first] Error 2<br>make[2]: Leaving directory `/home/ASIA/jc19/abserv/linux-buildroot2/output/build/qt5base-5.0.2'<br>make[1]: *** [/home/ASIA/jc19/abserv/linux-buildroot2/output/build/qt5base-5.0.2/.stamp_built] Error 2<br>
make[1]: Leaving directory `/home/ASIA/jc19/abserv/linux-buildroot2/build'<br>make: *** [all] Error 2</div><div> </div><div> </div></div>