Failed to build on windows arm
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 30.8k
- Forks
- 11.5k
- Avg merge
- 10m
- Merged PRs (30d)
- 1
Description
Built OpenSSL using the following instructions.
C:\Strawberry\perl\bin\perl.exe Configure VC-WIN64-ARM no-ssl2 no-ssl3 no-autoload-config enable-brotli no-brotli-dynamic --with-brotli-include="path_to_brotli_include" --with-brotli-lib="path_to_brotli_lib"
. Many LNK error has occurred. error LNK2019: unresolved external symbol BrotliDecoderCreateInstance referenced in function brotli_stateful_init. The results of using perl.exe configdata.pm --dump are as follows: Config target attributes:
AR => "lib",
ARFLAGS => "/nologo",
CC => "cl",
CFLAGS => "/W3 /wd4090 /nologo /O2",
CPP => "\$(CC) /EP /C",
HASHBANGPERL => "/usr/bin/env perl",
LD => "link",
LDFLAGS => "/nologo /debug",
MT => "mt",
MTFLAGS => "-nologo",
RANLIB => "CODE(0x214d9c0)",
RC => "rc",
ar_resp_delim => "
",
aroutflag => "/out:",
bin_cflags => "/Zi /Fdapp.pdb",
bin_lflags => "setargv.obj /subsystem:console /opt:ref", bn_ops => "SIXTY_FOUR_BIT RC4_CHAR",
build_file => "makefile",
build_scheme => [ "unified", "windows", "VC-common" ],
cflags => "/Gs0 /GF /Gy /MD",
coutflag => "/Fo",
cppflags => "",
defines => [ "OPENSSL_BUILDING_OPENSSL", "BROTLI", "OPENSSL_SYS_WIN32", "WIN32_LEAN_AND_MEAN", "UNICODE", "_UNICODE", "_CRT_SECURE_NO_DEPRECATE", "_WINSOCK_DEPRECATED_NO_WARNINGS", "_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE", "OPENSSL_SYS_WIN_CORE" ],
disable => [ ],
dso_cflags => "/Zi /Fddso.pdb",
dso_scheme => "win32",
enable => [ ],
ex_libs => "onecore.lib",
includes => [ "path_to_brotli_include" ],
ld_implib_flag => "/implib:",
ld_resp_delim => ".
Why are there no brotli-related libraries in ex_libs? This problem can only be encountered when compiling for the arm architecture.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Configure invocation and the generated configdata.pm --dump output, focusing on the VC-WIN64-ARM build settings and the missing Brotli library entries. Compare how Brotli libraries are represented for other targets; done means the Windows ARM build links successfully without the unresolved Brotli symbols.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, perl
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100