Details
-
Bug
-
Resolution: Invalid
-
P2: Important
-
None
-
6.0.0
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