Проблема с использованием Make при компиляции Bitcoind

У меня были проблемы с этой проблемой в течение почти двух дней, когда мой make вылетает вскоре после команды. Я следил за настройкой OSx из файла readme на github для биткойнов и выполнял ./autogen.sh и ./configure. Я пытался установить gcc, удалить и переустановить openssl и почти все, что мне приходило в голову. Обратите внимание, что команда make отлично работает в главной ветке, но не работает в последних ветках (в моем случае это версия 0.9.5). Это может быть или не быть простым решением, но я действительно в тупике на данный момент и ценю любую помощь. Вот ошибка, которую я получаю вскоре после выполнения команды make:

Making all in src
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
Making all in .
  CXX      bitcoind.o
In file included from bitcoind.cpp:9:
In file included from ./main.h:13:
./bignum.h:56:24: error: base class has incomplete type
class CBigNum : public BIGNUM
                ~~~~~~~^~~~~~
/usr/local/Cellar/[email protected]/1.1.1d/include/openssl/ossl_typ.h:80:16: note: forward declaration of 'bignum_st'
typedef struct bignum_st BIGNUM;
               ^
In file included from bitcoind.cpp:9:
In file included from ./main.h:13:
./bignum.h:61:9: error: use of undeclared identifier 'BN_init'
        BN_init(this);
        ^
./bignum.h:66:9: error: use of undeclared identifier 'BN_init'
        BN_init(this);
        ^
./bignum.h:67:14: error: no matching function for call to 'BN_copy'
        if (!BN_copy(this, &b))
             ^~~~~~~
/usr/local/Cellar/[email protected]/1.1.1d/include/openssl/bn.h:219:9: note: candidate function not viable: no known conversion
      from 'CBigNum *' to 'BIGNUM *' (aka 'bignum_st *') for 1st argument
BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b);
        ^
In file included from bitcoind.cpp:9:
In file included from ./main.h:13:
./bignum.h:69:13: error: no matching function for call to 'BN_clear_free'
            BN_clear_free(this);
            ^~~~~~~~~~~~~
/usr/local/Cellar/[email protected]/1.1.1d/include/openssl/bn.h:218:6: note: candidate function not viable: no known conversion
      from 'CBigNum *' to 'BIGNUM *' (aka 'bignum_st *') for 1st argument
void BN_clear_free(BIGNUM *a);
     ^
In file included from bitcoind.cpp:9:
In file included from ./main.h:13:
./bignum.h:76:14: error: no matching function for call to 'BN_copy'
        if (!BN_copy(this, &b))
             ^~~~~~~
/usr/local/Cellar/[email protected]/1.1.1d/include/openssl/bn.h:219:9: note: candidate function not viable: no known conversion
      from 'CBigNum *' to 'BIGNUM *' (aka 'bignum_st *') for 1st argument
BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b);
        ^
In file included from bitcoind.cpp:9:
In file included from ./main.h:13:
./bignum.h:83:9: error: no matching function for call to 'BN_clear_free'
        BN_clear_free(this);
        ^~~~~~~~~~~~~
/usr/local/Cellar/[email protected]/1.1.1d/include/openssl/bn.h:218:6: note: candidate function not viable: no known conversion
      from 'CBigNum *' to 'BIGNUM *' (aka 'bignum_st *') for 1st argument
void BN_clear_free(BIGNUM *a);
     ^
In file included from bitcoind.cpp:9:
In file included from ./main.h:13:
./bignum.h:87:37: error: use of undeclared identifier 'BN_init'
    CBigNum(signed char n)        { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
                                    ^
./bignum.h:88:37: error: use of undeclared identifier 'BN_init'
    CBigNum(short n)              { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
                                    ^
./bignum.h:89:37: error: use of undeclared identifier 'BN_init'
    CBigNum(int n)                { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
                                    ^
./bignum.h:90:37: error: use of undeclared identifier 'BN_init'
    CBigNum(long n)               { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
                                    ^
./bignum.h:91:37: error: use of undeclared identifier 'BN_init'
    CBigNum(long long n)          { BN_init(this); setint64(n); }
                                    ^
./bignum.h:92:37: error: use of undeclared identifier 'BN_init'
    CBigNum(unsigned char n)      { BN_init(this); setulong(n); }
                                    ^
./bignum.h:93:37: error: use of undeclared identifier 'BN_init'
    CBigNum(unsigned short n)     { BN_init(this); setulong(n); }
                                    ^
./bignum.h:94:37: error: use of undeclared identifier 'BN_init'
    CBigNum(unsigned int n)       { BN_init(this); setulong(n); }
                                    ^
./bignum.h:95:37: error: use of undeclared identifier 'BN_init'
    CBigNum(unsigned long n)      { BN_init(this); setulong(n); }
                                    ^
./bignum.h:96:37: error: use of undeclared identifier 'BN_init'
    CBigNum(unsigned long long n) { BN_init(this); setuint64(n); }
                                    ^
./bignum.h:97:37: error: use of undeclared identifier 'BN_init'
    explicit CBigNum(uint256 n)   { BN_init(this); setuint256(n); }
                                    ^
./bignum.h:101:9: error: use of undeclared identifier 'BN_init'
        BN_init(this);
        ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[3]: *** [bitcoind.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1

person deepSimba    schedule 21.03.2020    source источник


Ответы (1)


Я недавно столкнулся с этой проблемой. Я перепроверил и убедился, что у меня настроены следующие зависимости:

$ brew install automake berkeley-db4 libtool boost miniupnpc pkg-config python qt libevent qrencode
$ brew install librsvg

После этого заработало корректно.

person jawn diego    schedule 29.03.2020