microsoft / vcpkg

C++ Library Manager for Windows, Linux, and MacOS
MIT License
22.67k stars 6.27k forks source link

[openssl:arm-android-static] build failure #9874

Closed jomof closed 4 years ago

jomof commented 4 years ago

Host Environment

To Reproduce Steps to reproduce the behavior: vcpkg install openssl:arm-android-static

Failure logs

-- Building arm-android-static-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:136 (message):
    Command failed: "C:/Program Files/CMake/bin/cmake.exe" --build . --config Debug --target install -- -v
    Working Directory: C:/src/vcpkg/buildtrees/openssl-unix/arm-android-static-dbg
    See logs for more information:
      C:\src\vcpkg\buildtrees\openssl-unix\install-arm-android-static-dbg-out.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_build_cmake.cmake:91 (vcpkg_execute_build_process)
  scripts/cmake/vcpkg_install_cmake.cmake:24 (vcpkg_build_cmake)
  ports/openssl-unix/portfile.cmake:52 (vcpkg_install_cmake)
  scripts/ports.cmake:94 (include)

Error: Building package openssl-unix:arm-android-static failed with: BUILD_FAILED

vcpkg\buildtrees\openssl-unix\install-arm-android-static-dbg-out.log

[1/3] cmd.exe /C "cd /D C:\src\vcpkg\buildtrees\openssl-unix\arm-android-dbg\1.1.1d-b1f8ae3e6c && set CC=C:/Users/jomof/AppData/Local/Android/Sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe && set AR=C:/Users/jomof/AppData/Local/Android/Sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ar.exe && set LD=C:/Users/jomof/AppData/Local/Android/Sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ld.exe && set RANLIB=C:/Users/jomof/AppData/Local/Android/Sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ranlib.exe && set MAKE=C:/src/vcpkg/downloads/tools/msys2/msys64/usr/bin/make.exe && set MAKEDEPPROG=C:/Users/jomof/AppData/Local/Android/Sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe && set PATH=C:/src/vcpkg/downloads/tools/msys2/msys64/usr/bin;%PATH% && C:\src\vcpkg\downloads\tools\perl\perl\bin\perl.exe Configure shared enable-static-engine no-ssl2 no-idea no-bf no-cast no-seed no-md2 android --prefix=C:/src/vcpkg/packages/openssl-unix_arm-android/debug --openssldir=/etc/ssl "-Wno-error=unused-command-line-argument -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  --target=armv7-none-linux-androideabi21 --gcc-toolchain=C:/Users/jomof/AppData/Local/Android/Sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=C:/Users/jomof/AppData/Local/Android/Sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/windows-x86_64/sysroot" && "C:\Program Files\CMake\bin\cmake.exe" -DDIR=C:/src/vcpkg/buildtrees/openssl-unix/arm-android-dbg/1.1.1d-b1f8ae3e6c -P C:/src/vcpkg/ports/openssl-unix/remove-deps.cmake"
FAILED: 1.1.1d-b1f8ae3e6c/Makefile 
cmd.exe /C "cd /D C:\src\vcpkg\buildtrees\openssl-unix\arm-android-dbg\1.1.1d-b1f8ae3e6c && set CC=C:/Users/jomof/AppData/Local/Android/Sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe && set AR=C:/Users/jomof/AppData/Local/Android/Sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ar.exe && set LD=C:/Users/jomof/AppData/Local/Android/Sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ld.exe && set RANLIB=C:/Users/jomof/AppData/Local/Android/Sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ranlib.exe && set MAKE=C:/src/vcpkg/downloads/tools/msys2/msys64/usr/bin/make.exe && set MAKEDEPPROG=C:/Users/jomof/AppData/Local/Android/Sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe && set PATH=C:/src/vcpkg/downloads/tools/msys2/msys64/usr/bin;%PATH% && C:\src\vcpkg\downloads\tools\perl\perl\bin\perl.exe Configure shared enable-static-engine no-ssl2 no-idea no-bf no-cast no-seed no-md2 android --prefix=C:/src/vcpkg/packages/openssl-unix_arm-android/debug --openssldir=/etc/ssl "-Wno-error=unused-command-line-argument -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  --target=armv7-none-linux-androideabi21 --gcc-toolchain=C:/Users/jomof/AppData/Local/Android/Sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=C:/Users/jomof/AppData/Local/Android/Sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/windows-x86_64/sysroot" && "C:\Program Files\CMake\bin\cmake.exe" -DDIR=C:/src/vcpkg/buildtrees/openssl-unix/arm-android-dbg/1.1.1d-b1f8ae3e6c -P C:/src/vcpkg/ports/openssl-unix/remove-deps.cmake"
Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [no-asm] [no-egd] [sctp] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--config=FILE] os/compiler[:flags]

pick os/compiler from:
BS2000-OSD BSD-generic32 BSD-generic64 BSD-ia64 BSD-sparc64 BSD-sparcv8 
BSD-x86 BSD-x86-elf BSD-x86_64 Cygwin Cygwin-i386 Cygwin-i486 Cygwin-i586 
Cygwin-i686 Cygwin-x86 Cygwin-x86_64 DJGPP MPE/iX-gcc UEFI UWIN VC-CE VC-WIN32 
VC-WIN32-ARM VC-WIN32-ONECORE VC-WIN64-ARM VC-WIN64A VC-WIN64A-ONECORE 
VC-WIN64A-masm VC-WIN64I aix-cc aix-gcc aix64-cc aix64-gcc android-arm 
android-arm64 android-armeabi android-mips android-mips64 android-x86 
android-x86_64 android64 android64-aarch64 android64-mips64 android64-x86_64 
bsdi-elf-gcc cc darwin-i386-cc darwin-ppc-cc darwin64-ppc-cc 
darwin64-x86_64-cc gcc haiku-x86 haiku-x86_64 hpux-ia64-cc hpux-ia64-gcc 
hpux-parisc-cc hpux-parisc-gcc hpux-parisc1_1-cc hpux-parisc1_1-gcc 
hpux64-ia64-cc hpux64-ia64-gcc hpux64-parisc2-cc hpux64-parisc2-gcc hurd-x86 
ios-cross ios-xcrun ios64-cross ios64-xcrun iossimulator-xcrun iphoneos-cross 
irix-mips3-cc irix-mips3-gcc irix64-mips4-cc irix64-mips4-gcc linux-aarch64 
linux-alpha-gcc linux-aout linux-arm64ilp32 linux-armv4 linux-c64xplus 
linux-elf linux-generic32 linux-generic64 linux-ia64 linux-mips32 linux-mips64 
linux-ppc linux-ppc64 linux-ppc64le linux-sparcv8 linux-sparcv9 linux-x32 
linux-x86 linux-x86-clang linux-x86_64 linux-x86_64-clang linux32-s390x 
linux64-mips64 linux64-s390x linux64-sparcv9 mingw mingw64 nextstep 
nextstep3.3 sco5-cc sco5-gcc solaris-sparcv7-cc solaris-sparcv7-gcc 
solaris-sparcv8-cc solaris-sparcv8-gcc solaris-sparcv9-cc solaris-sparcv9-gcc 
solaris-x86-gcc solaris64-sparcv9-cc solaris64-sparcv9-gcc solaris64-x86_64-cc 
solaris64-x86_64-gcc tru64-alpha-cc tru64-alpha-gcc uClinux-dist 
uClinux-dist64 unixware-2.0 unixware-2.1 unixware-7 unixware-7-gcc vms-alpha 
vms-alpha-p32 vms-alpha-p64 vms-ia64 vms-ia64-p32 vms-ia64-p64 vos-gcc 
vxworks-mips vxworks-ppc405 vxworks-ppc60x vxworks-ppc750 vxworks-ppc750-debug 
vxworks-ppc860 vxworks-ppcgen vxworks-simlinux 

NOTE: If in doubt, on Unix-ish systems use './config'.
Configuring OpenSSL version 1.1.1d (0x1010104fL) for android
Using os-specific seed configuration
ninja: build stopped: subcommand failed.

Additional context

mschofie commented 4 years ago

The ports/openssl-unix/CMakeLists.txt file checks the CMAKE_SYSTEM_NAME to see if it's Android and if so, it sets PLATFORM to be android. The PLATFORM value is passed to Configure, which is invalid - as per the output from @jomof's comment it should be, say, android-arm (i.e. the ABI is suffixed). It looks like adding more logic to set PLATFORM to be ABI-specific might help... Playing with that now...