Important: Please read the Qt Code of Conduct -

Cannot build static arm-linux version using Qt5.0

  • Hello all,

    I was trying to build static arm-linux version using Qt5.0, but failed in process.
    By the way, I have complied the Qt5.0 alpha version and succeed before.

    Here is my enviroment:

    OS: Ubuntu 10.04.4
    platform: arm freescale imx51

    and here are my steps:

    1. download source code from here:
    2. unzip this file
    3. set the configure

    here are my configure:

    ./configure -prefix /usr/local/Qt5.0.0_static_arm -developer-build -opensource -static -xplatform linux-g++-mx -nomake examples -verbose -eglfs -opengl es2 -liconv -arch arm -no-xcb -confirm-license

    it seemed ok at here, at least there was no error.

    1. make

    There were some questions when making:

    a.cannot find -lqxcb

    when building the part examples of qtbase/qtsvg/qtxmlpattern, it will appear this message.
    Therefore, I modified the makefile to avoid building this part, for example

    original makefile in qtbase/qtsvg/qtxmlpattern :
    make_first: sub-src-make_first sub-examples-make_first sub-tests-make_first FORCE

    and I modified to become this:
    make_first: sub-src-make_first FORCE

    Although it can building success fully, but I still want to know the better solution.

    b. target architecture error

    When building the folder qtjsbackend, I met a new problem, the error message look like this:

    make[3]: Entering directory /Space/Qt5.0.0/qt-everywhere-opensource-src-5.0.0/qtjsbackend/src/v8' arm-none-linux-gnueabi-g++ -c -O2 -pipe -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -g -w -fvisibility=hidden -fvisibility-inlines-hidden -D_REENTRANT -fPIC -DQT_NO_LIBUDEV -DQT_NO_XCB -DQT_BUILD_V8_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DENABLE_DEBUGGER_SUPPORT -DENABLE_VMSTATE_TRACKING -DENABLE_LOGGING_AND_PROFILING -DDEBUG -DV8_ENABLE_CHECKS -DOBJECT_PRINT -DENABLE_DISASSEMBLER -DV8_TARGET_ARCH_IA32 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/Space/Qt5.0.0/qt-everywhere-opensource-src-5.0.0/qtbase/mkspecs/linux-g++-mx -I. -I../../include -I../../include/QtV8 -I../../include/QtV8/5.0.0 -I../../include/QtV8/5.0.0/QtV8 -I../3rdparty/v8/src -I/Space/ltib2/ltib/rootfs/usr/include -I/Space/ltib2/ltib/rootfs/usr/include/glib-2.0 -I/Space/ltib2/ltib/rootfs/usr/lib/glib-2.0/include -I/Space/ltib2/ltib/rootfs/usr/include/gstreamer-0.10 -I/Space/ltib2/ltib/rootfs/usr/include/libxml2 -I/Space/ltib2/ltib/rootfs/usr/include/freetype2 -o .obj/debug-static/accessors.o ../3rdparty/v8/src/ In file included from ../3rdparty/v8/src/v8globals.h:31, from ../3rdparty/v8/src/v8.h:53, from ../3rdparty/v8/src/ ../3rdparty/v8/src/globals.h:113:2: error: #error Target architecture ia32 is only supported on ia32 host In file included from ../3rdparty/v8/src/v8utils.h:32, from ../3rdparty/v8/src/v8.h:56, from ../3rdparty/v8/src/ ../3rdparty/v8/src/platform.h:117: note: the mangling of 'va_list' has changed in GCC 4.4 make[3]: *** [.obj/debug-static/accessors.o] Error 1 make[3]: Leaving directory/Space/Qt5.0.0/qt-everywhere-opensource-src-5.0.0/qtjsbackend/src/v8'
    make[2]: *** [sub-v8-make_first-ordered] Error 2
    make[2]: Leaving directory /Space/Qt5.0.0/qt-everywhere-opensource-src-5.0.0/qtjsbackend/src' make[1]: *** [sub-src-make_first] Error 2 make[1]: Leaving directory/Space/Qt5.0.0/qt-everywhere-opensource-src-5.0.0/qtjsbackend'
    make: *** [module-qtjsbackend-make_first] Error 2

    It seemed that I set wrong platform in the configure, but my configure has include the parameter
    "-arch arm", so I am confused that why appear this error.

    I have searched from google and here, but it seems that no similar problems as mine, so I post at here and need your help.

    If there is any question that I don't say clearly or wrong, please let me know.

    Thanks for your help!

  • I have this same problem with 5.1.0-beta1.

    How is this fixed?

Log in to reply