Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

main branch build error in Win11 amd64 MSVC #255

Closed
roelds opened this issue Sep 15, 2023 · 3 comments
Closed

main branch build error in Win11 amd64 MSVC #255

roelds opened this issue Sep 15, 2023 · 3 comments

Comments

@roelds
Copy link

roelds commented Sep 15, 2023

Describe the bug
main branch build error in Win11 amd64 MSVC

To Reproduce
Steps to reproduce the behavior:
Windows Sandbox (or VM in VMware Workstation 16)

installed all prereqs & added to PATH:
VS Pro 2022
all current desktop C/C++ options
Win64OpenSSL-3_1_2.msi
PATH env var += C:\Program Files\OpenSSL-Win64\bin
ninja
PATH env var += C:\a\ninja-win
ps7
python
cmake
graphviz
git
doxygen
pip install pytest pytest-xdist pyyaml

built liboqs ok using MSVC, not Ninja (see cmd output at bottom)
tried oqs-provider build using Ninja, fails with this error:
...
C:\b\oqs-provider\oqsprov\oqsprov_capabilities.c(222): error C2059: syntax error: '}'
...
(or see cmd output at bottom)
Expected behavior
build ok

Screenshots
If applicable, add screenshots to help explain your problem.
see cmd output at bottom, from msvc x64 cmd prompt run as admin

Environment (please complete the following information):

  • OS: [e.g. Ubuntu 20] Win11 amd64 all updates, in Windows Sandbox (also occurs in Win10 VM in VMware Workstation 16)
  • OpenSSL version [e.g., 3.2.0-dev] Win64OpenSSL-3_1_2.msi installed & found by build script
  • oqsprovider version [e.g. 0.4.0] current main branch

Please run the following commands to obtain the version information:

  • For OpenSSL: openssl version
  • For oqsprovider: openssl list -providers N/A : this is build error report
    I have manually added openssl to PATH
    C:\b\oqs-provider_build>openssl version -a
    OpenSSL 3.1.2 1 Aug 2023 (Library: OpenSSL 3.1.2 1 Aug 2023)
    built on: Wed Aug 2 14:43:24 2023 UTC
    platform: VC-WIN64A
    options: bn(64,64)
    compiler: cl /Z7 /Fdossl_static.pdb /Gs0 /GF /Gy /MD /W3 /wd4090 /nologo /O2 -DL_ENDIAN -DOPENSSL_PIC -D_USING_V110_SDK71_ -D_WINSOCK_DEPRECATED_NO_WARNINGS -D_WIN32_WINNT=0x0502
    OPENSSLDIR: "C:\Program Files\Common Files\SSL"
    ENGINESDIR: "C:\Program Files\OpenSSL\lib\engines-3"
    MODULESDIR: "C:\Program Files\OpenSSL\lib\ossl-modules"
    Seeding source: os-specific
    CPUINFO: OPENSSL_ia32cap=0xfefab2035f8bffff:0x405f46f2bf27a9

If oqsprovider is not listed as active, be sure to first follow all
USAGE guidance.
N/A : this is build error report

If reporting bugs triggered by OpenSSL API integrations, e.g. running
a provider build statically
or directly invoking any OpenSSL API, be sure to retrieve and report all errors
reported by using the OpenSSL ERR_get_error_all
function.
N/A : this is build error report

Bug reports generated from Debug builds
wth the debug environment variable "OQSPROV=1" set will be particularly helpful to find underlying
problems.
N/A : this is build error report

Additional context
I'd like to build win bin so I can try out the sphincsshake256 alg, since I don't see it provided by the released win bin

Hints
To exclude a build/setup error, please consider running your test
commands to reproduce the problem in our pre-build docker image,
e.g. as such: docker run -it openquantumsafe/oqs-ossl3 and
provide full command input and output traces in the bug report.

I don't see sphincsshake256ssimple or sphincsshake256256srobust listed as available in this docker image

syntax_err.txt

@roelds roelds mentioned this issue Sep 15, 2023
4 tasks
@baentsch
Copy link
Member

Thanks for the complete bug report

I'd like to build win bin so I can try out the sphincsshake256 alg, since I don't see it provided by the released win bin
I don't see sphincsshake256ssimple or sphincsshake256256srobust listed as available in this docker image

Both is expected/intentional as per documentation. Those algs need to be enabled before build via the mechanism documented.

tried oqs-provider build using Ninja, fails with this error:
...
C:\b\oqs-provider\oqsprov\oqsprov_capabilities.c(222): error C2059: syntax error: '}'
...

This is a pretty unusual error; as I don't have a platform to reproduce it, can I ask you to generate and take a look at the C-preprocessor output for this file? Most notably, what code is generated for the struct oqs_param_group_list? Are the macros expanded correctly, for example?

@baentsch
Copy link
Member

Please check again as #263 has now landed and MSVC building has been improved.

@baentsch
Copy link
Member

Closing due to inactivity. Please re-open if/when you can confirm the problem still persists in the most current code base, @roelds

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants