[Development] Qt5 Beta cross compiling problem
Christoph Kurz
c.kurz at melph.de
Thu Sep 27 17:11:23 CEST 2012
Hi,
I have a problem cross compiling the Qt5-Beta for an i.MX6 Board.
The host OS is a Fedora Linux, the target OS is an embedded Linux.
Steps taken so far:
– I set up LTIB and created a rootfs for the target.
– I downloaded the Qt5 sourcecode and excluded svg and webkit by renaming the
corresponding folders
– I copied the linux-imx6-makespec in the qtbase/mkspecs folder (see attachment
"config.txt")
- I configured the build with the following command (runs without any errors):
./configure -prefix /home/local/CW01/uidv7014/Qt_for_target -developer-build
-confirm-license -opensource -nomake tests -nomake docs -nomake demos -nomake
examples -no-xcb -no-wayland -xplatform linux-imx6 -arch armv7 -opengl es2
-openvg -eglfs -release -v
- I tried to run make, but after a while, an error occurs (see attachment
"error.txt")
As this error seems to occur in the neon-package, I excluded it by using the
-no-neon option in the configure-command. This seems to work, but then a very
similar error occurs in the sqlite-package and in various other packages, too.
I compiled the Qt5 Alpha successfully, using the same specs and environment.
Any ideas?
- Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20120927/0d537f92/attachment.html>
-------------- next part --------------
#
# qmake configuration for building with arm-linux-gnueabi-g++
#
MAKEFILE_GENERATOR = UNIX
TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release incremental link_prl gdb_dwarf_index
QT += core gui
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
# define prefix for rootfs and compiler
REQS_PREFIX=/home/local/CW01/uidv7014/IMX6/ltib/rootfs
GCC_PREFIX=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi
# includes and libs directories
QMAKE_INCDIR = $${REQS_PREFIX}/usr/include $${REQS_PREFIX}/usr/include/glib-2.0 \
$${REQS_PREFIX}/usr/lib/glib-2.0/include/ \
$${REQS_PREFIX}/usr/include/gstreamer-0.10/ \
$${REQS_PREFIX}/usr/include/libxml2/ $${REQS_PREFIX}/usr/include/freetype2 \
$${REQS_PREFIX}/usr/include/dbus-1.0 $${REQS_PREFIX}/usr/include/dbus-1.0/dbus
QMAKE_LIBDIR = $${REQS_PREFIX}/usr/lib
QMAKE_INCDIR_OPENGL = $${REQS_PREFIX}/usr/include/GL
QMAKE_LIBDIR_OPENGL = $${REQS_PREFIX}/usr/lib
QMAKE_INCDIR_POWERVR = $${REQS_PREFIX}/usr/include
QMAKE_INCDIR_OPENGL_ES1 = $${REQS_PREFIX}/usr/include/GLES
QMAKE_LIBDIR_OPENGL_ES1 = $${REQS_PREFIX}/usr/lib
QMAKE_INCDIR_OPENGL_ES1CL = $${REQS_PREFIX}/usr/include/GLES
QMAKE_LIBDIR_OPENGL_ES1CL = $${REQS_PREFIX}/usr/lib
QMAKE_INCDIR_OPENGL_ES2 = $${REQS_PREFIX}/usr/include/GLES2
QMAKE_LIBDIR_OPENGL_ES2 = $${REQS_PREFIX}/usr/lib
QMAKE_INCDIR_EGL = $${REQS_PREFIX}/usr/include/GL
QMAKE_LIBDIR_EGL = $${REQS_PREFIX}/usr/lib
QMAKE_INCDIR_OPENVG = $${REQS_PREFIX}/usr/include/VG
QMAKE_LIBDIR_OPENVG = $${REQS_PREFIX}/usr/lib
# libs
QMAKE_LIBS = -lglib-2.0 -lgthread-2.0 -lgstreamer-0.10 -lxml2 -lz -lgmodule-2.0 -lgobject-2.0 -lts -lasound -lfreetype -lexpat -ljpeg -lfontconfig -lpng -lGLESv2 -lGLES_CM -lVDK -lGAL -lEGL -lOpenVG -lpthread
QMAKE_LIBS_EGL= -lEGL
QMAKE_LIBS_OPENGL_ES2= -lGLESv2 -lGLES_CM -lVDK -lGAL -lEGL -lOpenVG
QMAKE_LIBS_OPENVG= -lOpenVG -lVDK -lGAL -lEGL
QMAKE_LIBS_THREAD = -lpthread
# compiler flags
QMAKE_CFLAGS_RELEASE = -O2 -march=armv7-a -mfpu=neon -mfloat-abi=softfp -DLINUX=1 -DEGL_API_FB=1
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
# modifications to g++.conf
QMAKE_CC = $${GCC_PREFIX}-gcc
QMAKE_CXX = $${GCC_PREFIX}-g++
QMAKE_LINK = $${QMAKE_CXX}
QMAKE_LINK_SHLIB = $${QMAKE_CXX}
# modifications to linux.conf
QMAKE_AR = $${GCC_PREFIX}-ar cqs
QMAKE_OBJCOPY = $${GCC_PREFIX}-objcopy
QMAKE_STRIP = $${GCC_PREFIX}-strip
load(qt_config)
-------------- next part --------------
.obj/release-shared/qimage.o: In function `qInitImageConversions()’:
qimage.cpp:(.text+0×17bc): undefined reference to `convert_RGB888_to_RGB32_neon(QImageData*, QImageData const*, QFlags<Qt::ImageConversionFlag>)’
.obj/release-shared/qdrawhelper.o: In function `qInitDrawhelperAsm()’:
qdrawhelper.cpp:(.text+0×12ff0): undefined reference to `qt_blend_rgb32_on_rgb32_neon(unsigned char*, int, unsigned char const*, int, int, int, int)’
qdrawhelper.cpp:(.text+0×12ff4): undefined reference to `qt_blend_argb32_on_argb32_neon(unsigned char*, int, unsigned char const*, int, int, int, int)’
qdrawhelper.cpp:(.text+0×12ff8): undefined reference to `qt_blend_argb32_on_rgb16_neon(unsigned char*, int, unsigned char const*, int, int, int, int)’
qdrawhelper.cpp:(.text+0×12ffc): undefined reference to `qt_blend_rgb16_on_argb32_neon(unsigned char*, int, unsigned char const*, int, int, int, int)’
qdrawhelper.cpp:(.text+0×13000): undefined reference to `qt_blend_rgb16_on_rgb16_neon(unsigned char*, int, unsigned char const*, int, int, int, int)’
qdrawhelper.cpp:(.text+0×1300c): undefined reference to `qt_scale_image_argb32_on_rgb16_neon(unsigned char*, int, unsigned char const*, int, QRectF const&, QRectF const&, QRect const&, int)’
qdrawhelper.cpp:(.text+0×13010): undefined reference to `qt_scale_image_rgb16_on_rgb16_neon(unsigned char*, int, unsigned char const*, int, QRectF const&, QRectF const&, QRect const&, int)’
qdrawhelper.cpp:(.text+0×1301c): undefined reference to `qt_transform_image_argb32_on_rgb16_neon(unsigned char*, int, unsigned char const*, int, QRectF const&, QRectF const&, QRect const&, QTransform const&, int)’
qdrawhelper.cpp:(.text+0×13020): undefined reference to `qt_transform_image_rgb16_on_rgb16_neon(unsigned char*, int, unsigned char const*, int, QRectF const&, QRectF const&, QRect const&, QTransform const&, int)’
qdrawhelper.cpp:(.text+0×13024): undefined reference to `qt_alphamapblit_quint16_neon(QRasterBuffer*, int, int, unsigned int, unsigned char const*, int, int, int, QClipData const*)’
qdrawhelper.cpp:(.text+0×13028): undefined reference to `qt_memrotate90_16_neon(unsigned char const*, int, int, int, unsigned char*, int)’
qdrawhelper.cpp:(.text+0×1302c): undefined reference to `qt_blend_argb32_on_argb32_scanline_neon(unsigned int*, unsigned int const*, int, unsigned int)’
qdrawhelper.cpp:(.text+0×13030): undefined reference to `comp_func_solid_SourceOver_neon(unsigned int*, int, unsigned int, unsigned int)’
qdrawhelper.cpp:(.text+0×13034): undefined reference to `comp_func_Plus_neon(unsigned int*, unsigned int const*, int, unsigned int)’
qdrawhelper.cpp:(.text+0×13038): undefined reference to `qt_destFetchRGB16_neon(unsigned int*, QRasterBuffer*, int, int, int)’
qdrawhelper.cpp:(.text+0×1303c): undefined reference to `qt_destStoreRGB16_neon(QRasterBuffer*, int, int, unsigned int const*, int)’
qdrawhelper.cpp:(.text+0×13044): undefined reference to `qt_memrotate270_16_neon(unsigned char const*, int, int, int, unsigned char*, int)’
qdrawhelper.cpp:(.text+0×13048): undefined reference to `qt_memfill32_neon(unsigned int*, unsigned int, int)’
qdrawhelper.cpp:(.text+0×1304c): undefined reference to `qt_fetch_radial_gradient_neon(unsigned int*, Operator const*, QSpanData const*, int, int, int)’
collect2: ld returned 1 exit status
make2: *** [../../lib/libQtGui.so.5.0.0] Error 1
make1: *** [sub-gui-make_first] Error 2
make1: *** Waiting for unfinished jobs….
make: *** [sub-src-make_first] Error 2
More information about the Development
mailing list