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

6.0 Android build from src: error: unable to find library WrapOpenSSLHeaders::WrapOpenSSLHeaders

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • P2: Important
    • None
    • 6.0.0
    • Build System: CMake
    • Android, Linux/X11

    Description

      How rebuild Qt 6.0 for Android from sources under linux with OpenSSL:

      [  9%] Linking CXX shared library ../../lib/libQt6Network_armeabi-v7a.so
      Generating version linker script
      cd /qt5/qtbase/src/network && /usr/bin/perl /qt5/qtbase/mkspecs/features/data/unix/findclasslist.pl < /qt5/qtbase/src/network/Network.version.in > /qt5/qtbase/src/network/Network.version
      cd /qt5/qtbase/src/network && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/Network.dir/link.txt --verbose=1
      /android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=armv7-none-linux-androideabi23 --gcc-toolchain=/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64 --sysroot=/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security   -Oz -DNDEBUG -Oz -DNDEBUG -Oz -DNDEBUG  -Oz -Oz -Wl,--version-script,/qt5/qtbase/src/network/Network.version -Wl,--no-undefined -fuse-ld=lld -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libgcc_real.a -Wl,--exclude-libs,libatomic.a -Wl,--build-id -Wl,--fatal-warnings -Wl,--exclude-libs,libunwind.a -Wl,--no-undefined -Qunused-arguments  -shared -Wl,-soname,libQt6Network_armeabi-v7a.so -o ../../lib/libQt6Network_armeabi-v7a.so CMakeFiles/Network.dir/Network_autogen/mocs_compilation.cpp.o CMakeFiles/Network.dir/access/qabstractnetworkcache.cpp.o CMakeFiles/Network.dir/access/qhsts.cpp.o CMakeFiles/Network.dir/access/qhstspolicy.cpp.o CMakeFiles/Network.dir/access/qnetworkaccessauthenticationmanager.cpp.o CMakeFiles/Network.dir/access/qnetworkaccessbackend.cpp.o CMakeFiles/Network.dir/access/qnetworkaccesscache.cpp.o CMakeFiles/Network.dir/access/qnetworkaccesscachebackend.cpp.o CMakeFiles/Network.dir/access/qnetworkaccessdebugpipebackend.cpp.o CMakeFiles/Network.dir/access/qnetworkaccessfilebackend.cpp.o CMakeFiles/Network.dir/access/qnetworkaccessmanager.cpp.o CMakeFiles/Network.dir/access/qnetworkcookie.cpp.o CMakeFiles/Network.dir/access/qnetworkcookiejar.cpp.o CMakeFiles/Network.dir/access/qnetworkfile.cpp.o CMakeFiles/Network.dir/access/qnetworkreply.cpp.o CMakeFiles/Network.dir/access/qnetworkreplydataimpl.cpp.o CMakeFiles/Network.dir/access/qnetworkreplyfileimpl.cpp.o CMakeFiles/Network.dir/access/qnetworkreplyimpl.cpp.o CMakeFiles/Network.dir/access/qnetworkrequest.cpp.o CMakeFiles/Network.dir/kernel/qauthenticator.cpp.o CMakeFiles/Network.dir/kernel/qhostaddress.cpp.o CMakeFiles/Network.dir/kernel/qhostinfo.cpp.o CMakeFiles/Network.dir/kernel/qnetworkdatagram.cpp.o CMakeFiles/Network.dir/kernel/qnetworkinterface.cpp.o CMakeFiles/Network.dir/kernel/qnetworkproxy.cpp.o CMakeFiles/Network.dir/socket/qabstractsocket.cpp.o CMakeFiles/Network.dir/socket/qabstractsocketengine.cpp.o CMakeFiles/Network.dir/socket/qnativesocketengine.cpp.o CMakeFiles/Network.dir/socket/qtcpserver.cpp.o CMakeFiles/Network.dir/socket/qtcpsocket.cpp.o CMakeFiles/Network.dir/socket/qudpsocket.cpp.o CMakeFiles/Network.dir/ssl/qasn1element.cpp.o CMakeFiles/Network.dir/ssl/qpassworddigestor.cpp.o CMakeFiles/Network.dir/ssl/qssl.cpp.o CMakeFiles/Network.dir/ssl/qsslcertificate.cpp.o CMakeFiles/Network.dir/ssl/qsslcertificateextension.cpp.o CMakeFiles/Network.dir/access/qnetworkdiskcache.cpp.o CMakeFiles/Network.dir/access/qhstsstore.cpp.o CMakeFiles/Network.dir/access/http2/bitstreams.cpp.o CMakeFiles/Network.dir/access/http2/hpack.cpp.o CMakeFiles/Network.dir/access/http2/hpacktable.cpp.o CMakeFiles/Network.dir/access/http2/http2frames.cpp.o CMakeFiles/Network.dir/access/http2/http2protocol.cpp.o CMakeFiles/Network.dir/access/http2/http2streams.cpp.o CMakeFiles/Network.dir/access/http2/huffman.cpp.o CMakeFiles/Network.dir/access/qabstractprotocolhandler.cpp.o CMakeFiles/Network.dir/access/qdecompresshelper.cpp.o CMakeFiles/Network.dir/access/qhttp2configuration.cpp.o CMakeFiles/Network.dir/access/qhttp2protocolhandler.cpp.o CMakeFiles/Network.dir/access/qhttpmultipart.cpp.o CMakeFiles/Network.dir/access/qhttpnetworkconnection.cpp.o CMakeFiles/Network.dir/access/qhttpnetworkconnectionchannel.cpp.o CMakeFiles/Network.dir/access/qhttpnetworkheader.cpp.o CMakeFiles/Network.dir/access/qhttpnetworkreply.cpp.o CMakeFiles/Network.dir/access/qhttpnetworkrequest.cpp.o CMakeFiles/Network.dir/access/qhttpprotocolhandler.cpp.o CMakeFiles/Network.dir/access/qhttpthreaddelegate.cpp.o CMakeFiles/Network.dir/access/qnetworkreplyhttpimpl.cpp.o CMakeFiles/Network.dir/socket/qhttpsocketengine.cpp.o CMakeFiles/Network.dir/kernel/qtldurl.cpp.o CMakeFiles/Network.dir/kernel/qdnslookup.cpp.o CMakeFiles/Network.dir/kernel/qhostinfo_unix.cpp.o CMakeFiles/Network.dir/socket/qnativesocketengine_unix.cpp.o CMakeFiles/Network.dir/kernel/qnetworkinterface_unix.cpp.o CMakeFiles/Network.dir/kernel/qdnslookup_android.cpp.o CMakeFiles/Network.dir/kernel/qnetconmonitor_stub.cpp.o CMakeFiles/Network.dir/kernel/qnetworkproxy_android.cpp.o CMakeFiles/Network.dir/socket/qsocks5socketengine.cpp.o CMakeFiles/Network.dir/socket/qlocalserver.cpp.o CMakeFiles/Network.dir/socket/qlocalsocket.cpp.o CMakeFiles/Network.dir/socket/qlocalserver_unix.cpp.o CMakeFiles/Network.dir/socket/qlocalsocket_unix.cpp.o CMakeFiles/Network.dir/ssl/qocspresponse.cpp.o CMakeFiles/Network.dir/ssl/qsslcipher.cpp.o CMakeFiles/Network.dir/ssl/qsslconfiguration.cpp.o CMakeFiles/Network.dir/ssl/qssldiffiehellmanparameters.cpp.o CMakeFiles/Network.dir/ssl/qsslellipticcurve.cpp.o CMakeFiles/Network.dir/ssl/qsslerror.cpp.o CMakeFiles/Network.dir/ssl/qsslkey_p.cpp.o CMakeFiles/Network.dir/ssl/qsslpresharedkeyauthenticator.cpp.o CMakeFiles/Network.dir/ssl/qsslsocket.cpp.o CMakeFiles/Network.dir/ssl/qsslcertificate_openssl.cpp.o CMakeFiles/Network.dir/ssl/qsslcontext_openssl.cpp.o CMakeFiles/Network.dir/ssl/qssldiffiehellmanparameters_openssl.cpp.o CMakeFiles/Network.dir/ssl/qsslellipticcurve_openssl.cpp.o CMakeFiles/Network.dir/ssl/qsslkey_openssl.cpp.o CMakeFiles/Network.dir/ssl/qsslsocket_openssl.cpp.o CMakeFiles/Network.dir/ssl/qsslsocket_openssl_symbols.cpp.o CMakeFiles/Network.dir/ssl/qsslsocket_openssl_android.cpp.o   -L/android_openssl/latest  /android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/arm-linux-androideabi/libz.a -ldl -lWrapOpenSSLHeaders::WrapOpenSSLHeaders ../../lib/libQt6Core_armeabi-v7a.so -llog -pthread -latomic -lm 
      ld.lld: error: unable to find library -lWrapOpenSSLHeaders::WrapOpenSSLHeaders
      clang++: error: linker command failed with exit code 1 (use -v to see invocation)
      make[2]: *** [qtbase/src/network/CMakeFiles/Network.dir/build.make:1626: qtbase/lib/libQt6Network_armeabi-v7a.so] Error 1
      make[2]: Leaving directory '/qt5'
      make[1]: *** [CMakeFiles/Makefile2:7925: qtbase/src/network/CMakeFiles/Network.dir/all] Error 2
      make[1]: Leaving directory '/qt5'
      make: *** [Makefile:160: all] Error 2
      

      Configure options:

      export QT_VERSION=6.0.0
      export NDK_VERSION=r21b
      export QT_HOME=/qt5 && cd $QT_HOME \
      && export    ANDROID_NDK_HOST=linux-x86_64 c  && \
         export    ANDROID_NDK_ARCH=arch-arm c && \
         export    ANDROID_NDK_EABI=llvm c && \
         export    ANDROID_NDK_HOST=linux-x86_64 c && \
         export    ANDROID_NDK_TOOLCHAIN_PREFIX=arm-linux-androideabi c && \
         export    ANDROID_NDK_TOOLCHAIN_VERSION=4.9 c \
         export   QT_HOST_PATH=/qt5 \
      && LANG=C ./configure -reduce-relocations  -qt-host-path /6.0.0/gcc_64 -debug -release -opensource -confirm-license -release -nomake tests -nomake examples -android-sdk /android-sdk-linux -android-ndk /android-ndk-${NDK_VERSION} -xplatform android-clang -no-warnings-are-errors --disable-rpath -openssl -I /android_openssl/static/include -L /android_openssl/latest \
      -android-abis armeabi-v7a
      

      config output in file 1.txt

       

      root@e8b62a09d8f2:/qt5# ls -la /android_openssl/static/include/
      total 4
      drwxr-xr-x 3 root root   21 Dec  8 19:59 .
      drwxr-xr-x 4 root root   32 Dec  8 19:58 ..
      drwxrwxr-x 2 root root 4096 Dec  8 19:58 openssl
      root@e8b62a09d8f2:/qt5# ls -la /android_openssl/latest/        
      total 0
      drwxr-xr-x 1 root root 55 Dec  8 20:02 .
      drwxr-xr-x 1 root root 72 Dec  8 20:03 ..
      drwxr-xr-x 2 root root 51 Dec  8 20:02 arm
      drwxr-xr-x 2 root root 51 Dec  8 20:01 arm64
      drwxr-xr-x 2 root root 51 Dec  8 20:02 x86
      drwxr-xr-x 2 root root 51 Dec  8 20:03 x86_64
      root@e8b62a09d8f2:/qt5# ls -la /android_openssl/latest/arm
      total 2648
      drwxr-xr-x 2 root root      51 Dec  8 20:02 .
      drwxr-xr-x 1 root root      55 Dec  8 20:02 ..
      -rwxr-xr-x 1 root root 2228352 Dec  8 20:02 libcrypto_1_1.so
      -rwxr-xr-x 1 root root  475200 Dec  8 20:02 libssl_1_1.so
      

      Attachments

        1. 1.txt
          30 kB
        2. build-openssl.txt
          3.75 MB
        3. CMakeError.log
          72 kB
        4. CMakeError2.log
          72 kB
        5. CMakeError3.log
          72 kB
        6. CMakeError4.log
          72 kB
        7. CMakeError5.log
          72 kB
        8. CMakeOutput.log
          138 kB
        9. CMakeOutput2.log
          138 kB
        10. CMakeOutput3.log
          138 kB
        11. CMakeOutput4.log
          138 kB
        12. CMakeOutput5.log
          138 kB
        13. config-out.log
          39 kB
        14. config-out2.txt
          39 kB
        15. config-out3.txt
          39 kB
        16. config-out4.txt
          39 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            semlanik Alexey Edelev
            homdx Homdx Homdx
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes