hi guys, trying to compile the latest source on ubuntu 18.04.1 LTS and I get the following error:
In file included from src/addrman.h:9:0,
from src/net.h:20,
from src/main.h:10,
from src/kernel.h:7,
from src/txdb-leveldb.cpp:17:
src/util.h:241:22: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
return strprintf("%"PRId64, n);
^
In file included from src/main.h:10:0,
from src/kernel.h:7,
from src/txdb-leveldb.cpp:17:
src/net.h:316:20: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
printf("askfor %s %"PRId64" (%s)\n", inv.ToString().c_str(), nRequestTime, DateTimeStrFormat("%H:%M:%S", nRequestTime/1000000).c_str());
^
In file included from src/kernel.h:7:0,
from src/txdb-leveldb.cpp:17:
src/main.h:668:26: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
str += strprintf("(hash=%s, nTime=%d, ver=%d, vin.size=%"PRIszu", vout.size=%"PRIszu", nLockTime=%d)\n",
^
src/main.h:668:72: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
str += strprintf("(hash=%s, nTime=%d, ver=%d, vin.size=%"PRIszu", vout.size=%"PRIszu", nLockTime=%d)\n",
^
src/main.h:1091:16: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
printf("CBlock(hash=%s, ver=%d, hashPrevBlock=%s, hashMerkleRoot=%s, nTime=%u, nBits=%08x, nNonce=%u, vtx=%"PRIszu", vchBlockSig=%s)\n",
^
src/main.h:1353:26: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
return strprintf("CBlockIndex(nprev=%p, pnext=%p, nFile=%u, nBlockPos=%-6d nHeight=%d, nMint=%s, nMoneySupply=%s, nFlags=(%s)(%d)(%s), nStakeModifier=%016"PRIx64", nStakeModifierChecksum=%08x, hashProof=%s, prevoutStake=(%s), nStakeTime=%d merkle=%s, hashBlock=%s)",
^
src/txdb-leveldb.cpp:416:26: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
return error("CTxDB::LoadBlockIndex() : Failed stake modifier checkpoint height=%d, modifier=0x%016"PRIx64, pindex->nHeight, pindex->nStakeModifier);
^
In file included from src/main.h:8:0,
from src/kernel.h:7,
from src/txdb-leveldb.cpp:17:
src/bignum.h:57:24: error: invalid use of incomplete type ‘BIGNUM {aka struct bignum_st}’
class CBigNum : public BIGNUM
^~~~~~
In file included from /usr/include/openssl/bn.h:32:0,
from src/bignum.h:13,
from src/main.h:8,
from src/kernel.h:7,
from src/txdb-leveldb.cpp:17:
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of ‘BIGNUM {aka struct bignum_st}’
typedef struct bignum_st BIGNUM;
^~~~~~~~~
In file included from src/main.h:8:0,
from src/kernel.h:7,
from src/txdb-leveldb.cpp:17:
src/bignum.h: In constructor ‘CBigNum::CBigNum()’:
src/bignum.h:62:9: error: ‘BN_init’ was not declared in this scope
BN_init(this);
^~~~~~~
src/bignum.h:62:9: note: suggested alternative: ‘BN_print’
BN_init(this);
^~~~~~~
BN_print
src/bignum.h: In copy constructor ‘CBigNum::CBigNum(const CBigNum&)’:
src/bignum.h:67:9: error: ‘BN_init’ was not declared in this scope
BN_init(this);
^~~~~~~
src/bignum.h:67:9: note: suggested alternative: ‘BN_print’
BN_init(this);
^~~~~~~
BN_print
src/bignum.h:68:30: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘BIGNUM* BN_copy(BIGNUM*, const BIGNUM*)’
if (!BN_copy(this, &b))
^
src/bignum.h:70:31: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘void BN_clear_free(BIGNUM*)’
BN_clear_free(this);
^
src/bignum.h: In member function ‘CBigNum& CBigNum::operator=(const CBigNum&)’:
src/bignum.h:77:30: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘BIGNUM* BN_copy(BIGNUM*, const BIGNUM*)’
if (!BN_copy(this, &b))
^
src/bignum.h: In destructor ‘CBigNum::~CBigNum()’:
src/bignum.h:84:27: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘void BN_clear_free(BIGNUM*)’
BN_clear_free(this);
^
src/bignum.h: In constructor ‘CBigNum::CBigNum(signed char)’:
src/bignum.h:88:37: error: ‘BN_init’ was not declared in this scope
CBigNum(signed char n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
^~~~~~~
src/bignum.h:88:37: note: suggested alternative: ‘BN_print’
CBigNum(signed char n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
^~~~~~~
BN_print
src/bignum.h: In constructor ‘CBigNum::CBigNum(short int)’:
src/bignum.h:89:37: error: ‘BN_init’ was not declared in this scope
CBigNum(short n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
^~~~~~~
src/bignum.h:89:37: note: suggested alternative: ‘BN_print’
CBigNum(short n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
^~~~~~~
BN_print
src/bignum.h: In constructor ‘CBigNum::CBigNum(int)’:
src/bignum.h:90:37: error: ‘BN_init’ was not declared in this scope
CBigNum(int n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
^~~~~~~
src/bignum.h:90:37: note: suggested alternative: ‘BN_print’
CBigNum(int n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
^~~~~~~
BN_print
src/bignum.h: In constructor ‘CBigNum::CBigNum(long int)’:
src/bignum.h:91:37: error: ‘BN_init’ was not declared in this scope
CBigNum(long n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
^~~~~~~
src/bignum.h:91:37: note: suggested alternative: ‘BN_print’
CBigNum(long n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
^~~~~~~
BN_print
src/bignum.h: In constructor ‘CBigNum::CBigNum(long long int)’:
src/bignum.h:92:37: error: ‘BN_init’ was not declared in this scope
CBigNum(long long n) { BN_init(this); setint64(n); }
^~~~~~~
src/bignum.h:92:37: note: suggested alternative: ‘BN_print’
CBigNum(long long n) { BN_init(this); setint64(n); }
^~~~~~~
BN_print
src/bignum.h: In constructor ‘CBigNum::CBigNum(unsigned char)’:
src/bignum.h:93:37: error: ‘BN_init’ was not declared in this scope
CBigNum(unsigned char n) { BN_init(this); setulong(n); }
^~~~~~~
src/bignum.h:93:37: note: suggested alternative: ‘BN_print’
CBigNum(unsigned char n) { BN_init(this); setulong(n); }
^~~~~~~
BN_print
src/bignum.h: In constructor ‘CBigNum::CBigNum(short unsigned int)’:
src/bignum.h:94:37: error: ‘BN_init’ was not declared in this scope
CBigNum(unsigned short n) { BN_init(this); setulong(n); }
^~~~~~~
src/bignum.h:94:37: note: suggested alternative: ‘BN_print’
CBigNum(unsigned short n) { BN_init(this); setulong(n); }
^~~~~~~
BN_print
src/bignum.h: In constructor ‘CBigNum::CBigNum(unsigned int)’:
src/bignum.h:95:37: error: ‘BN_init’ was not declared in this scope
CBigNum(unsigned int n) { BN_init(this); setulong(n); }
^~~~~~~
src/bignum.h:95:37: note: suggested alternative: ‘BN_print’
CBigNum(unsigned int n) { BN_init(this); setulong(n); }
^~~~~~~
BN_print
src/bignum.h: In constructor ‘CBigNum::CBigNum(long unsigned int)’:
src/bignum.h:96:37: error: ‘BN_init’ was not declared in this scope
CBigNum(unsigned long n) { BN_init(this); setulong(n); }
^~~~~~~
src/bignum.h:96:37: note: suggested alternative: ‘BN_print’
CBigNum(unsigned long n) { BN_init(this); setulong(n); }
^~~~~~~
BN_print
src/bignum.h: In constructor ‘CBigNum::CBigNum(long long unsigned int)’:
src/bignum.h:97:37: error: ‘BN_init’ was not declared in this scope
CBigNum(unsigned long long n) { BN_init(this); setuint64(n); }
^~~~~~~
src/bignum.h:97:37: note: suggested alternative: ‘BN_print’
CBigNum(unsigned long long n) { BN_init(this); setuint64(n); }
^~~~~~~
BN_print
src/bignum.h: In constructor ‘CBigNum::CBigNum(uint256)’:
src/bignum.h:98:37: error: ‘BN_init’ was not declared in this scope
explicit CBigNum(uint256 n) { BN_init(this); setuint256(n); }
^~~~~~~
src/bignum.h:98:37: note: suggested alternative: ‘BN_print’
explicit CBigNum(uint256 n) { BN_init(this); setuint256(n); }
^~~~~~~
BN_print
src/bignum.h: In constructor ‘CBigNum::CBigNum(const std::vector&)’:
src/bignum.h:102:9: error: ‘BN_init’ was not declared in this scope
BN_init(this);
^~~~~~~
src/bignum.h:102:9: note: suggested alternative: ‘BN_print’
BN_init(this);
^~~~~~~
BN_print
src/bignum.h: In static member function ‘static CBigNum CBigNum::randBignum(const CBigNum&)’:
src/bignum.h:113:39: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_rand_range(BIGNUM*, const BIGNUM*)’
if(!BN_rand_range(&ret, &range)){
^
src/bignum.h: In static member function ‘static CBigNum CBigNum::RandKBitBigum(uint32_t)’:
src/bignum.h:125:35: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_rand(BIGNUM*, int, int, int)’
if(!BN_rand(&ret, k, -1, 0)){
^
src/bignum.h: In member function ‘int CBigNum::bitSize() const’:
src/bignum.h:136:33: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_num_bits(const BIGNUM*)’
return BN_num_bits(this);
^
src/bignum.h: In member function ‘void CBigNum::setulong(long unsigned int)’:
src/bignum.h:142:33: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_set_word(BIGNUM*, long unsigned int)’
if (!BN_set_word(this, n))
^
src/bignum.h: In member function ‘long unsigned int CBigNum::getulong() const’:
src/bignum.h:148:32: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘long unsigned int BN_get_word(const BIGNUM*)’
return BN_get_word(this);
^
src/bignum.h: In member function ‘unsigned int CBigNum::getuint() const’:
src/bignum.h:153:32: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘long unsigned int BN_get_word(const BIGNUM*)’
return BN_get_word(this);
^
src/bignum.h: In member function ‘int CBigNum::getint() const’:
src/bignum.h:158:43: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘long unsigned int BN_get_word(const BIGNUM*)’
unsigned long n = BN_get_word(this);
^
src/bignum.h:159:33: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_is_negative(const BIGNUM*)’
if (!BN_is_negative(this))
^
In file included from src/main.h:8:0,
from src/kernel.h:7,
from src/txdb-leveldb.cpp:17:
src/bignum.h: In member function ‘void CBigNum::setint64(int64_t)’:
src/bignum.h:205:37: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘3’ to ‘BIGNUM* BN_mpi2bn(const unsigned char*, int, BIGNUM*)’
BN_mpi2bn(pch, p - pch, this);
^
src/bignum.h: In member function ‘uint64_t CBigNum::getuint64()’:
src/bignum.h:210:50: error: cannot convert ‘CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_bn2mpi(const BIGNUM*, unsigned char*)’
unsigned int nSize = BN_bn2mpi(this, NULL);
^
src/bignum.h:214:32: error: cannot convert ‘CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_bn2mpi(const BIGNUM*, unsigned char*)’
BN_bn2mpi(this, &vch[0]);
^
src/bignum.h: In member function ‘void CBigNum::setuint64(uint64_t)’:
src/bignum.h:247:37: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘3’ to ‘BIGNUM* BN_mpi2bn(const unsigned char*, int, BIGNUM*)’
BN_mpi2bn(pch, p - pch, this);
^
src/bignum.h: In member function ‘void CBigNum::setuint256(uint256)’:
src/bignum.h:275:37: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘3’ to ‘BIGNUM* BN_mpi2bn(const unsigned char*, int, BIGNUM*)’
BN_mpi2bn(pch, p - pch, this);
^
src/bignum.h: In member function ‘uint256 CBigNum::getuint256() const’:
src/bignum.h:280:50: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_bn2mpi(const BIGNUM*, unsigned char*)’
unsigned int nSize = BN_bn2mpi(this, NULL);
^
src/bignum.h:284:32: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_bn2mpi(const BIGNUM*, unsigned char*)’
BN_bn2mpi(this, &vch[0]);
^
src/bignum.h: In member function ‘void CBigNum::setvch(const std::vector&)’:
src/bignum.h:306:46: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘3’ to ‘BIGNUM* BN_mpi2bn(const unsigned char*, int, BIGNUM*)’
BN_mpi2bn(&vch2[0], vch2.size(), this);
^
src/bignum.h: In member function ‘std::vector CBigNum::getvch() const’:
src/bignum.h:311:50: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_bn2mpi(const BIGNUM*, unsigned char*)’
unsigned int nSize = BN_bn2mpi(this, NULL);
^
src/bignum.h:315:32: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_bn2mpi(const BIGNUM*, unsigned char*)’
BN_bn2mpi(this, &vch[0]);
^
src/bignum.h: In member function ‘CBigNum& CBigNum::SetCompact(unsigned int)’:
src/bignum.h:329:44: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘3’ to ‘BIGNUM* BN_mpi2bn(const unsigned char*, int, BIGNUM*)’
BN_mpi2bn(&vch[0], vch.size(), this);
^
src/bignum.h: In member function ‘unsigned int CBigNum::GetCompact() const’:
src/bignum.h:335:50: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_bn2mpi(const BIGNUM*, unsigned char*)’
unsigned int nSize = BN_bn2mpi(this, NULL);
^
src/bignum.h:338:32: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_bn2mpi(const BIGNUM*, unsigned char*)’
BN_bn2mpi(this, &vch[0]);
^
src/bignum.h: In member function ‘std::__cxx11::string CBigNum::ToString(int) const’:
src/bignum.h:383:35: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘void BN_set_negative(BIGNUM*, int)’
BN_set_negative(&bn, false);
^
src/bignum.h:386:29: error: cannot convert ‘CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_cmp(const BIGNUM*, const BIGNUM*)’
if (BN_cmp(&bn, &bn0) == 0)
^
src/bignum.h:388:32: error: cannot convert ‘CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_cmp(const BIGNUM*, const BIGNUM*)’
while (BN_cmp(&bn, &bn0) > 0)
^
src/bignum.h:390:54: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_div(BIGNUM*, BIGNUM*, const BIGNUM*, const BIGNUM*, BN_CTX*)’
if (!BN_div(&dv, &rem, &bn, &bnBase, pctx))
^
src/bignum.h:396:32: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_is_negative(const BIGNUM*)’
if (BN_is_negative(this))
^
src/bignum.h: In member function ‘CBigNum CBigNum::pow(const CBigNum&) const’:
src/bignum.h:443:41: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_exp(BIGNUM*, const BIGNUM*, const BIGNUM*, BN_CTX*)’
if (!BN_exp(&ret, this, &e, pctx))
^
src/bignum.h: In member function ‘CBigNum CBigNum::mul_mod(const CBigNum&, const CBigNum&) const’:
src/bignum.h:456:49: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_mod_mul(BIGNUM*, const BIGNUM*, const BIGNUM*, const BIGNUM*, BN_CTX*)’
if (!BN_mod_mul(&ret, this, &b, &m, pctx))
^
src/bignum.h: In member function ‘CBigNum CBigNum::pow_mod(const CBigNum&, const CBigNum&) const’:
src/bignum.h:474:56: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_mod_exp(BIGNUM*, const BIGNUM*, const BIGNUM*, const BIGNUM*, BN_CTX*)’
if (!BN_mod_exp(&ret, &inv, &posE, &m, pctx))
^
src/bignum.h:477:53: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_mod_exp(BIGNUM*, const BIGNUM*, const BIGNUM*, const BIGNUM*, BN_CTX*)’
if (!BN_mod_exp(&ret, this, &e, &m, pctx))
^
src/bignum.h: In member function ‘CBigNum CBigNum::inverse(const CBigNum&) const’:
src/bignum.h:492:49: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘BIGNUM* BN_mod_inverse(BIGNUM*, const BIGNUM*, const BIGNUM*, BN_CTX*)’
if (!BN_mod_inverse(&ret, this, &m, pctx))
^
src/bignum.h: In static member function ‘static CBigNum CBigNum::generatePrime(unsigned int, bool)’:
src/bignum.h:505:81: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_generate_prime_ex(BIGNUM*, int, int, const BIGNUM*, const BIGNUM*, BN_GENCB*)’
if(!BN_generate_prime_ex(&ret, numBits, (safe == true), NULL, NULL, NULL))
^
src/bignum.h: In member function ‘CBigNum CBigNum::gcd(const CBigNum&) const’:
src/bignum.h:518:41: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_gcd(BIGNUM*, const BIGNUM*, const BIGNUM*, BN_CTX*)’
if (!BN_gcd(&ret, this, &b, pctx))
^
src/bignum.h: In member function ‘bool CBigNum::isPrime(int) const’:
src/bignum.h:531:61: warning: ‘int BN_is_prime(const BIGNUM*, int, void (*)(int, int, void*), BN_CTX*, void*)’ is deprecated [-Wdeprecated-declarations]
int ret = BN_is_prime(this, checks, NULL, pctx, NULL);
^
In file included from /usr/include/openssl/crypto.h:32:0,
from /usr/include/openssl/bn.h:33,
from src/bignum.h:13,
from src/main.h:8,
from src/kernel.h:7,
from src/txdb-leveldb.cpp:17:
/usr/include/openssl/bn.h:291:1: note: declared here
DEPRECATEDIN_0_9_8(int
^
In file included from src/main.h:8:0,
from src/kernel.h:7,
from src/txdb-leveldb.cpp:17:
src/bignum.h:531:61: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_is_prime(const BIGNUM*, int, void (*)(int, int, void*), BN_CTX*, void*)’
int ret = BN_is_prime(this, checks, NULL, pctx, NULL);
^
src/bignum.h: In member function ‘bool CBigNum::isOne() const’:
src/bignum.h:539:30: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_is_one(const BIGNUM*)’
return BN_is_one(this);
^
src/bignum.h: In member function ‘bool CBigNum::operator!() const’:
src/bignum.h:545:31: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_is_zero(const BIGNUM*)’
return BN_is_zero(this);
^
src/bignum.h: In member function ‘CBigNum& CBigNum::operator+=(const CBigNum&)’:
src/bignum.h:550:35: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_add(BIGNUM*, const BIGNUM*, const BIGNUM*)’
if (!BN_add(this, this, &b))
^
src/bignum.h: In member function ‘CBigNum& CBigNum::operator*=(const CBigNum&)’:
src/bignum.h:564:41: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_mul(BIGNUM*, const BIGNUM*, const BIGNUM*, BN_CTX*)’
if (!BN_mul(this, this, &b, pctx))
^
src/bignum.h: In member function ‘CBigNum& CBigNum::operator<<=(unsigned int)’:
src/bignum.h:583:41: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_lshift(BIGNUM*, const BIGNUM*, int)’
if (!BN_lshift(this, this, shift))
^
src/bignum.h: In member function ‘CBigNum& CBigNum::operator>>=(unsigned int)’:
src/bignum.h:594:28: error: cannot convert ‘CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_cmp(const BIGNUM*, const BIGNUM*)’
if (BN_cmp(&a, this) > 0)
^
src/bignum.h:600:41: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_rshift(BIGNUM*, const BIGNUM*, int)’
if (!BN_rshift(this, this, shift))
^
src/bignum.h: In member function ‘CBigNum& CBigNum::operator++()’:
src/bignum.h:609:47: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_add(BIGNUM*, const BIGNUM*, const BIGNUM*)’
if (!BN_add(this, this, BN_value_one()))
^
src/bignum.h: In member function ‘CBigNum& CBigNum::operator--()’:
src/bignum.h:626:45: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_sub(BIGNUM*, const BIGNUM*, const BIGNUM*)’
if (!BN_sub(&r, this, BN_value_one()))
^
src/bignum.h: In function ‘const CBigNum operator+(const CBigNum&, const CBigNum&)’:
src/bignum.h:653:27: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_add(BIGNUM*, const BIGNUM*, const BIGNUM*)’
if (!BN_add(&r, &a, &b))
^
src/bignum.h: In function ‘const CBigNum operator-(const CBigNum&, const CBigNum&)’:
src/bignum.h:661:27: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_sub(BIGNUM*, const BIGNUM*, const BIGNUM*)’
if (!BN_sub(&r, &a, &b))
^
src/bignum.h: In function ‘const CBigNum operator-(const CBigNum&)’:
src/bignum.h:669:43: error: cannot convert ‘CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_is_negative(const BIGNUM*)’
BN_set_negative(&r, !BN_is_negative(&r));
^
src/bignum.h: In function ‘const CBigNum operator*(const CBigNum&, const CBigNum&)’:
src/bignum.h:677:33: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_mul(BIGNUM*, const BIGNUM*, const BIGNUM*, BN_CTX*)’
if (!BN_mul(&r, &a, &b, pctx))
^
src/bignum.h: In function ‘const CBigNum operator/(const CBigNum&, const CBigNum&)’:
src/bignum.h:686:39: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_div(BIGNUM*, BIGNUM*, const BIGNUM*, const BIGNUM*, BN_CTX*)’
if (!BN_div(&r, NULL, &a, &b, pctx))
^
src/bignum.h: In function ‘const CBigNum operator%(const CBigNum&, const CBigNum&)’:
src/bignum.h:695:35: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_nnmod(BIGNUM*, const BIGNUM*, const BIGNUM*, BN_CTX*)’
if (!BN_nnmod(&r, &a, &b, pctx))
^
src/bignum.h: In function ‘const CBigNum operator<<(const CBigNum&, unsigned int)’:
src/bignum.h:703:33: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_lshift(BIGNUM*, const BIGNUM*, int)’
if (!BN_lshift(&r, &a, shift))
^
src/bignum.h: In function ‘bool operator==(const CBigNum&, const CBigNum&)’:
src/bignum.h:715:83: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_cmp(const BIGNUM*, const BIGNUM*)’
perator==(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) == 0); }
^
src/bignum.h: In function ‘bool operator!=(const CBigNum&, const CBigNum&)’:
src/bignum.h:716:83: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_cmp(const BIGNUM*, const BIGNUM*)’
perator!=(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) != 0); }
^
src/bignum.h: In function ‘bool operator<=(const CBigNum&, const CBigNum&)’:
src/bignum.h:717:83: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_cmp(const BIGNUM*, const BIGNUM*)’
perator<=(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) <= 0); }
^
src/bignum.h: In function ‘bool operator>=(const CBigNum&, const CBigNum&)’:
src/bignum.h:718:83: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_cmp(const BIGNUM*, const BIGNUM*)’
perator>=(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) >= 0); }
^
src/bignum.h: In function ‘bool operator<(const CBigNum&, const CBigNum&)’:
src/bignum.h:719:83: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_cmp(const BIGNUM*, const BIGNUM*)’
operator<(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) < 0); }
^
src/bignum.h: In function ‘bool operator>(const CBigNum&, const CBigNum&)’:
src/bignum.h:720:83: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_cmp(const BIGNUM*, const BIGNUM*)’
operator>(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) > 0); }
^
Makefile:1513: recipe for target 'build/txdb-leveldb.o' failed
wondering if anyone has any input? managed to compile without issues on a raspi and an odroid XU4 but they have insufficient ram for running several wallets(8-10) so I am trying to set my old laptop up as a staking box rather than using multiple SBC.