OpenSSL 3 will deprecate some of the functions we use in tests #869

issue rex4539 openend this issue on January 19, 2021
  1. rex4539 commented at 10:49 pm on January 19, 2021: contributor
      0/Users/rex/secp256k1 on branch master rex@MacBook-Pro-2018% ./autogen.sh 
      1glibtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'.
      2glibtoolize: copying file 'build-aux/ltmain.sh'
      3glibtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'build-aux/m4'.
      4glibtoolize: copying file 'build-aux/m4/libtool.m4'
      5glibtoolize: copying file 'build-aux/m4/ltoptions.m4'
      6glibtoolize: copying file 'build-aux/m4/ltsugar.m4'
      7glibtoolize: copying file 'build-aux/m4/ltversion.m4'
      8glibtoolize: copying file 'build-aux/m4/lt~obsolete.m4'
      9configure.ac:15: installing 'build-aux/compile'
     10configure.ac:5: installing 'build-aux/config.guess'
     11configure.ac:5: installing 'build-aux/config.sub'
     12configure.ac:9: installing 'build-aux/install-sh'
     13configure.ac:9: installing 'build-aux/missing'
     14Makefile.am: installing 'build-aux/depcomp'
     15parallel-tests: installing 'build-aux/test-driver'
     16/Users/rex/secp256k1 on branch master rex@MacBook-Pro-2018% ./configure 
     17checking build system type... x86_64-apple-darwin20.3.0
     18checking host system type... x86_64-apple-darwin20.3.0
     19checking for a BSD-compatible install... /opt/local/bin/ginstall -c
     20checking whether build environment is sane... yes
     21checking for a thread-safe mkdir -p... /opt/local/bin/gmkdir -p
     22checking for gawk... gawk
     23checking whether make sets $(MAKE)... yes
     24checking whether make supports nested variables... yes
     25checking how to print strings... printf
     26checking whether make supports the include directive... yes (GNU style)
     27checking for gcc... gcc
     28checking whether the C compiler works... yes
     29checking for C compiler default output file name... a.out
     30checking for suffix of executables... 
     31checking whether we are cross compiling... no
     32checking for suffix of object files... o
     33checking whether we are using the GNU C compiler... yes
     34checking whether gcc accepts -g... yes
     35checking for gcc option to accept ISO C89... none needed
     36checking whether gcc understands -c and -o together... rm: conftest.dSYM: is a directory
     37yes
     38checking dependency style of gcc... gcc3
     39checking for a sed that does not truncate output... /opt/local/bin/gsed
     40checking for grep that handles long lines and -e... /opt/local/bin/ggrep
     41checking for egrep... /opt/local/bin/ggrep -E
     42checking for fgrep... /opt/local/bin/ggrep -F
     43checking for ld used by gcc... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
     44checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
     45checking for BSD- or MS-compatible name lister (nm)... /opt/local/bin/nm -B
     46checking the name lister (/opt/local/bin/nm -B) interface... rm: conftest.dSYM: is a directory
     47BSD nm
     48checking whether ln -s works... yes
     49checking the maximum length of command line arguments... 786432
     50checking how to convert x86_64-apple-darwin20.3.0 file names to x86_64-apple-darwin20.3.0 format... func_convert_file_noop
     51checking how to convert x86_64-apple-darwin20.3.0 file names to toolchain format... func_convert_file_noop
     52checking for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld option to reload object files... -r
     53checking for objdump... objdump
     54checking how to recognize dependent libraries... pass_all
     55checking for dlltool... no
     56checking how to associate runtime and link libraries... printf %s\n
     57checking for ar... ar
     58checking for archiver [@FILE](/bitcoin-core-secp256k1/contributor/file/) support... rm: conftest.dSYM: is a directory
     59no
     60checking for strip... strip
     61checking for ranlib... ranlib
     62checking command to parse /opt/local/bin/nm -B output from gcc object... rm: conftest.dSYM: is a directory
     63ok
     64checking for sysroot... no
     65checking for a working dd... /bin/dd
     66checking how to truncate binary pipes... /bin/dd bs=4096 count=1
     67checking for mt... no
     68checking if : is a manifest tool... no
     69checking for dsymutil... dsymutil
     70checking for nmedit... nmedit
     71checking for lipo... lipo
     72checking for otool... otool
     73checking for otool64... no
     74checking for -single_module linker flag... yes
     75checking for -exported_symbols_list linker flag... yes
     76checking for -force_load linker flag... yes
     77checking how to run the C preprocessor... gcc -E
     78checking for ANSI C header files... yes
     79checking for sys/types.h... yes
     80checking for sys/stat.h... yes
     81checking for stdlib.h... yes
     82checking for string.h... yes
     83checking for memory.h... yes
     84checking for strings.h... yes
     85checking for inttypes.h... yes
     86checking for stdint.h... yes
     87checking for unistd.h... yes
     88checking for dlfcn.h... yes
     89checking for objdir... .libs
     90checking if gcc supports -fno-rtti -fno-exceptions... yes
     91checking for gcc option to produce PIC... -fno-common -DPIC
     92checking if gcc PIC flag -fno-common -DPIC works... yes
     93checking if gcc static flag -static works... no
     94checking if gcc supports -c -o file.o... yes
     95checking if gcc supports -c -o file.o... (cached) yes
     96checking whether the gcc linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
     97checking dynamic linker characteristics... darwin20.3.0 dyld
     98checking how to hardcode library paths into programs... immediate
     99checking whether stripping libraries is possible... yes
    100checking if libtool supports shared libraries... yes
    101checking whether to build shared libraries... yes
    102checking whether to build static libraries... yes
    103checking whether make supports nested variables... (cached) yes
    104checking for pkg-config... /opt/local/bin/pkg-config
    105checking pkg-config is at least version 0.9.0... yes
    106checking for ar... /opt/local/bin/ar
    107checking for ranlib... /opt/local/bin/ranlib
    108checking for strip... /opt/local/bin/strip
    109checking for gcc option to accept ISO C89... (cached) none needed
    110checking dependency style of gcc... gcc3
    111checking for brew... no
    112checking for port... /opt/local/bin/port
    113checking if gcc supports -std=c89 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wundef -Wno-unused-function -Wno-long-long -Wno-overlength-strings... yes
    114checking if gcc supports -fvisibility=hidden... yes
    115checking valgrind/memcheck.h usability... yes
    116checking valgrind/memcheck.h presence... yes
    117checking for valgrind/memcheck.h... yes
    118checking for x86_64 assembly availability... yes
    119checking gmp.h usability... yes
    120checking gmp.h presence... yes
    121checking for gmp.h... yes
    122checking for __gmpz_init in -lgmp... yes
    123checking for libcrypto... yes
    124checking for main in -lcrypto... yes
    125checking for EC functions in libcrypto... yes
    126checking that generated files are newer than configure... done
    127configure: creating ./config.status
    128config.status: creating Makefile
    129config.status: creating libsecp256k1.pc
    130config.status: creating src/libsecp256k1-config.h
    131config.status: executing depfiles commands
    132config.status: executing libtool commands
    133
    134Build Options:
    135  with ecmult precomp     = yes
    136  with external callbacks = no
    137  with benchmarks         = yes
    138  with tests              = yes
    139  with openssl tests      = yes
    140  with coverage           = no
    141  module ecdh             = no
    142  module recovery         = no
    143  module extrakeys        = no
    144  module schnorrsig       = no
    145
    146  asm                     = x86_64
    147  bignum                  = gmp
    148  ecmult window size      = 15
    149  ecmult gen prec. bits   = 4
    150
    151  valgrind                = yes
    152  CC                      = gcc
    153  CFLAGS                  = -O2 -fvisibility=hidden -std=c89 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wundef -Wno-unused-function -Wno-long-long -Wno-overlength-strings -W -g
    154  CPPFLAGS                =   -isystem /opt/local/include
    155  LDFLAGS                 =  -L/opt/local/lib
    156
    157  CC_FOR_BUILD            = gcc
    158  CFLAGS_FOR_BUILD        = -O2 -fvisibility=hidden -std=c89 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wundef -Wno-unused-function -Wno-long-long -Wno-overlength-strings -W -g
    159  CPPFLAGS_FOR_BUILD      =   -isystem /opt/local/include
    160  LDFLAGS_FOR_BUILD       =  -L/opt/local/lib
    161/Users/rex/secp256k1 on branch master rex@MacBook-Pro-2018% make -j12
    162gcc -isystem /opt/local/include -I. -I./src -O2 -fvisibility=hidden -std=c89 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wundef -Wno-unused-function -Wno-long-long -Wno-overlength-strings -W -g -c src/gen_context.c -o gen_context.o
    163  CC       src/bench_verify-bench_verify.o
    164  CC       src/bench_sign.o
    165  CC       src/valgrind_ctime_test.o
    166  CC       src/exhaustive_tests-tests_exhaustive.o
    167src/bench_verify.c:72:22: warning: 'ECDSA_verify' is deprecated [-Wdeprecated-declarations]
    168            result = ECDSA_verify(0, &data->msg[0], sizeof(data->msg), &data->sig[0], data->siglen, pkey) == (i == 0);
    169                     ^
    170/usr/local/include/openssl/ec.h:1402:1: note: 'ECDSA_verify' has been explicitly marked deprecated here
    171DEPRECATEDIN_3_0(int ECDSA_verify(int type, const unsigned char *dgst,
    172^
    173/usr/local/include/openssl/macros.h:182:49: note: expanded from macro 'DEPRECATEDIN_3_0'
    174#   define DEPRECATEDIN_3_0(f)                  OSSL_DEPRECATEDIN_3_0 f;
    175                                                ^
    176/usr/local/include/openssl/macros.h:180:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
    177#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
    178                                                ^
    179/usr/local/include/openssl/macros.h:60:52: note: expanded from macro 'OSSL_DEPRECATED'
    180#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
    181                                                   ^
    1821 warning generated.
    183  CCLD     exhaustive_tests
    184gcc -O2 -fvisibility=hidden -std=c89 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wundef -Wno-unused-function -Wno-long-long -Wno-overlength-strings -W -g -L/opt/local/lib gen_context.o -o gen_context
    185./gen_context
    186  CC       src/libsecp256k1_la-secp256k1.lo
    187  CC       src/bench_internal-bench_internal.o
    188  CC       src/tests-tests.o
    189  CC       src/bench_ecmult-bench_ecmult.o
    190src/tests.c:5409:11: warning: 'ECDSA_sign' is deprecated [-Wdeprecated-declarations]
    191    CHECK(ECDSA_sign(0, message, sizeof(message), signature, &sigsize, ec_key));
    192          ^
    193/usr/local/include/openssl/ec.h:1369:1: note: 'ECDSA_sign' has been explicitly marked deprecated here
    194DEPRECATEDIN_3_0(int ECDSA_sign(int type, const unsigned char *dgst,
    195^
    196/usr/local/include/openssl/macros.h:182:49: note: expanded from macro 'DEPRECATEDIN_3_0'
    197#   define DEPRECATEDIN_3_0(f)                  OSSL_DEPRECATEDIN_3_0 f;
    198                                                ^
    199/usr/local/include/openssl/macros.h:180:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
    200#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
    201                                                ^
    202/usr/local/include/openssl/macros.h:60:52: note: expanded from macro 'OSSL_DEPRECATED'
    203#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
    204                                                   ^
    205src/tests.c:5418:11: warning: 'ECDSA_verify' is deprecated [-Wdeprecated-declarations]
    206    CHECK(ECDSA_verify(0, message, sizeof(message), signature, secp_sigsize, ec_key) == 1);
    207          ^
    208/usr/local/include/openssl/ec.h:1402:1: note: 'ECDSA_verify' has been explicitly marked deprecated here
    209DEPRECATEDIN_3_0(int ECDSA_verify(int type, const unsigned char *dgst,
    210^
    211/usr/local/include/openssl/macros.h:182:49: note: expanded from macro 'DEPRECATEDIN_3_0'
    212#   define DEPRECATEDIN_3_0(f)                  OSSL_DEPRECATEDIN_3_0 f;
    213                                                ^
    214/usr/local/include/openssl/macros.h:180:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
    215#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
    216                                                ^
    217/usr/local/include/openssl/macros.h:60:52: note: expanded from macro 'OSSL_DEPRECATED'
    218#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
    219                                                   ^
    220  CCLD     bench_ecmult
    221  CCLD     bench_internal
    222  CCLD     libsecp256k1.la
    223  CCLD     bench_verify
    224  CCLD     bench_sign
    225  CCLD     valgrind_ctime_test
    2262 warnings generated.
    227  CCLD     tests
    228/Users/rex/secp256k1 on branch master rex@MacBook-Pro-2018% clang --version
    229Apple clang version 12.0.0 (clang-1200.0.32.28)
    230Target: x86_64-apple-darwin20.3.0
    231Thread model: posix
    232InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
    
  2. sipa commented at 11:03 pm on January 19, 2021: contributor

    There is nothing to worry about here; OpenSSL is only used to test/benchmark against.

    This means we’ll either want to update the OpenSSL usage to whatever the ECDSA API is being replaced with, or drop support for it entirely.

  3. real-or-random commented at 8:49 am on January 20, 2021: contributor
    @rex4539 Which OpenSSL version do you use? AFAIU these functions will be deprecated in OpenSSL 3, which has not been released yet.
  4. rex4539 commented at 10:00 am on January 20, 2021: contributor

    Aha, ahead of the curve it seems.

    0% openssl version
    1OpenSSL 3.0.0-alpha11-dev  (Library: OpenSSL 3.0.0-alpha11-dev )
    
  5. real-or-random renamed this:
    Warnings during compilation
    OpenSSL 3 will deprecate some of the functions we use in tests
    on Jan 20, 2021
  6. sipa cross-referenced this on Sep 28, 2021 from issue [RFC] Remove OpenSSL testing support by sipa
  7. real-or-random referenced this in commit f34b5cae03 on Oct 16, 2021
  8. real-or-random commented at 9:35 pm on April 6, 2022: contributor
    This has been solved by #983. Re-adding cross tests is tracked in #691.
  9. real-or-random closed this on Apr 6, 2022


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/secp256k1. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-23 05:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me