Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-32591

Android requires explicitly adding SSL include path to configure and does not print out SSL detection errors

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • P2: Important
    • None
    • 5.1.0
    • Build System
    • None
    • Android Arm7 - xbuild on ubuntu 32 bit
    • Android

    Description

      Here's the configure that I used for Qt/Android build:

       
      ./configure -openssl-linked -prefix $PWD/qtbase -no-rpath -release -xplatform android-g++ -fontconfig -no-c++11 -opengl es2 -nomake tests -compile-examples -nomake examples -skip qttranslations -skip qtwebkit -skip qtserialport -skip qtwebkit-examples 
      

      The Qt build succeeds, however, it does not build the SSL components. For instance, attempting to build the securesocketclient, produces this error:

      /home/jokeman/qt-android-5.1.1-rc1-ssl-linked/qtbase/examples/network/securesocketclient What? qmake
      /home/jokeman/qt-android-5.1.1-rc1-ssl-linked/qtbase/examples/network/securesocketclient What? make
      
      /home/jokeman/qt-android-5.1.1-rc1-ssl-linked/qtbase/bin/uic certificateinfo.ui -o .uic/release-shared/ui_certificateinfo.h
      /home/jokeman/qt-android-5.1.1-rc1-ssl-linked/qtbase/bin/uic sslclient.ui -o .uic/release-shared/ui_sslclient.h
      /home/jokeman/qt-android-5.1.1-rc1-ssl-linked/qtbase/bin/uic sslerrors.ui -o .uic/release-shared/ui_sslerrors.h
      /home/jokeman/android-ndk-r8e/toolchains/arm-linux-androideabi-4.7/prebuilt/linux-x86/bin/arm-linux-androideabi-g++ -c -Wno-psabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -Wa,--noexecstack -std=gnu++0x -O2 -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -fno-exceptions -Wall -Wno-psabi -W -D_REENTRANT -fPIE -DQT_NO_PRINTDIALOG -DQT_EDITION=QT_EDITION_DESKTOP -DQT_NO_LIBUDEV -DQT_NO_XCB -DQT_NO_XKBCOMMON -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../mkspecs/android-g++ -I. -I../../../include -I../../../include/QtWidgets -I../../../include/QtNetwork -I../../../include/QtGui -I../../../include/QtCore -I.moc/release-shared -I.uic/release-shared -I/home/jokeman/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/include -I/home/jokeman/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I/home/jokeman/android-ndk-r8e/platforms/android-14/arch-arm/usr/include -o .obj/release-shared/certificateinfo.o certificateinfo.cpp
      In file included from certificateinfo.cpp:41:0:
      certificateinfo.h:58:42: error: 'QSslCertificate' was not declared in this scope
      certificateinfo.h:58:57: error: template argument 1 is invalid
      certificateinfo.h:65:11: error: 'QSslCertificate' was not declared in this scope
      

      And, the .obj directory within the network module, does not include the Qt SSL modules:

      /home/jokeman/qt-android-5.1.1-rc1-ssl-linked/qtbase/src/network/.obj/release-shared What? ls
      moc_qabstractnetworkcache.o		moc_qnetworkdiskcache.o        qhostinfo.o			      qnetworkaccessbackend.o		qnetworkreplydataimpl.o
      moc_qabstractsocketengine_p.o		moc_qnetworkreplyhttpimpl_p.o  qhostinfo_unix.o			      qnetworkaccesscachebackend.o	qnetworkreplyfileimpl.o
      moc_qbearerplugin_p.o			moc_qnetworkreply.o	       qhttpmultipart.o			      qnetworkaccesscache.o		qnetworkreplyhttpimpl.o
      moc_qdnslookup_p.o			moc_qnetworksession_p.o        qhttpnetworkconnectionchannel.o	      qnetworkaccessdebugpipebackend.o	qnetworkreplyimpl.o
      moc_qhostinfo_p.o			moc_qsocks5socketengine_p.o    qhttpnetworkconnection.o		      qnetworkaccessfilebackend.o	qnetworkreply.o
      moc_qhttpmultipart.o			moc_qtcpsocket.o	       qhttpnetworkheader.o		      qnetworkaccessftpbackend.o	qnetworkrequest.o
      moc_qhttpnetworkreply_p.o		moc_qudpsocket.o	       qhttpnetworkreply.o		      qnetworkaccessmanager.o		qnetworksession.o
      moc_qhttpsocketengine_p.o		qabstractnetworkcache.o        qhttpnetworkrequest.o		      qnetworkconfigmanager.o		qsharednetworksession.o
      moc_qhttpthreaddelegate_p.o		qabstractsocketengine.o        qhttpsocketengine.o		      qnetworkconfigmanager_p.o		qsocks5socketengine.o
      moc_qnativesocketengine_p.o		qabstractsocket.o	       qhttpthreaddelegate.o		      qnetworkconfiguration.o		qtcpserver.o
      moc_qnetworkaccessbackend_p.o		qauthenticator.o	       qlocalserver.o			      qnetworkcookiejar.o		qtcpsocket.o
      moc_qnetworkaccesscache_p.o		qbearerengine.o		       qlocalserver_unix.o		      qnetworkcookie.o			qudpsocket.o
      moc_qnetworkaccessdebugpipebackend_p.o	qbearerplugin.o		       qlocalsocket.o			      qnetworkdiskcache.o		qurlinfo.o
      moc_qnetworkaccessfilebackend_p.o	qdnslookup_android.o	       qlocalsocket_unix.o		      qnetworkinterface.o
      moc_qnetworkaccessftpbackend_p.o	qdnslookup.o		       qnativesocketengine.o		      qnetworkinterface_unix.o
      moc_qnetworkconfigmanager_p.o		qftp.o			       qnativesocketengine_unix.o	      qnetworkproxy_generic.o
      moc_qnetworkcookiejar.o			qhostaddress.o		       qnetworkaccessauthenticationmanager.o  qnetworkproxy.o
      /home/jokeman/qt-android-5.1.1-rc1-ssl-linked/qtbase/src/network/.obj/release-shared What? 
      

      The shared lib configure option, -openssl, also produces the same result.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            tpochep Timur Pocheptsov
            jokeman Gary Hynes
            Votes:
            3 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes