Topic: Getting errors when building wolftpm for Windows TBS API using MSYS2.
Hi,
I try to build wolftpm dll for windows using MSYS2. I follow this instruction https://www.wolfssl.com/documentation/m … er02.html. wolfssl and wolftpm I get from git repository. I am able to build wolfssl. When I run "make" command for building tpm I get errors:
# make
make -j3 all-am
make[1]: Entering directory '/home/Administrator/wolftpm'
CC examples/native/native_test.o
CC examples/wrap/wrap_test.o
CC examples/bench/bench.o
In file included from In file included from examples/native/native_test.c:29examples/wrap/wrap_test.c:30:
:
./examples/tpm_test.h:./examples/tpm_test.h: In function ' In function 'gettime_secsgettime_secs':
':
./examples/tpm_test.h:106:17: ./examples/tpm_test.h:106:17:error: cast from function call of type 'error: ULONGLONGcast from function call of type '' {aka 'ULONGLONGlong l
ong unsigned int' {aka ''} to non-matching type 'long long unsigned intdouble'} to non-matching type '' [double-Werror=bad-function-cast' []
106 | return (-Werror=bad-function-cast(]
106 | return (double)GetTickCount64())/1000.0;
| (^double)GetTickCount64())/1000.0;
|
^
./examples/tpm_test.h:100:43: error: unused parameter 'reset' [-Werror=unused-parameter]
100 | static inline double gettime_secs(int reset)
| ~~~~^~~~~
./examples/tpm_test.h:100:43: error: unused parameter 'reset' [-Werror=unused-parameter]
100 | static inline double gettime_secs(int reset)
| ~~~~^~~~~
In file included from In file included from examples/native/native_test.c:24examples/wrap/wrap_test.c:24:
:
In file included from examples/native/native_test.c: In function ' :
TPM2_Native_TestArgs ':
':
In function ' ./wolftpm/tpm2.h:1673:87: ':
error: comparison of integer expressions of different signedness: ' int er
ror: ' and ' unsigned int ' [ -Werror=sign-compare ]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) ]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) == TPM_E_COMMAND_BLOCKED)
| TPM_E_COMMAND_BLOCKED)
| ^~
]
./wolftpm/tpm2.h:1673:87: double)GetTickCount64())/1000.0;
| note: in definition of macro '
WOLFTPM_IS_COMMAND_UNAVAILABLEWOLFTPM_IS_COMMAND_UNAVAILABLE./examples/tpm_test.h:100:43:'
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) '
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) ====error: TPM_E_COMMAND_BLOCKED)
| TPM_E_COMMAND_BLOCKED)
| ^~^~reset
' [./wolftpm/tpm2.h:1673:87:-Werror=unused-parameter ]
100 | static inline double gettime_secs(error: int resetcomparison of integer expressions of different signedness: ')
| int~~~~^~~~~' and '
./wolftpm/tpm2.h:1673:87: error: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Werror=sign-compare]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) == TPM_E_COMMAND_BLOCKED)
| ^~
./wolftpm/tpm2.h:1673:87: note: in definition of macro 'WOLFTPM_IS_COMMAND_UNAVAILABLE'
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) == TPM_E_COMMAND_BLOCKED)
| ^~
./wolftpm/tpm2.h:1673:87: error: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Werror=sign-compare]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) == TPM_E_COMMAND_BLOCKED)
| ^~
./wolftpm/tpm2.h:1673:87: note: in definition of macro 'WOLFTPM_IS_COMMAND_UNAVAILABLE'
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) == TPM_E_COMMAND_BLOCKED)
| ^~
error: unsigned intunused variable '' [nvIndex-Werror=sign-compare' []
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) -Werror=unused-variable==]
160 | TPMI_RH_NV_INDEX TPM_E_COMMAND_BLOCKED)
| nvIndex^~;
|
^~~~~~~./wolftpm/tpm2.h:1673:87:
examples/bench/bench.c:25note: :
examples/bench/bench.c:WOLFTPM_IS_COMMAND_UNAVAILABLE In function ''
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (cod bench_sym_aes==':
TPM_E_COMMAND_BLOCKED)
|
error: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Werror=sign-compare./wolftpm/tpm2.h:1673:87: error: comparison of integer expre
ssions of different signedness: ']
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) int==' and ' TPM_E_COMMAND_BLOCKED)
| unsigned int^~' [
]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABL TPM_E_COMMAND_BLOCKED)
| in definition of macro '
'
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) TPM_E_COMMAND_BLOCKED)
| note: ^~in definition of macro '
WOLFTPM_IS_COMMAND_UNAVAILABLE'
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) == TPM_E_COMMAND_BLOCKED)
| ^~
examples/bench/bench.c: In function 'TPM2_Wrapper_BenchArgs':
./wolftpm/tpm2.h:1673:87: error: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Werror=sign-compare]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) ==./wolftpm/tpm2.h:1673:87: TPM_E_COMMAND_BLOCKED)
| ^~error:
comparison of integer expressions of different signedness: './wolftpm/tpm2.h:1673:87:int ' and 'note: unsigned intin definition of macro '' [WOLFTPM_IS_COMMAND_UNAVAILABLE-
Werror=sign-compare'
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) ]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) ==== TPM_E_COMMAND_BLOCKED)
| TPM_E_COMMAND_BLOCKED)
| ^~^~
./wolftpm/tpm2.h:1673:87:./wolftpm/tpm2.h:1673:87: error: note: comparison of integer expressions of different signedness: 'in definition of macro 'intWOLFTPM_IS_COMMAND_U
NAVAILABLE' and ''
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) unsigned int==' [ TPM_E_COMMAND_BLOCKED)
| -Werror=sign-compare^~]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code)
TPM_E_COMMAND_BLOCKED)
|
comparison of integer expressions of different signedness: ' ' and ' ' [ -
Werror=sign-compare'
1673 | #define WOL ]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) TPM_E_COMMAND_BLOCKED)
| TPM_E_COMMAND_BLOCKED)
|
./wolftpm/tpm2.h:1673:87:./wolftpm/tpm2.h:1673:87: error: note: comparison of integer expressions of different signedness: 'in definition of macro 'intWOLFTPM_IS_COMMAND_U
NAVAILABLE' and ''
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) unsigned int==' [ TPM_E_COMMAND_BLOCKED)
| -Werror=sign-compare^~]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code)
TPM_E_COMMAND_BLOCKED)
|
comparison of integer expressions of different signedness: ' ' and ' ' [ -
Werror=sign-compare'
1673 | #define WOL ]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) TPM_E_COMMAND_BLOCKED)
| TPM_E_COMMAND_BLOCKED)
|
./wolftpm/tpm2.h:1673:87:./wolftpm/tpm2.h:1673:87: error: note: comparison of integer expressions of different signedness: 'in definition of macro 'intWOLFTPM_IS_COMMAND_U
NAVAILABLE' and ''
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) unsigned int==' [ TPM_E_COMMAND_BLOCKED)
| -Werror=sign-compare^~]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code)
TPM_E_COMMAND_BLOCKED)
|
comparison of integer expressions of different signedness: ' ' and ' ' [ -
Werror=sign-compare'
1673 | #define WOL ]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) TPM_E_COMMAND_BLOCKED)
| TPM_E_COMMAND_BLOCKED)
|
./wolftpm/tpm2.h:1673:87:./wolftpm/tpm2.h:1673:87: error: note: comparison of integer expressions of different signedness: 'in definition of macro 'intWOLFTPM_IS_COMMAND_U
NAVAILABLE' and ''
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) unsigned int==' [ TPM_E_COMMAND_BLOCKED)
| -Werror=sign-compare^~]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code)
TPM_E_COMMAND_BLOCKED)
|
comparison of integer expressions of different signedness: ' ' and ' ' [ -
Werror=sign-compare'
1673 | #define WOL ]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) TPM_E_COMMAND_BLOCKED)
| TPM_E_COMMAND_BLOCKED)
|
./wolftpm/tpm2.h:1673:87:./wolftpm/tpm2.h:1673:87: error: note: comparison of integer expressions of different signedness: 'in definition of macro 'intWOLFTPM_IS_COMMAND_U
NAVAILABLE' and ''
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) unsigned int==' [ TPM_E_COMMAND_BLOCKED)
| -Werror=sign-compare^~]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code)
TPM_E_COMMAND_BLOCKED)
|
unused variable ' ' [ ]
82 | word32 '
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) = 0;
| ==^~~~~~~~~~~~ TPM_E_COMMAND_BLOCKED)
|
^~
./wolftpm/tpm2.h:1673:87: error: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Werror=sign-compare]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) == TPM_E_COMMAND_BLOCKED)
| ^~
./wolftpm/tpm2.h:1673:87: note: in definition of macro 'WOLFTPM_IS_COMMAND_UNAVAILABLE'
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) == TPM_E_COMMAND_BLOCKED)
| ^~
./wolftpm/tpm2.h:1673:87: error: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Werror=sign-compare]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) == TPM_E_COMMAND_BLOCKED)
| ^~
./wolftpm/tpm2.h:1673:87: note: in definition of macro 'WOLFTPM_IS_COMMAND_UNAVAILABLE'
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) == TPM_E_COMMAND_BLOCKED)
| ^~
./wolftpm/tpm2.h:1673:87: error: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Werror=sign-compare]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) == TPM_E_COMMAND_BLOCKED)
| ^~
./wolftpm/tpm2.h:1673:87: note: in definition of macro 'WOLFTPM_IS_COMMAND_UNAVAILABLE'
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) == TPM_E_COMMAND_BLOCKED)
| ^~
./wolftpm/tpm2.h:1673:87: error: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Werror=sign-compare]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) == TPM_E_COMMAND_BLOCKED)
| ^~
./wolftpm/tpm2.h:1673:87: note: in definition of macro 'WOLFTPM_IS_COMMAND_UNAVAILABLE'
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) == TPM_E_COMMAND_BLOCKED)
| ^~
./wolftpm/tpm2.h:1673:87: error: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Werror=sign-compare]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) == TPM_E_COMMAND_BLOCKED)
| ^~
./wolftpm/tpm2.h:1673:87: note: in definition of macro 'WOLFTPM_IS_COMMAND_UNAVAILABLE'
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) == TPM_E_COMMAND_BLOCKED)
| ^~
./wolftpm/tpm2.h:1673:87: error: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Werror=sign-compare]
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) == TPM_E_COMMAND_BLOCKED)
| ^~
./wolftpm/tpm2.h:1673:87: note: in definition of macro 'WOLFTPM_IS_COMMAND_UNAVAILABLE'
1673 | #define WOLFTPM_IS_COMMAND_UNAVAILABLE(code) ((code) == TPM_RC_COMMAND_CODE || (code) == TPM_E_COMMAND_BLOCKED)
| ^~
cc1.exe: all warnings being treated as errors
cc1.exe: all warnings being treated as errors
cc1.exe: all warnings being treated as errors
make[1]: *** [Makefile:1994: examples/wrap/wrap_test.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:1994: examples/bench/bench.o] Error 1
make[1]: *** [Makefile:1994: examples/native/native_test.o] Error 1
make[1]: Leaving directory '/home/Administrator/wolftpm'
make: *** [Makefile:1407: all] Error 2
If I download wolftpm from the site https://www.wolfssl.com/download/ it builds successfully but with a lot of warnings. Can you please help me to figure out what went wrong?
Thanks,
Rostyslav