libbitcoin/secp256k1

MSVC: options ecdh/recovery not configured on exe builds.

Opened this issue · 3 comments

1>------ Rebuild All started: Project: secp256k1, Configuration: ReleaseLIB x64 ------
1>ConfigurationType : StaticLibrary
1>Configuration     : ReleaseLIB
1>PlatformToolset   : v141
1>TargetPath        : secp256k1\builds\msvc\vs2017\secp256k1\..\..\..\..\bin\x64\Release\v141\static\secp256k1.lib
1>Option-gmp          :
1>Option-assembly     :
1>Option-endomorphism : true
1>Option-config       :
1>Option-field64      :
1>Option-scalar64     :
1>Option-ecdh         : true
1>Option-recovery     : true
1>Option-schnorrsig   : true
1>lax_der_parsing.c
1>lax_der_privatekey_parsing.c
1>secp256k1.c
1>secp256k1\src\ecmult_impl.h(1028): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) (compiling source file ..\..\..\..\src\secp256k1.c)
1>secp256k1.vcxproj -> secp256k1\builds\msvc\vs2017\secp256k1\..\..\..\..\bin\x64\Release\v141\static\secp256k1.lib
1>Done building project "secp256k1.vcxproj".
2>------ Rebuild All started: Project: secp256k1_bench, Configuration: ReleaseSEXE x64 ------
3>------ Rebuild All started: Project: secp256k1_tests, Configuration: ReleaseSEXE x64 ------
2>ConfigurationType : Application
2>Configuration     : ReleaseSEXE
2>PlatformToolset   : v141
2>TargetPath        : secp256k1\builds\msvc\vs2017\secp256k1_bench\..\..\..\..\bin\x64\Release\v141\static\secp256k1_bench.exe
2>Option-gmp          :
2>Option-assembly     :
2>Option-endomorphism : true
2>Option-config       :
2>Option-field64      :
2>Option-scalar64     :
2>Option-ecdh         :
2>Option-recovery     :
2>Linkage-secp256k1   : static
2>bench_schnorrsig.c
2>..\..\..\..\src\bench_schnorrsig.c(70): warning C4090: 'function': different 'const' qualifiers
2>..\..\..\..\src\bench_schnorrsig.c(121): warning C4090: 'function': different 'const' qualifiers
2>..\..\..\..\src\bench_schnorrsig.c(122): warning C4090: 'function': different 'const' qualifiers
2>..\..\..\..\src\bench_schnorrsig.c(123): warning C4090: 'function': different 'const' qualifiers
3>ConfigurationType : Application
3>Configuration     : ReleaseSEXE
3>PlatformToolset   : v141
3>TargetPath        : secp256k1\builds\msvc\vs2017\secp256k1_tests\..\..\..\..\bin\x64\Release\v141\static\secp256k1_tests.exe
3>Option-gmp          :
3>Option-assembly     :
3>Option-endomorphism : true
3>Option-config       :
3>Option-field64      :
3>Option-scalar64     :
3>Option-testssl      :
3>Option-ecdh         :
3>Option-recovery     :
3>Linkage-secp256k1   : static
3>tests.c
3>secp256k1\src\ecmult_impl.h(1028): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
2>secp256k1_bench.vcxproj -> secp256k1\builds\msvc\vs2017\secp256k1_bench\..\..\..\..\bin\x64\Release\v141\static\secp256k1_bench.exe
2>Done building project "secp256k1_bench.vcxproj".
3>ConfigurationType : StaticLibrary
3>Configuration     : ReleaseLIB
3>PlatformToolset   : v141
3>TargetPath        : secp256k1\builds\msvc\vs2017\secp256k1\..\..\..\..\bin\x64\Release\v141\static\secp256k1.lib
3>Option-gmp          :
3>Option-assembly     :
3>Option-endomorphism : true
3>Option-config       :
3>Option-field64      :
3>Option-scalar64     :
3>Option-ecdh         : true
3>Option-recovery     : true
3>Option-schnorrsig   : true

Same on *nix. If it's any help, this fixed it for me:

./configure  --enable-module-recovery --enable-module-ecdh

Yes, that’s a required setting.

This issue pertains to something else.