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. CMakeError.log
          72 kB
        3. CMakeOutput.log
          138 kB
        4. CMakeError2.log
          72 kB
        5. CMakeOutput2.log
          138 kB
        6. config-out.log
          39 kB
        7. CMakeError3.log
          72 kB
        8. CMakeOutput3.log
          138 kB
        9. config-out2.txt
          39 kB
        10. CMakeError4.log
          72 kB
        11. CMakeOutput4.log
          138 kB
        12. config-out3.txt
          39 kB
        13. CMakeError5.log
          72 kB
        14. CMakeOutput5.log
          138 kB
        15. config-out4.txt
          39 kB
        16. build-openssl.txt
          3.75 MB
        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