Skip to content

Compilation failure on Windows 10 for mingw 32bit, and for mingw 64bit #3682

@Fulguritude

Description

@Fulguritude

Pulled most recent commit to master. My shell is cygwin. Ran autogen.sh.

Configured for 32bit mingw with:

 ./configure --enable-static CC=i686-w64-mingw32-gcc

Ran make:

$ make
make -j9  all-recursive
make[1]: Entering directory '/home/fulguritude/LEDR/wolfssl'
make[2]: Entering directory '/home/fulguritude/LEDR/wolfssl'
make[2]: warning: -j9 forced in submake: resetting jobserver mode.
 CC       wolfcrypt/benchmark/benchmark.o
 CC       wolfcrypt/src/src_libwolfssl_la-hmac.lo
 CC       wolfcrypt/src/src_libwolfssl_la-hash.lo
 CC       wolfcrypt/src/src_libwolfssl_la-cpuid.lo
 CC       wolfcrypt/src/src_libwolfssl_la-random.lo
 CC       wolfcrypt/src/src_libwolfssl_la-sha256.lo
 CC       wolfcrypt/src/src_libwolfssl_la-rsa.lo
 CC       wolfcrypt/src/src_libwolfssl_la-aes.lo
 CC       wolfcrypt/src/src_libwolfssl_la-sha.lo
 CC       wolfcrypt/src/src_libwolfssl_la-sha512.lo
 CC       wolfcrypt/src/src_libwolfssl_la-sha3.lo
 CC       wolfcrypt/src/src_libwolfssl_la-logging.lo
 CC       wolfcrypt/src/src_libwolfssl_la-wc_port.lo
 CC       wolfcrypt/src/src_libwolfssl_la-error.lo
 CC       wolfcrypt/src/src_libwolfssl_la-wc_encrypt.lo
 CC       wolfcrypt/src/src_libwolfssl_la-signature.lo
 CC       wolfcrypt/src/src_libwolfssl_la-wolfmath.lo
In file included from wolfcrypt/src/wc_port.c:28:
wolfcrypt/src/wc_port.c: In function ‘wc_ReadDirFirst’:
./wolfssl/wolfcrypt/types.h:508:35: error: ‘strncpy’ output may be truncated copying between 2 and 255 bytes from a string of length 259 [-Werror=stringop-truncation]
 508 |         #define XSTRNCPY(s1,s2,n) strncpy((s1),(s2),(n))
     |                                   ^~~~~~~~~~~~~~~~~~~~~~
wolfcrypt/src/wc_port.c:459:13: note: in expansion of macro ‘XSTRNCPY’
 459 |             XSTRNCPY(ctx->name + pathLen + 1,
     |             ^~~~~~~~
wolfcrypt/src/wc_port.c: In function ‘wc_ReadDirNext’:
./wolfssl/wolfcrypt/types.h:508:35: error: ‘strncpy’ output may be truncated copying between 0 and 255 bytes from a string of length 259 [-Werror=stringop-truncation]
 508 |         #define XSTRNCPY(s1,s2,n) strncpy((s1),(s2),(n))
     |                                   ^~~~~~~~~~~~~~~~~~~~~~
wolfcrypt/src/wc_port.c:595:13: note: in expansion of macro ‘XSTRNCPY’
 595 |             XSTRNCPY(ctx->name + pathLen + 1,
     |             ^~~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [Makefile:4922: wolfcrypt/src/src_libwolfssl_la-wc_port.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/home/fulguritude/LEDR/wolfssl'
make[1]: *** [Makefile:5718: all-recursive] Error 1
make[1]: Leaving directory '/home/fulguritude/LEDR/wolfssl'
make: *** [Makefile:3457: all] Error 2

Result: does not compile.

Then tried the 64bit version of mingw

./configure --enable-static CC=x86_64-w64-mingw32-gcc

and ran make:

 make
make -j9  all-recursive
make[1]: Entering directory '/home/fulguritude/LEDR/wolfssl'
make[2]: Entering directory '/home/fulguritude/LEDR/wolfssl'
make[2]: warning: -j9 forced in submake: resetting jobserver mode.
  CC       wolfcrypt/benchmark/benchmark.o
  CC       wolfcrypt/src/src_libwolfssl_la-hmac.lo
  CC       wolfcrypt/src/src_libwolfssl_la-hash.lo
  CC       wolfcrypt/src/src_libwolfssl_la-cpuid.lo
  CC       wolfcrypt/src/src_libwolfssl_la-random.lo
  CC       wolfcrypt/src/src_libwolfssl_la-sha256.lo
  CC       wolfcrypt/src/src_libwolfssl_la-rsa.lo
  CC       wolfcrypt/src/src_libwolfssl_la-aes.lo
  CC       wolfcrypt/src/src_libwolfssl_la-sha.lo
  CC       wolfcrypt/src/src_libwolfssl_la-sha512.lo
  CC       wolfcrypt/src/src_libwolfssl_la-sha3.lo
  CC       wolfcrypt/src/src_libwolfssl_la-logging.lo
  CC       wolfcrypt/src/src_libwolfssl_la-error.lo
  CC       wolfcrypt/src/src_libwolfssl_la-wc_port.lo
  CC       wolfcrypt/src/src_libwolfssl_la-wc_encrypt.lo
  CC       wolfcrypt/src/src_libwolfssl_la-signature.lo
  CC       wolfcrypt/src/src_libwolfssl_la-wolfmath.lo
  CC       wolfcrypt/src/src_libwolfssl_la-memory.lo
  CC       wolfcrypt/src/src_libwolfssl_la-dh.lo
  CC       wolfcrypt/src/src_libwolfssl_la-asn.lo
  CC       wolfcrypt/src/src_libwolfssl_la-coding.lo
  CC       wolfcrypt/src/src_libwolfssl_la-poly1305.lo
  CC       wolfcrypt/src/src_libwolfssl_la-md5.lo
  CC       wolfcrypt/src/src_libwolfssl_la-chacha.lo
  CC       wolfcrypt/src/src_libwolfssl_la-chacha20_poly1305.lo
  CC       wolfcrypt/src/src_libwolfssl_la-tfm.lo
  CC       wolfcrypt/src/src_libwolfssl_la-ecc.lo
  CC       src/libwolfssl_la-internal.lo
  CC       src/libwolfssl_la-wolfio.lo
  CC       src/libwolfssl_la-keys.lo
  CC       src/libwolfssl_la-ssl.lo
  CC       src/libwolfssl_la-tls.lo
wolfcrypt/src/tfm.c:62: error: ignoring #pragma warning  [-Werror=unknown-pragmas]
   62 |     #pragma warning(disable:4127)
      |
wolfcrypt/src/tfm.c: In function ‘fp_set_int’:
wolfcrypt/src/tfm.c:3768:9: error: comparison is always true due to limited range of data type [-Werror=type-limits]
 3768 |   if (b < FP_DIGIT_MAX) {
      |         ^
  CC       src/libwolfssl_la-tls13.lo
cc1: all warnings being treated as errors
make[2]: *** [Makefile:5111: wolfcrypt/src/src_libwolfssl_la-tfm.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/home/fulguritude/LEDR/wolfssl'
make[1]: *** [Makefile:5718: all-recursive] Error 1
make[1]: Leaving directory '/home/fulguritude/LEDR/wolfssl'
make: *** [Makefile:3457: all] Error 2

Result: does not compile either.

PS: I also tried to build without the "enable-static" option: same result.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions