Qdnslookup_unix cross compilation error



  • Hi,

    I'm trying to cross compile qt 5.3.0 from git to arm(IMX25) architecture, which I create a device configuration under mkspecs/devices, but I always get this message from the make command:

    /opt/toolchain/usr/bin/arm-linux-g++ -c -include .pch/Qt5Network -pipe -mfloat-abi=softfp --sysroot=/opt/toolchain-3.10/usr/arm-buildroot-linux-uclibcgnueabi/sysroot -O2 -Os -Wall -Wunused -Wreturn-type -Wparentheses -Wmissing-braces -Wwrite-strings -Wno-psabi -D_POSIX_C_SOURCE=200112L -D_GNU_SOURCE -D_REENTRANT -fdata-sections -ffunction-sections -std=c++0x -fPIC -D_FILE_OFFSET_BITS=64 -Wno-psabi -fno-threadsafe-statics -D_GNU_SOURCE -fno-strict-aliasing -Wno-unused-local-typedefs -fvisibility=hidden -fvisibility-inlines-hidden -std=c++0x -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_USING_NAMESPACE -DQT_BUILD_NETWORK_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 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I../../mkspecs/devices/linux-imx25-g++ -I. -I../../include -I../../include/QtNetwork -I../../include/QtNetwork/5.3.0 -I../../include/QtNetwork/5.3.0/QtNetwork -Ikernel -I../../include/QtCore/5.3.0 -I../../include/QtCore/5.3.0/QtCore -I../../include/QtCore -I.moc -isystem /opt/toolchain-3.10/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include -o .obj/qnetworkinterface_unix.o kernel/qnetworkinterface_unix.cpp
    kernel/qdnslookup_unix.cpp: In static member function ‘static void QDnsLookupRunnable::query(int, const QByteArray&, const QHostAddress&, QDnsLookupReply*)’:
    kernel/qdnslookup_unix.cpp:165:27: error: ‘struct __res_state::<anonymous union>::<anonymous>’ has no member named ‘nsmap’

             state._u._ext.nsmap[0] = MAXNS + 1;
                           ^
    

    make[2]: *** [.obj/qdnslookup_unix.o] Error 1
    make[2]: *** Waiting for unfinished jobs....
    make[2]: Leaving directory /home/eduardo/developer-tools/qt5-repository/qt5/qtbase/src/network' make[1]: *** [sub-network-make_first] Error 2 make[1]: Leaving directory/home/eduardo/developer-tools/qt5-repository/qt5/qtbase/src'
    make: *** [sub-src-make_first] Error 2

    My configure command is:
    ./configure -device linux-imx25-g++ -device-option CROSS_COMPILE=/opt/toolchain/usr/bin/arm-linux- -sysroot /opt/toolchain-3.10/usr/arm-buildroot-linux-uclibcgnueabi/sysroot -opensource -confirm-license -optimized-qmake -reduce-exports -release -make libs -prefix /home/eduardo/developer-tools/qt5-avx3400 -no-eglfs -no-opengl -no-cups -no-widgets -no-gui

    Anyone knows how to fix it?

    thanks in advance



  • I'm getting the same issue compiling for MIPS

    kernel/qdnslookup_unix.cpp: In static member function 'static void QDnsLookupRunnable::query(int, const QByteArray&, const QHostAddress&, QDnsLookupReply*)':
    kernel/qdnslookup_unix.cpp:165:27: error: 'struct __res_state::<anonymous union>::<anonymous>' has no member named 'nsmap'
    state._u._ext.nsmap[0] = MAXNS + 1;



  • To get round this I made a change to:
    qtsource/qtbase/src/network/kernel/qdnslookup_unix.cpp

    I changed (line:152):
    #if defined(Q_OS_LINUX)

    To this:
    #if 0

    Not sure what I'm losing, but it go me building.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.