microsoft / APSI

APSI is a C++ library for Asymmetric (unlabeled or labeled) Private Set Intersection.
MIT License
186 stars 42 forks source link

Build fails on arm64-windows #34

Closed Adela0814 closed 2 years ago

Adela0814 commented 2 years ago

See https://github.com/microsoft/APSI/issues/15, I get the same issue when I built on arm64-windows.

After updated to the latest version 0.8.1(include fix https://github.com/microsoft/APSI/commit/2b61950707ca8759e31eb889081fdcd48f0a1e6c), shows the following error. CMake Error:

CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the following cache variables appropriately:
   APSI_FOURQ_ARM64_EXITCODE (advanced)
   APSI_FOURQ_ARM64_EXITCODE__TRYRUN_OUTPUT (advanced)
For details see D:/buildtrees/apsi/arm64-windows-dbg/TryRunResults.cmake
Adela0814 commented 2 years ago

@kiromaru Could you please help look at this issue?

kiromaru commented 2 years ago

Hello,

This seems to be a different issue from #15. This seems to be an issue with cross-compilation, which the package does not support out of the box... it would require manually setting up the variables that are supposed to be set by TRY_RUN, as suggested in #32.

Will this work for you?

Adela0814 commented 2 years ago

After following the suggestion in https://github.com/microsoft/APSI/issues/32, a new problem appeared.

[1/36] C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\arm64\cl.exe    -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\sender -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\receiver -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\common -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\sender -external:IE:\vcpkg\installed\arm64-windows\include\SEAL-3.7 -external:IE:\vcpkg\installed\arm64-windows\include -external:IE:\vcpkg\installed\arm64-windows\include\Kuku-2.1 -external:W0 /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  -DHAVE_CONFIG -DUSE_SECURE_SEED -DUSE_ENDO=true -D__WINDOWS__ -D_GENERIC_ /showIncludes /FoCMakeFiles\apsi.dir\common\apsi\fourq\eccp2_core.c.obj /FdCMakeFiles\apsi.dir\apsi.pdb /FS -c E:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common\apsi\fourq\eccp2_core.c
FAILED: CMakeFiles/apsi.dir/common/apsi/fourq/eccp2_core.c.obj 
C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\arm64\cl.exe    -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\sender -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\receiver -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\common -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\sender -external:IE:\vcpkg\installed\arm64-windows\include\SEAL-3.7 -external:IE:\vcpkg\installed\arm64-windows\include -external:IE:\vcpkg\installed\arm64-windows\include\Kuku-2.1 -external:W0 /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  -DHAVE_CONFIG -DUSE_SECURE_SEED -DUSE_ENDO=true -D__WINDOWS__ -D_GENERIC_ /showIncludes /FoCMakeFiles\apsi.dir\common\apsi\fourq\eccp2_core.c.obj /FdCMakeFiles\apsi.dir\apsi.pdb /FS -c E:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common\apsi\fourq\eccp2_core.c
E:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common\apsi/fourq/FourQ.h(91): fatal error C1189: #error: -- "Unsupported ARCHITECTURE"
[2/36] C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\arm64\cl.exe    -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\sender -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\receiver -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\common -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\sender -external:IE:\vcpkg\installed\arm64-windows\include\SEAL-3.7 -external:IE:\vcpkg\installed\arm64-windows\include -external:IE:\vcpkg\installed\arm64-windows\include\Kuku-2.1 -external:W0 /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  -DHAVE_CONFIG -DUSE_SECURE_SEED -DUSE_ENDO=true -D__WINDOWS__ -D_GENERIC_ /showIncludes /FoCMakeFiles\apsi.dir\common\apsi\fourq\crypto_util.c.obj /FdCMakeFiles\apsi.dir\apsi.pdb /FS -c E:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common\apsi\fourq\crypto_util.c
FAILED: CMakeFiles/apsi.dir/common/apsi/fourq/crypto_util.c.obj 
C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\arm64\cl.exe    -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\sender -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\receiver -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\common -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\sender -external:IE:\vcpkg\installed\arm64-windows\include\SEAL-3.7 -external:IE:\vcpkg\installed\arm64-windows\include -external:IE:\vcpkg\installed\arm64-windows\include\Kuku-2.1 -external:W0 /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  -DHAVE_CONFIG -DUSE_SECURE_SEED -DUSE_ENDO=true -D__WINDOWS__ -D_GENERIC_ /showIncludes /FoCMakeFiles\apsi.dir\common\apsi\fourq\crypto_util.c.obj /FdCMakeFiles\apsi.dir\apsi.pdb /FS -c E:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common\apsi\fourq\crypto_util.c
E:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common\apsi/fourq/FourQ.h(91): fatal error C1189: #error: -- "Unsupported ARCHITECTURE"
[3/36] C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\arm64\cl.exe    -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\sender -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\receiver -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\common -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\sender -external:IE:\vcpkg\installed\arm64-windows\include\SEAL-3.7 -external:IE:\vcpkg\installed\arm64-windows\include -external:IE:\vcpkg\installed\arm64-windows\include\Kuku-2.1 -external:W0 /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  -DHAVE_CONFIG -DUSE_SECURE_SEED -DUSE_ENDO=true -D__WINDOWS__ -D_GENERIC_ /showIncludes /FoCMakeFiles\apsi.dir\common\apsi\fourq\eccp2.c.obj /FdCMakeFiles\apsi.dir\apsi.pdb /FS -c E:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common\apsi\fourq\eccp2.c
FAILED: CMakeFiles/apsi.dir/common/apsi/fourq/eccp2.c.obj 
C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\arm64\cl.exe    -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\sender -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\receiver -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\common -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\sender -external:IE:\vcpkg\installed\arm64-windows\include\SEAL-3.7 -external:IE:\vcpkg\installed\arm64-windows\include -external:IE:\vcpkg\installed\arm64-windows\include\Kuku-2.1 -external:W0 /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  -DHAVE_CONFIG -DUSE_SECURE_SEED -DUSE_ENDO=true -D__WINDOWS__ -D_GENERIC_ /showIncludes /FoCMakeFiles\apsi.dir\common\apsi\fourq\eccp2.c.obj /FdCMakeFiles\apsi.dir\apsi.pdb /FS -c E:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common\apsi\fourq\eccp2.c
E:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common\apsi/fourq/FourQ.h(91): fatal error C1189: #error: -- "Unsupported ARCHITECTURE"
[4/36] C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\arm64\cl.exe   /TP  -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\sender -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\receiver -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\common -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\sender -external:IE:\vcpkg\installed\arm64-windows\include\SEAL-3.7 -external:IE:\vcpkg\installed\arm64-windows\include -external:IE:\vcpkg\installed\arm64-windows\include\Kuku-2.1 -external:W0 /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  -DHAVE_CONFIG -DUSE_SECURE_SEED -DUSE_ENDO=true -D__WINDOWS__ -D_GENERIC_ -std:c++17 /showIncludes /FoCMakeFiles\apsi.dir\common\apsi\version.cpp.obj /FdCMakeFiles\apsi.dir\apsi.pdb /FS -c E:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common\apsi\version.cpp
[5/36] C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\arm64\cl.exe   /TP  -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\sender -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\receiver -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\common -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\sender -external:IE:\vcpkg\installed\arm64-windows\include\SEAL-3.7 -external:IE:\vcpkg\installed\arm64-windows\include -external:IE:\vcpkg\installed\arm64-windows\include\Kuku-2.1 -external:W0 /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  -DHAVE_CONFIG -DUSE_SECURE_SEED -DUSE_ENDO=true -D__WINDOWS__ -D_GENERIC_ -std:c++17 /showIncludes /FoCMakeFiles\apsi.dir\common\apsi\log.cpp.obj /FdCMakeFiles\apsi.dir\apsi.pdb /FS -c E:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common\apsi\log.cpp
[6/36] C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\arm64\cl.exe   /TP  -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\sender -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\receiver -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\common -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\sender -external:IE:\vcpkg\installed\arm64-windows\include\SEAL-3.7 -external:IE:\vcpkg\installed\arm64-windows\include -external:IE:\vcpkg\installed\arm64-windows\include\Kuku-2.1 -external:W0 /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  -DHAVE_CONFIG -DUSE_SECURE_SEED -DUSE_ENDO=true -D__WINDOWS__ -D_GENERIC_ -std:c++17 /showIncludes /FoCMakeFiles\apsi.dir\common\apsi\thread_pool_mgr.cpp.obj /FdCMakeFiles\apsi.dir\apsi.pdb /FS -c E:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common\apsi\thread_pool_mgr.cpp
[7/36] C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\arm64\cl.exe   /TP  -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\sender -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\receiver -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\common -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\sender -external:IE:\vcpkg\installed\arm64-windows\include\SEAL-3.7 -external:IE:\vcpkg\installed\arm64-windows\include -external:IE:\vcpkg\installed\arm64-windows\include\Kuku-2.1 -external:W0 /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  -DHAVE_CONFIG -DUSE_SECURE_SEED -DUSE_ENDO=true -D__WINDOWS__ -D_GENERIC_ -std:c++17 /showIncludes /FoCMakeFiles\apsi.dir\common\apsi\item.cpp.obj /FdCMakeFiles\apsi.dir\apsi.pdb /FS -c E:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common\apsi\item.cpp
[8/36] C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\arm64\cl.exe   /TP  -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\sender -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\receiver -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\common -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\sender -external:IE:\vcpkg\installed\arm64-windows\include\SEAL-3.7 -external:IE:\vcpkg\installed\arm64-windows\include -external:IE:\vcpkg\installed\arm64-windows\include\Kuku-2.1 -external:W0 /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  -DHAVE_CONFIG -DUSE_SECURE_SEED -DUSE_ENDO=true -D__WINDOWS__ -D_GENERIC_ -std:c++17 /showIncludes /FoCMakeFiles\apsi.dir\common\apsi\powers.cpp.obj /FdCMakeFiles\apsi.dir\apsi.pdb /FS -c E:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common\apsi\powers.cpp
[9/36] C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1432~1.313\bin\Hostx64\arm64\cl.exe   /TP  -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\sender -IE:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\receiver -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\common -IE:\vcpkg\buildtrees\apsi\arm64-windows-dbg\sender -external:IE:\vcpkg\installed\arm64-windows\include\SEAL-3.7 -external:IE:\vcpkg\installed\arm64-windows\include -external:IE:\vcpkg\installed\arm64-windows\include\Kuku-2.1 -external:W0 /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  -DHAVE_CONFIG -DUSE_SECURE_SEED -DUSE_ENDO=true -D__WINDOWS__ -D_GENERIC_ -std:c++17 /showIncludes /FoCMakeFiles\apsi.dir\common\apsi\psi_params.cpp.obj /FdCMakeFiles\apsi.dir\apsi.pdb /FS -c E:\vcpkg\buildtrees\apsi\src\d48f0a1e6c-9e75655829\common\apsi\psi_params.cpp
ninja: build stopped: subcommand failed.
kiromaru commented 2 years ago

I've been able to reproduce the issue. We'll work on a fix for this. Thank you for reporting this!

kiromaru commented 2 years ago

This has been fixed in the latest release, version 0.8.2.