gcc version 6.3.0 20170516 (Debian 6.3.0-18)
-- OPENSSL_FOUND = TRUE
-- OPENSSL_INCLUDE_DIR = /usr/include
-- OPENSSL_LIBRARIES = /usr/lib/x86_64-linux-gnu/libssl.a;/usr/lib/x86_64-linux-gnu/libcrypto.a
-- OPENSSL_VERSION = 1.1.0f
[ 7%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/crypto/base58.cpp.o
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:69: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 /home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:30:
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of ‘BIGNUM {aka struct bignum_st}’
typedef struct bignum_st BIGNUM;
^~~~~~~~~
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In constructor ‘CBigNum::CBigNum()’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:74:21: error: ‘BN_init’ was not declared in this scope
BN_init(this);
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In copy constructor ‘CBigNum::CBigNum(const CBigNum&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:79:21: error: ‘BN_init’ was not declared in this scope
BN_init(this);
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:80: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))
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:82:31: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘void BN_clear_free(BIGNUM*)’
BN_clear_free(this);
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘CBigNum& CBigNum::operator=(const CBigNum&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:89: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))
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In destructor ‘CBigNum::~CBigNum()’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:96:27: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘void BN_clear_free(BIGNUM*)’
BN_clear_free(this);
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In constructor ‘CBigNum::CBigNum(signed char)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:100:47: error: ‘BN_init’ was not declared in this scope
CBigNum(signed char n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In constructor ‘CBigNum::CBigNum(short int)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:101:47: error: ‘BN_init’ was not declared in this scope
CBigNum(short n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In constructor ‘CBigNum::CBigNum(int)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:102:47: error: ‘BN_init’ was not declared in this scope
CBigNum(int n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In constructor ‘CBigNum::CBigNum(int64_t)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:104:47: error: ‘BN_init’ was not declared in this scope
CBigNum(int64_t n) { BN_init(this); setint64(n); }
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In constructor ‘CBigNum::CBigNum(unsigned char)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:105:47: error: ‘BN_init’ was not declared in this scope
CBigNum(unsigned char n) { BN_init(this); setulong(n); }
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In constructor ‘CBigNum::CBigNum(short unsigned int)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:106:47: error: ‘BN_init’ was not declared in this scope
CBigNum(unsigned short n) { BN_init(this); setulong(n); }
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In constructor ‘CBigNum::CBigNum(unsigned int)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:107:47: error: ‘BN_init’ was not declared in this scope
CBigNum(unsigned int n) { BN_init(this); setulong(n); }
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In constructor ‘CBigNum::CBigNum(uint64_t)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:109:49: error: ‘BN_init’ was not declared in this scope
CBigNum(uint64_t n) { BN_init(this); setuint64(n); }
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In constructor ‘CBigNum::CBigNum(const std::vector<unsigned char>&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:113:21: error: ‘BN_init’ was not declared in this scope
BN_init(this);
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘void CBigNum::setulong(long unsigned int)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:119: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))
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘long unsigned int CBigNum::getulong() const’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:125: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);
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘unsigned int CBigNum::getuint() const’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:130: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);
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘int CBigNum::getint() const’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:135: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);
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:136: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))
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘void CBigNum::setint64(int64_t)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:174: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);
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘void CBigNum::setuint64(uint64_t)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:201: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);
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘void CBigNum::setvch(const std::vector<unsigned char>&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:217: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);
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘std::vector<unsigned char> CBigNum::getvch() const’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:222: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);
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:226: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]);
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘CBigNum& CBigNum::SetCompact(unsigned int)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:240: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);
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘unsigned int CBigNum::GetCompact() const’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:246: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);
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:249: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]);
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘std::__cxx11::string CBigNum::ToString(int) const’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:294: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);
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:297: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)
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:299: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)
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:301: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))
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:307: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))
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘bool CBigNum::operator!() const’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:322: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);
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘CBigNum& CBigNum::operator+=(const CBigNum&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:327: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))
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘CBigNum& CBigNum::operator*=(const CBigNum&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:341: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))
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘CBigNum& CBigNum::operator<<=(unsigned int)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:360: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))
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘CBigNum& CBigNum::operator>>=(unsigned int)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:371: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)
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:377: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))
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘CBigNum& CBigNum::operator++()’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:386: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()))
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In member function ‘CBigNum& CBigNum::operator--()’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:403: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()))
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In function ‘const CBigNum operator+(const CBigNum&, const CBigNum&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:428: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))
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In function ‘const CBigNum operator-(const CBigNum&, const CBigNum&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:436: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))
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In function ‘const CBigNum operator-(const CBigNum&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:444: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));
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In function ‘const CBigNum operator*(const CBigNum&, const CBigNum&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:452: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))
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In function ‘const CBigNum operator/(const CBigNum&, const CBigNum&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:461: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))
^
In file included from /home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:30:0:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In function ‘const CBigNum operator%(const CBigNum&, const CBigNum&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:470:10: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘2’ to ‘int BN_div(BIGNUM*, BIGNUM*, const BIGNUM*, const BIGNUM*, BN_CTX*)’
if (!BN_mod(&r, &a, &b, pctx))
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In function ‘const CBigNum operator<<(const CBigNum&, unsigned int)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:478: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))
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In function ‘bool operator==(const CBigNum&, const CBigNum&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:490:83: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_cmp(const BIGNUM*, const BIGNUM*)’
inline bool operator==(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) == 0); }
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In function ‘bool operator!=(const CBigNum&, const CBigNum&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:491:83: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_cmp(const BIGNUM*, const BIGNUM*)’
inline bool operator!=(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) != 0); }
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In function ‘bool operator<=(const CBigNum&, const CBigNum&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:492:83: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_cmp(const BIGNUM*, const BIGNUM*)’
inline bool operator<=(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) <= 0); }
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In function ‘bool operator>=(const CBigNum&, const CBigNum&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:493:83: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_cmp(const BIGNUM*, const BIGNUM*)’
inline bool operator>=(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) >= 0); }
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In function ‘bool operator<(const CBigNum&, const CBigNum&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:494:83: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_cmp(const BIGNUM*, const BIGNUM*)’
inline bool operator<(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) < 0); }
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In function ‘bool operator>(const CBigNum&, const CBigNum&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:495:83: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_cmp(const BIGNUM*, const BIGNUM*)’
inline bool operator>(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) > 0); }
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In function ‘std::__cxx11::string EncodeBase58(const unsigned char*, const unsigned char*)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:525:48: 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, &bn58, pctx))
^
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp: In function ‘bool DecodeBase58(const char*, std::vector<unsigned char>&)’:
/home/jnordberg/steem/libraries/fc/src/crypto/base58.cpp:575:42: 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(&bn, &bn, &bn58, pctx))
^
libraries/fc/CMakeFiles/fc.dir/build.make:1310: recipe for target 'libraries/fc/CMakeFiles/fc.dir/src/crypto/base58.cpp.o' failed
make[3]: *** [libraries/fc/CMakeFiles/fc.dir/src/crypto/base58.cpp.o] Error 1
CMakeFiles/Makefile2:199: recipe for target 'libraries/fc/CMakeFiles/fc.dir/all' failed
make[2]: *** [libraries/fc/CMakeFiles/fc.dir/all] Error 2
CMakeFiles/Makefile2:2704: recipe for target 'programs/steemd/CMakeFiles/steemd.dir/rule' failed
make[1]: *** [programs/steemd/CMakeFiles/steemd.dir/rule] Error 2
Makefile:734: recipe for target 'steemd' failed
make: *** [steemd] Error 2
Looks like openssl reorganized their headers and is just some missing #include. Investigating.
OK, it appears this uses some internal openssl classes for bignum, and is copied directly from a Bitcoin source distribution. In OpenSSL 1.1.x, bignum is no longer exposed in the headers, so we need to replace the implementation without referring to bignum internals.
Since base58 is small, self-contained and doesn't really need the full functionality of bignums, a better approach is to rewrite the code using a different approach. Fortunately, we can simply use MIT licensed code from Bitcoin.
So solving this issue essentially involves porting this commit from Bitcoin to FC. (Strange coincidence: The commit hash for this base58 related commit starts with b58!)
Moving to steemit/fc#18
Most helpful comment
OK, it appears this uses some internal openssl classes for bignum, and is copied directly from a Bitcoin source distribution. In OpenSSL 1.1.x, bignum is no longer exposed in the headers, so we need to replace the implementation without referring to bignum internals.
Since base58 is small, self-contained and doesn't really need the full functionality of bignums, a better approach is to rewrite the code using a different approach. Fortunately, we can simply use MIT licensed code from Bitcoin.
So solving this issue essentially involves porting this commit from Bitcoin to FC. (Strange coincidence: The commit hash for this base58 related commit starts with
b58!)