Skip to content

Compiling on ArchLinux throws errors concerning 'BIGNUM' #12

@MarvinBaral

Description

@MarvinBaral
[root@lattepanda PrimePoolMiner]# make MARCHFLAGS=-march=native -f makefile

Using GCC compiler
g++ -c -std=gnu++11 -pthread -m64 -static-libgcc -static-libstdc++ -Wno-sign-compare -Wno-invalid-offsetof -Wno-unused-parameter -Wformat -Wformat-security -DBOOST_SPIRIT_THREADSAFE -DBOOST_THREAD_USE_LIB -I/root/PrimePoolMiner -I/root/PrimePoolMiner/build -I/root/PrimePoolMiner/hash -Ofast -march=native -MMD -o build/util.o util.cpp
In file included from util.h:6:0,
                 from util.cpp:1:
bignum.h:55: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 bignum.h:14,
                 from util.h:6,
                 from util.cpp:1:
/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 util.h:6:0,
                 from util.cpp:1:
bignum.h: In constructor ‘CBigNum::CBigNum()’:
bignum.h:60:9: error: ‘BN_init’ was not declared in this scope
         BN_init(this);
         ^~~~~~~
bignum.h:60:9: note: suggested alternative: ‘BN_print’
         BN_init(this);
         ^~~~~~~
         BN_print
bignum.h: In copy constructor ‘CBigNum::CBigNum(const CBigNum&)’:
bignum.h:65:9: error: ‘BN_init’ was not declared in this scope
         BN_init(this);
         ^~~~~~~
bignum.h:65:9: note: suggested alternative: ‘BN_print’
         BN_init(this);
         ^~~~~~~
         BN_print
bignum.h:66: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))
                              ^
bignum.h:68:31: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘void BN_clear_free(BIGNUM*)’
             BN_clear_free(this);
                               ^
bignum.h: In member function ‘CBigNum& CBigNum::operator=(const CBigNum&)’:
bignum.h:75: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))
                              ^
bignum.h: In destructor ‘CBigNum::~CBigNum()’:
bignum.h:82:27: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘void BN_clear_free(BIGNUM*)’
         BN_clear_free(this);
                           ^
bignum.h: In constructor ‘CBigNum::CBigNum(signed char)’:
bignum.h:86:35: error: ‘BN_init’ was not declared in this scope
     CBigNum(signed char n)      { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
                                   ^~~~~~~
bignum.h:86:35: note: suggested alternative: ‘BN_print’
     CBigNum(signed char n)      { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
                                   ^~~~~~~
                                   BN_print
bignum.h: In constructor ‘CBigNum::CBigNum(short int)’:
bignum.h:87:35: error: ‘BN_init’ was not declared in this scope
     CBigNum(short n)            { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
                                   ^~~~~~~
bignum.h:87:35: note: suggested alternative: ‘BN_print’
     CBigNum(short n)            { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
                                   ^~~~~~~
                                   BN_print
bignum.h: In constructor ‘CBigNum::CBigNum(int)’:
bignum.h:88:35: error: ‘BN_init’ was not declared in this scope
     CBigNum(int n)              { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
                                   ^~~~~~~
bignum.h:88:35: note: suggested alternative: ‘BN_print’
     CBigNum(int n)              { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
                                   ^~~~~~~
                                   BN_print
bignum.h: In constructor ‘CBigNum::CBigNum(long int)’:
bignum.h:89:35: error: ‘BN_init’ was not declared in this scope
     CBigNum(long n)             { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
                                   ^~~~~~~
bignum.h:89:35: note: suggested alternative: ‘BN_print’
     CBigNum(long n)             { BN_init(this); if (n >= 0) setulong(n); else setint64(n); }
                                   ^~~~~~~
                                   BN_print
bignum.h: In constructor ‘CBigNum::CBigNum(int64)’:
bignum.h:90:35: error: ‘BN_init’ was not declared in this scope
     CBigNum(int64 n)            { BN_init(this); setint64(n); }
                                   ^~~~~~~
bignum.h:90:35: note: suggested alternative: ‘BN_print’
     CBigNum(int64 n)            { BN_init(this); setint64(n); }
                                   ^~~~~~~
                                   BN_print
bignum.h: In constructor ‘CBigNum::CBigNum(unsigned char)’:
bignum.h:91:35: error: ‘BN_init’ was not declared in this scope
     CBigNum(unsigned char n)    { BN_init(this); setulong(n); }
                                   ^~~~~~~
bignum.h:91:35: note: suggested alternative: ‘BN_print’
     CBigNum(unsigned char n)    { BN_init(this); setulong(n); }
                                   ^~~~~~~
                                   BN_print
bignum.h: In constructor ‘CBigNum::CBigNum(short unsigned int)’:
bignum.h:92:35: error: ‘BN_init’ was not declared in this scope
     CBigNum(unsigned short n)   { BN_init(this); setulong(n); }
                                   ^~~~~~~
bignum.h:92:35: note: suggested alternative: ‘BN_print’
     CBigNum(unsigned short n)   { BN_init(this); setulong(n); }
                                   ^~~~~~~
                                   BN_print
bignum.h: In constructor ‘CBigNum::CBigNum(unsigned int)’:
bignum.h:93:35: error: ‘BN_init’ was not declared in this scope
     CBigNum(unsigned int n)     { BN_init(this); setulong(n); }
                                   ^~~~~~~
bignum.h:93:35: note: suggested alternative: ‘BN_print’
     CBigNum(unsigned int n)     { BN_init(this); setulong(n); }
                                   ^~~~~~~
                                   BN_print
bignum.h: In constructor ‘CBigNum::CBigNum(long unsigned int)’:
bignum.h:94:35: error: ‘BN_init’ was not declared in this scope
     CBigNum(unsigned long n)    { BN_init(this); setulong(n); }
                                   ^~~~~~~
bignum.h:94:35: note: suggested alternative: ‘BN_print’
     CBigNum(unsigned long n)    { BN_init(this); setulong(n); }
                                   ^~~~~~~
                                   BN_print
bignum.h: In constructor ‘CBigNum::CBigNum(uint64)’:
bignum.h:95:35: error: ‘BN_init’ was not declared in this scope
     CBigNum(uint64 n)           { BN_init(this); setuint64(n); }
                                   ^~~~~~~
bignum.h:95:35: note: suggested alternative: ‘BN_print’
     CBigNum(uint64 n)           { BN_init(this); setuint64(n); }
                                   ^~~~~~~
                                   BN_print
bignum.h: In constructor ‘CBigNum::CBigNum(uint256)’:
bignum.h:96:35: error: ‘BN_init’ was not declared in this scope
     explicit CBigNum(uint256 n) { BN_init(this); setuint256(n); }
                                   ^~~~~~~
bignum.h:96:35: note: suggested alternative: ‘BN_print’
     explicit CBigNum(uint256 n) { BN_init(this); setuint256(n); }
                                   ^~~~~~~
                                   BN_print
bignum.h: In constructor ‘CBigNum::CBigNum(uint512)’:
bignum.h:97:32: error: ‘BN_init’ was not declared in this scope
  explicit CBigNum(uint512 n) { BN_init(this); setuint512(n); }
                                ^~~~~~~
bignum.h:97:32: note: suggested alternative: ‘BN_print’
  explicit CBigNum(uint512 n) { BN_init(this); setuint512(n); }
                                ^~~~~~~
                                BN_print
bignum.h: In constructor ‘CBigNum::CBigNum(uint576)’:
bignum.h:98:32: error: ‘BN_init’ was not declared in this scope
  explicit CBigNum(uint576 n) { BN_init(this); setuint576(n); }
                                ^~~~~~~
bignum.h:98:32: note: suggested alternative: ‘BN_print’
  explicit CBigNum(uint576 n) { BN_init(this); setuint576(n); }
                                ^~~~~~~
                                BN_print
bignum.h: In constructor ‘CBigNum::CBigNum(uint1024)’:
bignum.h:99:33: error: ‘BN_init’ was not declared in this scope
  explicit CBigNum(uint1024 n) { BN_init(this); setuint1024(n); }
                                 ^~~~~~~
bignum.h:99:33: note: suggested alternative: ‘BN_print’
  explicit CBigNum(uint1024 n) { BN_init(this); setuint1024(n); }
                                 ^~~~~~~
                                 BN_print
bignum.h: In constructor ‘CBigNum::CBigNum(const std::vector<unsigned char>&)’:
bignum.h:103:9: error: ‘BN_init’ was not declared in this scope
         BN_init(this);
         ^~~~~~~
bignum.h:103:9: note: suggested alternative: ‘BN_print’
         BN_init(this);
         ^~~~~~~
         BN_print
bignum.h: In member function ‘void CBigNum::setulong(long unsigned int)’:
bignum.h:109: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))
                                 ^
bignum.h: In member function ‘long unsigned int CBigNum::getulong() const’:
bignum.h:115: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);
                                ^
bignum.h: In member function ‘unsigned int CBigNum::getuint() const’:
bignum.h:120:46: 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 (unsigned int)BN_get_word(this);
                                              ^
bignum.h: In member function ‘int CBigNum::getint() const’:
bignum.h:125: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);
                                           ^
bignum.h:126: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))
                                 ^
bignum.h: In member function ‘void CBigNum::setint64(int64)’:
bignum.h:164: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);
                                     ^
bignum.h: In member function ‘void CBigNum::setuint64(uint64)’:
bignum.h:191: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);
                                     ^
bignum.h: In member function ‘uint64 CBigNum::getuint64()’:
bignum.h:196: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);
                                                  ^
bignum.h:200: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]);
                                ^
bignum.h: In member function ‘void CBigNum::setuint256(uint256)’:
bignum.h:234: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);
                                     ^
bignum.h: In member function ‘uint256 CBigNum::getuint256()’:
bignum.h:239: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);
                                                  ^
bignum.h:243: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]);
                                ^
bignum.h: In member function ‘void CBigNum::setuint512(uint512)’:
bignum.h:277: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);
                                     ^
bignum.h: In member function ‘uint512 CBigNum::getuint512()’:
bignum.h:282: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);
                                                  ^
bignum.h:286: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]);
                                ^
bignum.h: In member function ‘void CBigNum::setuint576(uint576)’:
bignum.h:320: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);
                                     ^
bignum.h: In member function ‘uint576 CBigNum::getuint576()’:
bignum.h:325: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);
                                                  ^
bignum.h:329: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]);
                                ^
bignum.h: In member function ‘void CBigNum::setuint1024(uint1024)’:
bignum.h:363: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);
                                     ^
bignum.h: In member function ‘uint1024 CBigNum::getuint1024()’:
bignum.h:368: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);
                                                  ^
bignum.h:372: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]);
                                ^
bignum.h: In member function ‘void CBigNum::setvch(const std::vector<unsigned char>&)’:
bignum.h:393: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);
                                              ^
bignum.h: In member function ‘std::vector<unsigned char> CBigNum::getvch() const’:
bignum.h:398: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);
                                                  ^
bignum.h:402: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]);
                                ^
bignum.h: In member function ‘CBigNum& CBigNum::SetCompact(unsigned int)’:
bignum.h:416: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);
                                            ^
bignum.h: In member function ‘unsigned int CBigNum::GetCompact() const’:
bignum.h:422: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);
                                                  ^
bignum.h:425: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]);
                                ^
In file included from util.h:6:0,
                 from util.cpp:1:
bignum.h: In member function ‘std::__cxx11::string CBigNum::ToString(int) const’:
bignum.h:470: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);
                                   ^
bignum.h:473: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)
                             ^
bignum.h:475: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)
                                ^
bignum.h:477: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))
                                                      ^
bignum.h:483: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))
                                ^
bignum.h: In member function ‘bool CBigNum::operator!() const’:
bignum.h:497: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);
                               ^
bignum.h: In member function ‘CBigNum& CBigNum::operator+=(const CBigNum&)’:
bignum.h:502: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))
                                   ^
bignum.h: In member function ‘CBigNum& CBigNum::operator*=(const CBigNum&)’:
bignum.h:516: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))
                                         ^
bignum.h: In member function ‘CBigNum& CBigNum::operator<<=(unsigned int)’:
bignum.h:535: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))
                                         ^
bignum.h: In member function ‘CBigNum& CBigNum::operator>>=(unsigned int)’:
bignum.h:546: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)
                            ^
bignum.h:552: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))
                                         ^
bignum.h: In member function ‘CBigNum& CBigNum::operator++()’:
bignum.h:561: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()))
                                               ^
bignum.h: In member function ‘CBigNum& CBigNum::operator--()’:
bignum.h:578: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()))
                                             ^
bignum.h: In function ‘const CBigNum operator+(const CBigNum&, const CBigNum&)’:
bignum.h:603: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))
                           ^
bignum.h: In function ‘const CBigNum operator-(const CBigNum&, const CBigNum&)’:
bignum.h:611: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))
                           ^
bignum.h: In function ‘const CBigNum operator-(const CBigNum&)’:
bignum.h:619: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));
                                           ^
bignum.h: In function ‘const CBigNum operator*(const CBigNum&, const CBigNum&)’:
bignum.h:627: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))
                                 ^
bignum.h: In function ‘const CBigNum operator/(const CBigNum&, const CBigNum&)’:
bignum.h:636: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 bignum.h:14:0,
                 from util.h:6,
                 from util.cpp:1:
bignum.h: In function ‘const CBigNum operator%(const CBigNum&, const CBigNum&)’:
bignum.h:645: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))
          ^
In file included from util.h:6:0,
                 from util.cpp:1:
bignum.h: In function ‘const CBigNum operator<<(const CBigNum&, unsigned int)’:
bignum.h:653: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))
                                 ^
bignum.h: In function ‘bool operator==(const CBigNum&, const CBigNum&)’:
bignum.h:665: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); }
                                                                                   ^
bignum.h: In function ‘bool operator!=(const CBigNum&, const CBigNum&)’:
bignum.h:666: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); }
                                                                                   ^
bignum.h: In function ‘bool operator<=(const CBigNum&, const CBigNum&)’:
bignum.h:667: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); }
                                                                                   ^
bignum.h: In function ‘bool operator>=(const CBigNum&, const CBigNum&)’:
bignum.h:668: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); }
                                                                                   ^
bignum.h: In function ‘bool operator<(const CBigNum&, const CBigNum&)’:
bignum.h:669: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); }
                                                                                   ^
bignum.h: In function ‘bool operator>(const CBigNum&, const CBigNum&)’:
bignum.h:670: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); }
                                                                                   ^
util.cpp: In function ‘int bignum2mpz(const BIGNUM*, __mpz_struct*)’:
util.cpp:33:2: error: ‘bn_check_top’ was not declared in this scope
  bn_check_top(bn);
  ^~~~~~~~~~~~
util.cpp:33:2: note: suggested alternative: ‘__clock_t’
  bn_check_top(bn);
  ^~~~~~~~~~~~
  __clock_t
util.cpp:34:16: error: invalid use of incomplete type ‘const BIGNUM {aka const struct bignum_st}’
  if(((sizeof(bn->d[0]) * 8) == GMP_NUMB_BITS) && (BN_BITS2 == GMP_NUMB_BITS))
                ^~
In file included from /usr/include/openssl/bn.h:32:0,
                 from bignum.h:14,
                 from util.h:6,
                 from util.cpp:1:
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of ‘BIGNUM {aka struct bignum_st}’
 typedef struct bignum_st BIGNUM;
                ^~~~~~~~~
util.cpp:34:18: error: invalid use of incomplete type ‘const BIGNUM {aka const struct bignum_st}’
  if(((sizeof(bn->d[0]) * 8) == GMP_NUMB_BITS) && (BN_BITS2 == GMP_NUMB_BITS))
                  ^
In file included from /usr/include/openssl/bn.h:32:0,
                 from bignum.h:14,
                 from util.h:6,
                 from util.cpp:1:
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of ‘BIGNUM {aka struct bignum_st}’
 typedef struct bignum_st BIGNUM;
                ^~~~~~~~~
util.cpp:37:26: error: invalid use of incomplete type ‘const BIGNUM {aka const struct bignum_st}’
   if(!_mpz_realloc (g, bn->top))
                          ^~
In file included from /usr/include/openssl/bn.h:32:0,
                 from bignum.h:14,
                 from util.h:6,
                 from util.cpp:1:
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of ‘BIGNUM {aka struct bignum_st}’
 typedef struct bignum_st BIGNUM;
                ^~~~~~~~~
util.cpp:37:28: error: invalid use of incomplete type ‘const BIGNUM {aka const struct bignum_st}’
   if(!_mpz_realloc (g, bn->top))
                            ^~~
In file included from /usr/include/openssl/bn.h:32:0,
                 from bignum.h:14,
                 from util.h:6,
                 from util.cpp:1:
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of ‘BIGNUM {aka struct bignum_st}’
 typedef struct bignum_st BIGNUM;
                ^~~~~~~~~
util.cpp:39:27: error: invalid use of incomplete type ‘const BIGNUM {aka const struct bignum_st}’
   memcpy(&g->_mp_d[0], &bn->d[0], bn->top * sizeof(bn->d[0]));
                           ^~
In file included from /usr/include/openssl/bn.h:32:0,
                 from bignum.h:14,
                 from util.h:6,
                 from util.cpp:1:
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of ‘BIGNUM {aka struct bignum_st}’
 typedef struct bignum_st BIGNUM;
                ^~~~~~~~~
util.cpp:39:29: error: invalid use of incomplete type ‘const BIGNUM {aka const struct bignum_st}’
   memcpy(&g->_mp_d[0], &bn->d[0], bn->top * sizeof(bn->d[0]));
                             ^
In file included from /usr/include/openssl/bn.h:32:0,
                 from bignum.h:14,
                 from util.h:6,
                 from util.cpp:1:
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of ‘BIGNUM {aka struct bignum_st}’
 typedef struct bignum_st BIGNUM;
                ^~~~~~~~~
util.cpp:39:37: error: invalid use of incomplete type ‘const BIGNUM {aka const struct bignum_st}’
   memcpy(&g->_mp_d[0], &bn->d[0], bn->top * sizeof(bn->d[0]));
                                     ^~
In file included from /usr/include/openssl/bn.h:32:0,
                 from bignum.h:14,
                 from util.h:6,
                 from util.cpp:1:
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of ‘BIGNUM {aka struct bignum_st}’
 typedef struct bignum_st BIGNUM;
                ^~~~~~~~~
util.cpp:39:39: error: invalid use of incomplete type ‘const BIGNUM {aka const struct bignum_st}’
   memcpy(&g->_mp_d[0], &bn->d[0], bn->top * sizeof(bn->d[0]));
                                       ^~~
In file included from /usr/include/openssl/bn.h:32:0,
                 from bignum.h:14,
                 from util.h:6,
                 from util.cpp:1:
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of ‘BIGNUM {aka struct bignum_st}’
 typedef struct bignum_st BIGNUM;
                ^~~~~~~~~
util.cpp:39:54: error: invalid use of incomplete type ‘const BIGNUM {aka const struct bignum_st}’
   memcpy(&g->_mp_d[0], &bn->d[0], bn->top * sizeof(bn->d[0]));
                                                      ^~
In file included from /usr/include/openssl/bn.h:32:0,
                 from bignum.h:14,
                 from util.h:6,
                 from util.cpp:1:
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of ‘BIGNUM {aka struct bignum_st}’
 typedef struct bignum_st BIGNUM;
                ^~~~~~~~~
util.cpp:39:56: error: invalid use of incomplete type ‘const BIGNUM {aka const struct bignum_st}’
   memcpy(&g->_mp_d[0], &bn->d[0], bn->top * sizeof(bn->d[0]));
                                                        ^
In file included from /usr/include/openssl/bn.h:32:0,
                 from bignum.h:14,
                 from util.h:6,
                 from util.cpp:1:
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of ‘BIGNUM {aka struct bignum_st}’
 typedef struct bignum_st BIGNUM;
                ^~~~~~~~~
util.cpp:40:19: error: invalid use of incomplete type ‘const BIGNUM {aka const struct bignum_st}’
   g->_mp_size = bn->top;
                   ^~
In file included from /usr/include/openssl/bn.h:32:0,
                 from bignum.h:14,
                 from util.h:6,
                 from util.cpp:1:
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of ‘BIGNUM {aka struct bignum_st}’
 typedef struct bignum_st BIGNUM;
                ^~~~~~~~~
util.cpp:40:21: error: invalid use of incomplete type ‘const BIGNUM {aka const struct bignum_st}’
   g->_mp_size = bn->top;
                     ^~~
In file included from /usr/include/openssl/bn.h:32:0,
                 from bignum.h:14,
                 from util.h:6,
                 from util.cpp:1:
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of ‘BIGNUM {aka struct bignum_st}’
 typedef struct bignum_st BIGNUM;
                ^~~~~~~~~
util.cpp:41:8: error: invalid use of incomplete type ‘const BIGNUM {aka const struct bignum_st}’
   if(bn->neg)
        ^~
In file included from /usr/include/openssl/bn.h:32:0,
                 from bignum.h:14,
                 from util.h:6,
                 from util.cpp:1:
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of ‘BIGNUM {aka struct bignum_st}’
 typedef struct bignum_st BIGNUM;
                ^~~~~~~~~
util.cpp:41:10: error: invalid use of incomplete type ‘const BIGNUM {aka const struct bignum_st}’
   if(bn->neg)
          ^~~
In file included from /usr/include/openssl/bn.h:32:0,
                 from bignum.h:14,
                 from util.h:6,
                 from util.cpp:1:
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of ‘BIGNUM {aka struct bignum_st}’
 typedef struct bignum_st BIGNUM;
                ^~~~~~~~~
make: *** [makefile:125: build/util.o] Error 1
[root@lattepanda PrimePoolMiner]#

Propapbly the same issue as bitshares/bitshares-core#327.
The problems seem to be caused by new version of openssl library.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions