lightning icon indicating copy to clipboard operation
lightning copied to clipboard

OpenBSD 7.1 cannot compile v0.11.1

Open emx0r opened this issue 1 year ago • 3 comments

Issue and Steps to Reproduce

I'm getting compile errors on OpenBSD 7.1 stable

Build Options:
  with external callbacks = no
  with benchmarks         = no
  with tests              = no
  with coverage           = no
  with examples           = no
  module ecdh             = yes
  module recovery         = yes
  module extrakeys        = yes
  module schnorrsig       = yes
  module musig            = no
  module ecdsa-s2c        = yes
  module ecdsa-adaptor    = no

  asm                     = no
  ecmult window size      = 15
  ecmult gen prec. bits   = 4

  valgrind                = no
  CC                      = cc
  CPPFLAGS                =  
  SECP_CFLAGS             = -O2  -std=c89 -pedantic -Wno-long-long -Wnested-externs -Wshadow -Wstrict-prototypes -Wundef -Wno-overlength-strings -Wall -Wno-unused-function -Wextra -Wcast-align -Wconditional-uninitialized -fvisibility=hidden 
  CFLAGS                  = -std=c99
  LDFLAGS                 =  -O0 -ggdb
gmake[1]: Entering directory '/home/bitcoin/lightning/external/amd64-unknown-openbsd7.1/libwally-core-build'
Making all in src
gmake[2]: Entering directory '/home/bitcoin/lightning/external/amd64-unknown-openbsd7.1/libwally-core-build/src'
gmake  all-recursive
gmake[3]: Entering directory '/home/bitcoin/lightning/external/amd64-unknown-openbsd7.1/libwally-core-build/src'
Making all in secp256k1
gmake[4]: Entering directory '/home/bitcoin/lightning/external/amd64-unknown-openbsd7.1/libwally-core-build/src/secp256k1'
gmake  all-am
gmake[5]: Entering directory '/home/bitcoin/lightning/external/amd64-unknown-openbsd7.1/libwally-core-build/src/secp256k1'
  CC       src/libsecp256k1_la-secp256k1.lo
In file included from ../../../../libwally-core/src/secp256k1/src/secp256k1.c:814:
In file included from ../../../../libwally-core/src/secp256k1/src/modules/extrakeys/main_impl.h:12:
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/hsort_impl.h:26:55: error: too many arguments provided to function-like macro invocation
static SECP256K1_INLINE void swap64(unsigned char *a, size_t i, size_t j, size_t stride) {
                                                      ^
/usr/include/sys/endian.h:72:9: note: macro 'swap64' defined here
#define swap64(x) __swap64(x)
        ^
In file included from ../../../../libwally-core/src/secp256k1/src/secp256k1.c:814:
In file included from ../../../../libwally-core/src/secp256k1/src/modules/extrakeys/main_impl.h:12:
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/hsort_impl.h:26:8: error: 'inline' can only appear on functions
static SECP256K1_INLINE void swap64(unsigned char *a, size_t i, size_t j, size_t stride) {
       ^
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/../../../include/secp256k1.h:130:28: note: expanded from macro 'SECP256K1_INLINE'
#  define SECP256K1_INLINE inline
                           ^
In file included from ../../../../libwally-core/src/secp256k1/src/secp256k1.c:814:
In file included from ../../../../libwally-core/src/secp256k1/src/modules/extrakeys/main_impl.h:12:
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/hsort_impl.h:26:30: error: variable has incomplete type 'void'
static SECP256K1_INLINE void swap64(unsigned char *a, size_t i, size_t j, size_t stride) {
                             ^
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/hsort_impl.h:26:36: error: expected ';' after top level declarator
static SECP256K1_INLINE void swap64(unsigned char *a, size_t i, size_t j, size_t stride) {
                                   ^
                                   ;
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/hsort_impl.h:36:35: error: too many arguments provided to function-like macro invocation
        swap64(a + (stride - 64), i, j, 64);
                                  ^
/usr/include/sys/endian.h:72:9: note: macro 'swap64' defined here
#define swap64(x) __swap64(x)
        ^
In file included from ../../../../libwally-core/src/secp256k1/src/secp256k1.c:814:
In file included from ../../../../libwally-core/src/secp256k1/src/modules/extrakeys/main_impl.h:12:
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/hsort_impl.h:39:15: error: too many arguments provided to function-like macro invocation
    swap64(a, i, j, stride);
              ^
/usr/include/sys/endian.h:72:9: note: macro 'swap64' defined here
#define swap64(x) __swap64(x)
        ^
In file included from ../../../../libwally-core/src/secp256k1/src/secp256k1.c:814:
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/main_impl.h:163:71: error: expected expression
    return secp256k1_xonly_pubkey_cmp(((secp256k1_xonly_sort_cmp_data*)cmp_data)->ctx,
                                                                      ^
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/main_impl.h:163:41: error: use of undeclared identifier 'secp256k1_xonly_sort_cmp_data'; did you mean 'secp256k1_xonly_sort_cmp'?
    return secp256k1_xonly_pubkey_cmp(((secp256k1_xonly_sort_cmp_data*)cmp_data)->ctx,
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                        secp256k1_xonly_sort_cmp
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/main_impl.h:162:12: note: 'secp256k1_xonly_sort_cmp' declared here
static int secp256k1_xonly_sort_cmp(const void* pk1, const void* pk2, void *cmp_data) {
           ^
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/main_impl.h:162:77: warning: unused parameter 'cmp_data' [-Wunused-parameter]
static int secp256k1_xonly_sort_cmp(const void* pk1, const void* pk2, void *cmp_data) {
                                                                            ^
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/main_impl.h:169:5: error: use of undeclared identifier 'secp256k1_xonly_sort_cmp_data'; did you mean 'secp256k1_xonly_sort_cmp'?
    secp256k1_xonly_sort_cmp_data cmp_data;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    secp256k1_xonly_sort_cmp
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/main_impl.h:162:12: note: 'secp256k1_xonly_sort_cmp' declared here
static int secp256k1_xonly_sort_cmp(const void* pk1, const void* pk2, void *cmp_data) {
           ^
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/main_impl.h:169:34: error: expected ';' after expression
    secp256k1_xonly_sort_cmp_data cmp_data;
                                 ^
                                 ;
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/main_impl.h:169:5: warning: expression result unused [-Wunused-value]
    secp256k1_xonly_sort_cmp_data cmp_data;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/main_impl.h:169:35: error: use of undeclared identifier 'cmp_data'
    secp256k1_xonly_sort_cmp_data cmp_data;
                                  ^
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/main_impl.h:173:5: error: use of undeclared identifier 'cmp_data'
    cmp_data.ctx = ctx;
    ^
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/main_impl.h:174:86: error: use of undeclared identifier 'cmp_data'
    secp256k1_hsort(pubkeys, n_pubkeys, sizeof(*pubkeys), secp256k1_xonly_sort_cmp, &cmp_data);
                                                                                     ^
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/main_impl.h:268:11: warning: implicit declaration of function 'secp256k1_extrakeys_ge_even_y' is invalid in C99 [-Wimplicit-function-declaration]
    tmp = secp256k1_extrakeys_ge_even_y(&pk);
          ^
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/main_impl.h:272:5: warning: implicit declaration of function 'secp256k1_xonly_pubkey_save' is invalid in C99 [-Wimplicit-function-declaration]
    secp256k1_xonly_pubkey_save(pubkey, &pk);
    ^
../../../../libwally-core/src/secp256k1/src/modules/extrakeys/main_impl.h:290:16: warning: implicit declaration of function 'secp256k1_extrakeys_ge_even_y' is invalid in C99 [-Wimplicit-function-declaration]
    y_parity = secp256k1_extrakeys_ge_even_y(&pk);
               ^
In file included from ../../../../libwally-core/src/secp256k1/src/secp256k1.c:818:
../../../../libwally-core/src/secp256k1/src/modules/schnorrsig/main_impl.h:244:10: warning: implicit declaration of function 'secp256k1_xonly_pubkey_load' is invalid in C99 [-Wimplicit-function-declaration]
    if (!secp256k1_xonly_pubkey_load(ctx, &pk, pubkey)) {
         ^
6 warnings and 13 errors generated.
gmake[5]: *** [Makefile:1336: src/libsecp256k1_la-secp256k1.lo] Error 1
gmake[5]: Leaving directory '/home/bitcoin/lightning/external/amd64-unknown-openbsd7.1/libwally-core-build/src/secp256k1'
gmake[4]: *** [Makefile:1036: all] Error 2
gmake[4]: Leaving directory '/home/bitcoin/lightning/external/amd64-unknown-openbsd7.1/libwally-core-build/src/secp256k1'
gmake[3]: *** [Makefile:1712: all-recursive] Error 1
gmake[3]: Leaving directory '/home/bitcoin/lightning/external/amd64-unknown-openbsd7.1/libwally-core-build/src'
gmake[2]: *** [Makefile:924: all] Error 2
gmake[2]: Leaving directory '/home/bitcoin/lightning/external/amd64-unknown-openbsd7.1/libwally-core-build/src'
gmake[1]: *** [Makefile:435: all-recursive] Error 1
gmake[1]: Leaving directory '/home/bitcoin/lightning/external/amd64-unknown-openbsd7.1/libwally-core-build'
gmake: *** [external/Makefile:75: external/amd64-unknown-openbsd7.1/libwally-core-build/src/libwallycore.la] Error 2

emx0r avatar Aug 17 '22 12:08 emx0r

Looks like this is an upstream issue in libwally-core, would you like us to report it or do you want to take the honors?

cdecker avatar Aug 17 '22 13:08 cdecker

Looks like this is an upstream issue in libwally-core, would you like us to report it or do you want to take the honors?

if you would not mind... probably better you do it as I'm not a developer, so don't want to confuse someone with my report :)

emx0r avatar Aug 17 '22 14:08 emx0r

This should be fixed in libwally-core master: https://github.com/ElementsProject/libwally-core/issues/334

grubles avatar Aug 17 '22 21:08 grubles