diff --git a/CMakeLists.txt b/CMakeLists.txt index f473b11..278cddb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,8 +9,8 @@ if (QT_VERSION LESS 5.12.3) if (ANDROID_TARGET_ARCH STREQUAL "arm64-v8a") set(ANDROID_EXTRA_LIBS - ${CMAKE_CURRENT_LIST_DIR}/Qt-5.12.3/aarch64/libcrypto.so - ${CMAKE_CURRENT_LIST_DIR}/Qt-5.12.3/aarch64/libssl.so + ${CMAKE_CURRENT_LIST_DIR}/Qt-5.12.3/arm64/libcrypto.so + ${CMAKE_CURRENT_LIST_DIR}/Qt-5.12.3/arm64/libssl.so CACHE INTERNAL "") endif() diff --git a/Qt-5.12.3/aarch64/libcrypto.so b/Qt-5.12.3/arm64/libcrypto.so similarity index 100% rename from Qt-5.12.3/aarch64/libcrypto.so rename to Qt-5.12.3/arm64/libcrypto.so diff --git a/Qt-5.12.3/aarch64/libssl.so b/Qt-5.12.3/arm64/libssl.so similarity index 100% rename from Qt-5.12.3/aarch64/libssl.so rename to Qt-5.12.3/arm64/libssl.so diff --git a/Qt-5.12.4_5.13.0/arm/libcrypto.so b/Qt-5.12.4_5.13.0/arm/libcrypto.so index 32fbd10..9d1d19c 100755 Binary files a/Qt-5.12.4_5.13.0/arm/libcrypto.so and b/Qt-5.12.4_5.13.0/arm/libcrypto.so differ diff --git a/Qt-5.12.4_5.13.0/arm/libssl.so b/Qt-5.12.4_5.13.0/arm/libssl.so index 805a6c2..e3cd5dc 100755 Binary files a/Qt-5.12.4_5.13.0/arm/libssl.so and b/Qt-5.12.4_5.13.0/arm/libssl.so differ diff --git a/Qt-5.12.4_5.13.0/arm64/libcrypto.so b/Qt-5.12.4_5.13.0/arm64/libcrypto.so index c263af2..53b2118 100755 Binary files a/Qt-5.12.4_5.13.0/arm64/libcrypto.so and b/Qt-5.12.4_5.13.0/arm64/libcrypto.so differ diff --git a/Qt-5.12.4_5.13.0/arm64/libssl.so b/Qt-5.12.4_5.13.0/arm64/libssl.so index bde4f0b..15a8296 100755 Binary files a/Qt-5.12.4_5.13.0/arm64/libssl.so and b/Qt-5.12.4_5.13.0/arm64/libssl.so differ diff --git a/Qt-5.12.4_5.13.0/x86/libcrypto.so b/Qt-5.12.4_5.13.0/x86/libcrypto.so index ce5ddb6..744aa05 100755 Binary files a/Qt-5.12.4_5.13.0/x86/libcrypto.so and b/Qt-5.12.4_5.13.0/x86/libcrypto.so differ diff --git a/Qt-5.12.4_5.13.0/x86/libssl.so b/Qt-5.12.4_5.13.0/x86/libssl.so index 09febf7..9475a9a 100755 Binary files a/Qt-5.12.4_5.13.0/x86/libssl.so and b/Qt-5.12.4_5.13.0/x86/libssl.so differ diff --git a/Qt-5.12.4_5.13.0/x86_64/libcrypto.so b/Qt-5.12.4_5.13.0/x86_64/libcrypto.so index 82c2aac..31ab92a 100755 Binary files a/Qt-5.12.4_5.13.0/x86_64/libcrypto.so and b/Qt-5.12.4_5.13.0/x86_64/libcrypto.so differ diff --git a/Qt-5.12.4_5.13.0/x86_64/libssl.so b/Qt-5.12.4_5.13.0/x86_64/libssl.so index 0b8a4af..b49ef77 100755 Binary files a/Qt-5.12.4_5.13.0/x86_64/libssl.so and b/Qt-5.12.4_5.13.0/x86_64/libssl.so differ diff --git a/build_ssl.sh b/build_ssl.sh index da3520e..763fe44 100755 --- a/build_ssl.sh +++ b/build_ssl.sh @@ -1,134 +1,164 @@ #!/bin/bash rm -fr static -mkdir -p static/lib +mkdir -p static/lib/multiabi mkdir -p static/include BUILD_DIR=$(pwd) DEFAULT_PATH=$PATH -# This has been tested with NDK 20.0.5594570 (r20b) and NDK r10e (for old GCC toolchian) -# Set the correct NDK paths for the mentioned NDK versions first -declare -A version_for_ndk=( ["1.1.1d"]=~/Android/Sdk/ndk/20.0.5594570 ["1.1.1c"]=~/Android/Sdk/ndk/20.0.5594570 ["1.0.2u"]=~/Android/Sdk/ndk/android-ndk-r10e) -declare -A version_for_path=( ["1.1.1d"]="latest" ["1.1.1c"]="Qt-5.12.4_5.13.0" ["1.0.2u"]="Qt-5.12.3" ) +declare -A ssl_versions=( ["1.1.1d"]=~/android/ndk-bundle ["1.0.2u"]=~/android/android-ndk-r10e ) + +# Qt up to Qt-5.12.3 are using openssl 1.0.x +# Qt 5.12.4 and 5.13.0 are using 1.1.x without any suffix, this will make he andorid linker to load system libs on Andorid 5 which will make Qt SSL support unusable in this combination +# Qt 5.12.5+ and 5.13.1+ are using OpenSSL 1.1.x but the library is suffixed with _1_1.so +# Qt 5.14.0+ same as above, but the static ssl libs are stored in a multiabi folder + +declare -A qt_versions=( ["latest"]="1.1*" ["Qt-5.12.3"]="1.0*" ["Qt-5.12.4_5.13.0"]="1.1*" ) declare -A qt_architectures=( ["x86_64"]="x86_64" ["x86"]="x86" ["arm64"]="arm64-v8a" ["arm"]="armeabi-v7a" ) declare hosts=( "linux-x86_64" "linux-x86" "darwin-x86_64" "darwin-x86" ) -for version in ${!version_for_ndk[@]} +for ssl_version in ${!ssl_versions[@]} do - export ANDROID_NDK_HOME=${version_for_ndk[$version]} - - if [ ! -f "openssl-$version.tar.gz" ]; then - wget https://www.openssl.org/source/openssl-$version.tar.gz + echo "SSL version = $ssl_version" + if [ ! -f "openssl-$ssl_version.tar.gz" ]; then + wget https://www.openssl.org/source/openssl-$ssl_version.tar.gz fi + export ANDROID_NDK_HOME=${ssl_versions[$ssl_version]} - for arch in ${!qt_architectures[@]} + for qt_version in ${!qt_versions[@]} do - rm -fr $arch - mkdir -p ${version_for_path[$version]}/$arch - rm -fr openssl-$version - tar xfa openssl-$version.tar.gz - cd openssl-$version - ANDROID_TOOLCHAIN="" - - if [ $version == "1.1.1c" ] || [ $version == "1.1.1d" ]; then - case $arch in - arm) - ANDROID_API=16 - ;; - x86) - ANDROID_API=16 - ;; - arm64) - ANDROID_API=21 - ;; - x86_64) - ANDROID_API=21 - ;; - esac - - for host in ${hosts[@]} - do - if [ -d "$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/$host/bin" ]; then - ANDROID_TOOLCHAIN="$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/$host/bin" - break - fi - done - - export PATH="$ANDROID_TOOLCHAIN:$DEFAULT_PATH" - - ./Configure shared android-${arch} -D__ANDROID_API__=${ANDROID_API} || exit 1 - make depend - make -j$(nproc) SHLIB_VERSION_NUMBER= SHLIB_EXT=_1_1.so build_libs || exit 1 - llvm-strip -strip-all libcrypto_1_1.so - llvm-strip -strip-all libssl_1_1.so - else - # For Older NDK r10e - case $arch in - arm) - export ANDROID_EABI="arm-linux-androideabi-4.9" - export CROSS_COMPILE="arm-linux-androideabi-" - export ANDROID_API=android-9 - CONF_PARAM=android - ;; - aarch64) - export ANDROID_EABI="aarch64-linux-android-4.9" - export CROSS_COMPILE="aarch64-linux-android-" - export ANDROID_API=android-21 - CONF_PARAM=android - ;; - x86) - export ANDROID_EABI="x86-4.9" - export CROSS_COMPILE="i686-linux-android-" - export ANDROID_API=android-9 - CONF_PARAM=android-x86 - ;; - *) - break - esac - - export ANDROID_PLATFORM=arch-$arch - export SYSTEM=android - export ANDROID_SYSROOT=$ANDROID_NDK_HOME/platforms/$ANDROID_API/$ANDROID_PLATFORM - export ANDROID_DEV=$ANDROID_SYSROOT/usr - export CFLAGS="--sysroot=$ANDROID_SYSROOT" - export CPPFLAGS="--sysroot=$ANDROID_SYSROOT" - export CXXFLAGS="--sysroot=$ANDROID_SYSROOT" - - for host in ${hosts[@]} - do - if [ -d "$ANDROID_NDK_HOME/toolchains/$ANDROID_EABI/prebuilt/$host/bin" ]; then - ANDROID_TOOLCHAIN="$ANDROID_NDK_HOME/toolchains/$ANDROID_EABI/prebuilt/$host/bin" - break - fi - done - - export PATH="$ANDROID_TOOLCHAIN:$DEFAULT_PATH" - - ./Configure shared $CONF_PARAM || exit 1 - make depend - make -j$(nproc) CALC_VERSIONS="SHLIB_COMPAT=; SHLIB_SOVER=" build_libs || exit 1 - ${CROSS_COMPILE}strip -s libcrypto.so - ${CROSS_COMPILE}strip -s libssl.so - - # Unset variables so they don't interfere with different versions - unset CXXFLAGS CPPFLAGS CFLAGS ANDROID_DEV ANDROID_SYSROOT SYSTEM ANDROID_PLATFORM CONF_PARAM CROSS_COMPILE ANDROID_EABI + if [[ $ssl_version != ${qt_versions[$qt_version]} ]]; then + continue; fi + echo "Build $ssl_version for $qt_version" + for arch in ${!qt_architectures[@]} + do + rm -fr $arch $qt_version/$arch + mkdir -p $qt_version/$arch || exit 1 + if [ $qt_version != "multiabi" ]; then + mkdir -p static/lib/$arch + fi + rm -fr openssl-$ssl_version + tar xfa openssl-$ssl_version.tar.gz || exit 1 + pushd openssl-$ssl_version || exit 1 + ANDROID_TOOLCHAIN="" - # Only for latest OpenSSL with Qt 5.14.1+ - if [ $version == "1.1.1d" ]; then - cp libcrypto_1_1.so libssl_1_1.so ../${version_for_path[$version]}/$arch - mv libcrypto.a ../static/lib/libcrypto_${qt_architectures[$arch]}.a - mv libssl.a ../static/lib/libssl_${qt_architectures[$arch]}.a - else - cp libcrypto.so libssl.so ../${version_for_path[$version]}/$arch - fi - cd .. + if [[ $ssl_version == 1.1* ]]; then + case $arch in + arm) + ANDROID_API=16 + ;; + x86) + ANDROID_API=16 + ;; + arm64) + ANDROID_API=21 + ;; + x86_64) + ANDROID_API=21 + ;; + esac + + for host in ${hosts[@]} + do + if [ -d "$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/$host/bin" ]; then + ANDROID_TOOLCHAIN="$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/$host/bin" + break + fi + done + + export PATH="$ANDROID_TOOLCHAIN:$DEFAULT_PATH" + + ./Configure shared android-${arch} -D__ANDROID_API__=${ANDROID_API} || exit 1 + make depend + + case $qt_version in + latest) + make -j$(nproc) SHLIB_VERSION_NUMBER= SHLIB_EXT=_1_1.so build_libs || exit 1 + llvm-strip --strip-all libcrypto_1_1.so + llvm-strip --strip-all libssl_1_1.so + cp libcrypto_1_1.so libssl_1_1.so ../$qt_version/$arch || exit 1 + cp libcrypto.a ../static/lib/multiabi/libcrypto_${qt_architectures[$arch]}.a || exit 1 + cp libssl.a ../static/lib/multiabi/libssl_${qt_architectures[$arch]}.a || exit 1 + mv libcrypto.a ../static/lib/$arch/libcrypto.a || exit 1 + mv libssl.a ../static/lib/$arch/libssl.a || exit 1 + ;; + Qt-5.12.4_5.13.0) + make -j$(nproc) SHLIB_VERSION_NUMBER= build_libs || exit 1 + llvm-strip --strip-all libcrypto.so + llvm-strip --strip-all libssl.so + cp libcrypto.so libssl.so ../$qt_version/$arch || exit 1 + ;; + *) + echo "Unhandled Qt version $qt_version" + exit 1 + ;; + esac + else + # For 1.0 use NDK r10e + case $arch in + arm) + export ANDROID_EABI="arm-linux-androideabi-4.9" + export CROSS_COMPILE="arm-linux-androideabi-" + export ANDROID_API=android-9 + CONF_PARAM=android + ;; + arm64) + export ANDROID_EABI="aarch64-linux-android-4.9" + export CROSS_COMPILE="aarch64-linux-android-" + export ANDROID_API=android-21 + CONF_PARAM=android + ;; + x86) + export ANDROID_EABI="x86-4.9" + export CROSS_COMPILE="i686-linux-android-" + export ANDROID_API=android-9 + CONF_PARAM=android-x86 + ;; + x86_64) + popd + continue + ;; + *) + echo "Unhandled arch $arch" + exit 1 + ;; + esac + + export ANDROID_PLATFORM=arch-$arch + export SYSTEM=android + export ANDROID_SYSROOT=$ANDROID_NDK_HOME/platforms/$ANDROID_API/$ANDROID_PLATFORM + export ANDROID_DEV=$ANDROID_SYSROOT/usr + export CFLAGS="--sysroot=$ANDROID_SYSROOT" + export CPPFLAGS="--sysroot=$ANDROID_SYSROOT" + export CXXFLAGS="--sysroot=$ANDROID_SYSROOT" + + for host in ${hosts[@]} + do + if [ -d "$ANDROID_NDK_HOME/toolchains/$ANDROID_EABI/prebuilt/$host/bin" ]; then + ANDROID_TOOLCHAIN="$ANDROID_NDK_HOME/toolchains/$ANDROID_EABI/prebuilt/$host/bin" + break + fi + done + + export PATH="$ANDROID_TOOLCHAIN:$DEFAULT_PATH" + + ./Configure shared $CONF_PARAM || exit 1 + make depend + make -j$(nproc) CALC_VERSIONS="SHLIB_COMPAT=; SHLIB_SOVER=" build_libs || exit 1 + ${CROSS_COMPILE}strip --strip-all libcrypto.so + ${CROSS_COMPILE}strip --strip-all libssl.so + + # Unset variables so they don't interfere with different ssl_versions + unset CXXFLAGS CPPFLAGS CFLAGS ANDROID_DEV ANDROID_SYSROOT SYSTEM ANDROID_PLATFORM CONF_PARAM CROSS_COMPILE ANDROID_EABI + cp libcrypto.so libssl.so ../$qt_version/$arch || exit 1 + fi + popd + if [[ $ssl_version == 1.1* ]] && [ ! -d static/include/openssl ]; then + cp -a openssl-$ssl_version/include/openssl static/include || exit 1 + fi + done done - - # Copy include files to static folder - cd $BUILD_DIR - if [ $version == "1.1.1d" ]; then - cp -a openssl-$version/include/openssl static/include - fi - rm -fr openssl-$version openssl-$version.tar.gz + rm -fr openssl-$ssl_version + rm openssl-$ssl_version.tar.gz done diff --git a/latest/arm/libcrypto_1_1.so b/latest/arm/libcrypto_1_1.so index c3a616a..d9f7ad8 100755 Binary files a/latest/arm/libcrypto_1_1.so and b/latest/arm/libcrypto_1_1.so differ diff --git a/latest/arm/libssl_1_1.so b/latest/arm/libssl_1_1.so index 6f572ca..260d182 100755 Binary files a/latest/arm/libssl_1_1.so and b/latest/arm/libssl_1_1.so differ diff --git a/latest/arm64/libcrypto_1_1.so b/latest/arm64/libcrypto_1_1.so index 4d50f1c..ad65fe7 100755 Binary files a/latest/arm64/libcrypto_1_1.so and b/latest/arm64/libcrypto_1_1.so differ diff --git a/latest/arm64/libssl_1_1.so b/latest/arm64/libssl_1_1.so index 4ead809..6e83728 100755 Binary files a/latest/arm64/libssl_1_1.so and b/latest/arm64/libssl_1_1.so differ diff --git a/latest/x86/libcrypto_1_1.so b/latest/x86/libcrypto_1_1.so index 771d4a2..7d97c9e 100755 Binary files a/latest/x86/libcrypto_1_1.so and b/latest/x86/libcrypto_1_1.so differ diff --git a/latest/x86/libssl_1_1.so b/latest/x86/libssl_1_1.so index b9b98dd..68b62eb 100755 Binary files a/latest/x86/libssl_1_1.so and b/latest/x86/libssl_1_1.so differ diff --git a/latest/x86_64/libcrypto_1_1.so b/latest/x86_64/libcrypto_1_1.so index 558ff27..0f0f039 100755 Binary files a/latest/x86_64/libcrypto_1_1.so and b/latest/x86_64/libcrypto_1_1.so differ diff --git a/latest/x86_64/libssl_1_1.so b/latest/x86_64/libssl_1_1.so index 3c325c3..7414a5d 100755 Binary files a/latest/x86_64/libssl_1_1.so and b/latest/x86_64/libssl_1_1.so differ diff --git a/openssl.pri b/openssl.pri index 6298d5c..ec23fa6 100644 --- a/openssl.pri +++ b/openssl.pri @@ -7,8 +7,8 @@ if (lessThan(QT_VERSION, 5.12.3)) { contains(ANDROID_TARGET_ARCH, arm64-v8a) { ANDROID_EXTRA_LIBS += \ - $$PWD/Qt-5.12.3/aarch64/libcrypto.so \ - $$PWD/Qt-5.12.3/aarch64/libssl.so + $$PWD/Qt-5.12.3/arm64/libcrypto.so \ + $$PWD/Qt-5.12.3/arm64/libssl.so } contains(ANDROID_TARGET_ARCH, x86) { diff --git a/static/include/openssl/opensslconf.h b/static/include/openssl/opensslconf.h index 682db08..eb566f6 100644 --- a/static/include/openssl/opensslconf.h +++ b/static/include/openssl/opensslconf.h @@ -181,11 +181,11 @@ extern "C" { * The following are cipher-specific, but are part of the public API. */ #if !defined(OPENSSL_SYS_UEFI) -# define BN_LLONG +# undef BN_LLONG /* Only one for the following should be defined */ -# undef SIXTY_FOUR_BIT_LONG +# define SIXTY_FOUR_BIT_LONG # undef SIXTY_FOUR_BIT -# define THIRTY_TWO_BIT +# undef THIRTY_TWO_BIT #endif #define RC4_INT unsigned char diff --git a/static/lib/arm/libcrypto.a b/static/lib/arm/libcrypto.a new file mode 100644 index 0000000..a38d819 Binary files /dev/null and b/static/lib/arm/libcrypto.a differ diff --git a/static/lib/arm/libssl.a b/static/lib/arm/libssl.a new file mode 100644 index 0000000..4e96db5 Binary files /dev/null and b/static/lib/arm/libssl.a differ diff --git a/static/lib/arm64/libcrypto.a b/static/lib/arm64/libcrypto.a new file mode 100644 index 0000000..4f4a5a7 Binary files /dev/null and b/static/lib/arm64/libcrypto.a differ diff --git a/static/lib/arm64/libssl.a b/static/lib/arm64/libssl.a new file mode 100644 index 0000000..31a95ad Binary files /dev/null and b/static/lib/arm64/libssl.a differ diff --git a/static/lib/libcrypto_arm64-v8a.a b/static/lib/libcrypto_arm64-v8a.a deleted file mode 100644 index 451acd2..0000000 Binary files a/static/lib/libcrypto_arm64-v8a.a and /dev/null differ diff --git a/static/lib/libcrypto_x86.a b/static/lib/libcrypto_x86.a deleted file mode 100644 index 736b498..0000000 Binary files a/static/lib/libcrypto_x86.a and /dev/null differ diff --git a/static/lib/libssl_arm64-v8a.a b/static/lib/libssl_arm64-v8a.a deleted file mode 100644 index c824315..0000000 Binary files a/static/lib/libssl_arm64-v8a.a and /dev/null differ diff --git a/static/lib/libssl_armeabi-v7a.a b/static/lib/libssl_armeabi-v7a.a deleted file mode 100644 index 3fd1682..0000000 Binary files a/static/lib/libssl_armeabi-v7a.a and /dev/null differ diff --git a/static/lib/libssl_x86.a b/static/lib/libssl_x86.a deleted file mode 100644 index 1af35c5..0000000 Binary files a/static/lib/libssl_x86.a and /dev/null differ diff --git a/static/lib/libssl_x86_64.a b/static/lib/libssl_x86_64.a deleted file mode 100644 index f54d67b..0000000 Binary files a/static/lib/libssl_x86_64.a and /dev/null differ diff --git a/static/lib/multiabi/libcrypto_arm64-v8a.a b/static/lib/multiabi/libcrypto_arm64-v8a.a new file mode 100644 index 0000000..4f4a5a7 Binary files /dev/null and b/static/lib/multiabi/libcrypto_arm64-v8a.a differ diff --git a/static/lib/libcrypto_armeabi-v7a.a b/static/lib/multiabi/libcrypto_armeabi-v7a.a similarity index 50% rename from static/lib/libcrypto_armeabi-v7a.a rename to static/lib/multiabi/libcrypto_armeabi-v7a.a index 9673a46..a38d819 100644 Binary files a/static/lib/libcrypto_armeabi-v7a.a and b/static/lib/multiabi/libcrypto_armeabi-v7a.a differ diff --git a/static/lib/multiabi/libcrypto_x86.a b/static/lib/multiabi/libcrypto_x86.a new file mode 100644 index 0000000..51bd777 Binary files /dev/null and b/static/lib/multiabi/libcrypto_x86.a differ diff --git a/static/lib/libcrypto_x86_64.a b/static/lib/multiabi/libcrypto_x86_64.a similarity index 52% rename from static/lib/libcrypto_x86_64.a rename to static/lib/multiabi/libcrypto_x86_64.a index 6dde98f..d7e9960 100644 Binary files a/static/lib/libcrypto_x86_64.a and b/static/lib/multiabi/libcrypto_x86_64.a differ diff --git a/static/lib/multiabi/libssl_arm64-v8a.a b/static/lib/multiabi/libssl_arm64-v8a.a new file mode 100644 index 0000000..31a95ad Binary files /dev/null and b/static/lib/multiabi/libssl_arm64-v8a.a differ diff --git a/static/lib/multiabi/libssl_armeabi-v7a.a b/static/lib/multiabi/libssl_armeabi-v7a.a new file mode 100644 index 0000000..4e96db5 Binary files /dev/null and b/static/lib/multiabi/libssl_armeabi-v7a.a differ diff --git a/static/lib/multiabi/libssl_x86.a b/static/lib/multiabi/libssl_x86.a new file mode 100644 index 0000000..8a2d854 Binary files /dev/null and b/static/lib/multiabi/libssl_x86.a differ diff --git a/static/lib/multiabi/libssl_x86_64.a b/static/lib/multiabi/libssl_x86_64.a new file mode 100644 index 0000000..5985d7c Binary files /dev/null and b/static/lib/multiabi/libssl_x86_64.a differ diff --git a/static/lib/x86/libcrypto.a b/static/lib/x86/libcrypto.a new file mode 100644 index 0000000..51bd777 Binary files /dev/null and b/static/lib/x86/libcrypto.a differ diff --git a/static/lib/x86/libssl.a b/static/lib/x86/libssl.a new file mode 100644 index 0000000..8a2d854 Binary files /dev/null and b/static/lib/x86/libssl.a differ diff --git a/static/lib/x86_64/libcrypto.a b/static/lib/x86_64/libcrypto.a new file mode 100644 index 0000000..d7e9960 Binary files /dev/null and b/static/lib/x86_64/libcrypto.a differ diff --git a/static/lib/x86_64/libssl.a b/static/lib/x86_64/libssl.a new file mode 100644 index 0000000..5985d7c Binary files /dev/null and b/static/lib/x86_64/libssl.a differ