Build fails on Ubuntu 18.04 because of OpenSSL 1.1
monotek opened this issue · 4 comments
monotek commented
cd /tmp/dimecoin/src/leveldb && CC=gcc CXX=g++ make OPT="-fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2" libleveldb.a libmemenv.a
make[1]: Verzeichnis „/tmp/dimecoin/src/leveldb“ wird betreten
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c db/builder.cc -o db/builder.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c db/c.cc -o db/c.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c db/dbformat.cc -o db/dbformat.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c db/db_impl.cc -o db/db_impl.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c db/db_iter.cc -o db/db_iter.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c db/filename.cc -o db/filename.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c db/log_reader.cc -o db/log_reader.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c db/log_writer.cc -o db/log_writer.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c db/memtable.cc -o db/memtable.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c db/repair.cc -o db/repair.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c db/table_cache.cc -o db/table_cache.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c db/version_edit.cc -o db/version_edit.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c db/version_set.cc -o db/version_set.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c db/write_batch.cc -o db/write_batch.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c table/block_builder.cc -o table/block_builder.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c table/block.cc -o table/block.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c table/filter_block.cc -o table/filter_block.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c table/format.cc -o table/format.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c table/iterator.cc -o table/iterator.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c table/merger.cc -o table/merger.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c table/table_builder.cc -o table/table_builder.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c table/table.cc -o table/table.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c table/two_level_iterator.cc -o table/two_level_iterator.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c util/arena.cc -o util/arena.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c util/bloom.cc -o util/bloom.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c util/cache.cc -o util/cache.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c util/coding.cc -o util/coding.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c util/comparator.cc -o util/comparator.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c util/crc32c.cc -o util/crc32c.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c util/env.cc -o util/env.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c util/env_posix.cc -o util/env_posix.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c util/env_win.cc -o util/env_win.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c util/filter_policy.cc -o util/filter_policy.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c util/hash.cc -o util/hash.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c util/histogram.cc -o util/histogram.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c util/logging.cc -o util/logging.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c util/options.cc -o util/options.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c util/status.cc -o util/status.o
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c port/port_posix.cc -o port/port_posix.o
rm -f libleveldb.a
ar -rs libleveldb.a db/builder.o db/c.o db/dbformat.o db/db_impl.o db/db_iter.o db/filename.o db/log_reader.o db/log_writer.o db/memtable.o db/repair.o db/table_cache.o db/version_edit.o db/version_set.o db/write_batch.o table/block_builder.o table/block.o table/filter_block.o table/format.o table/iterator.o table/merger.o table/table_builder.o table/table.o table/two_level_iterator.o util/arena.o util/bloom.o util/cache.o util/coding.o util/comparator.o util/crc32c.o util/env.o util/env_posix.o util/env_win.o util/filter_policy.o util/hash.o util/histogram.o util/logging.o util/options.o util/status.o port/port_posix.o
ar: Erzeugen von libleveldb.a
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -c helpers/memenv/memenv.cc -o helpers/memenv/memenv.o
rm -f libmemenv.a
ar -rs libmemenv.a helpers/memenv/memenv.o
ar: Erzeugen von libmemenv.a
make[1]: Verzeichnis „/tmp/dimecoin/src/leveldb“ wird verlassen
cd /tmp/dimecoin; /bin/sh share/genbuild.sh /tmp/dimecoin/build/build.h
/usr/lib/qt5/bin/uic src/qt/forms/sendcoinsdialog.ui -o build/ui_sendcoinsdialog.h
/usr/lib/qt5/bin/uic src/qt/forms/addressbookpage.ui -o build/ui_addressbookpage.h
/usr/lib/qt5/bin/uic src/qt/forms/signverifymessagedialog.ui -o build/ui_signverifymessagedialog.h
/usr/lib/qt5/bin/uic src/qt/forms/aboutdialog.ui -o build/ui_aboutdialog.h
/usr/lib/qt5/bin/uic src/qt/forms/editaddressdialog.ui -o build/ui_editaddressdialog.h
/usr/lib/qt5/bin/uic src/qt/forms/transactiondescdialog.ui -o build/ui_transactiondescdialog.h
/usr/lib/qt5/bin/uic src/qt/forms/overviewpage.ui -o build/ui_overviewpage.h
/usr/lib/qt5/bin/uic src/qt/forms/sendcoinsentry.ui -o build/ui_sendcoinsentry.h
/usr/lib/qt5/bin/uic src/qt/forms/askpassphrasedialog.ui -o build/ui_askpassphrasedialog.h
/usr/lib/qt5/bin/uic src/qt/forms/rpcconsole.ui -o build/ui_rpcconsole.h
/usr/lib/qt5/bin/uic src/qt/forms/optionsdialog.ui -o build/ui_optionsdialog.h
g++ -c -fpermissive -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -D_REENTRANT -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fPIC -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DQT_STATIC -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DUSE_UPNP=1 -DSTATICLIB -DUSE_IPV6=1 -DHAVE_BUILD_INFO -DLINUX -D_FILE_OFFSET_BITS=64 -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -Isrc -Isrc/json -Isrc/qt -Isrc/leveldb/include -Isrc/leveldb/helpers -I/usr/local/BerkeleyDB.5.0/include -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Ibuild -isystem /usr/include/libdrm -Ibuild -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o build/bitcoin.o src/qt/bitcoin.cpp
In file included from src/bignum.h:12:0,
from src/main.h:8,
from src/wallet.h:13,
from src/init.h:8,
from src/qt/bitcoin.cpp:13:
src/util.h:238:22: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
return strprintf("%"PRI64d, n);
^
In file included from src/main.h:10:0,
from src/wallet.h:13,
from src/init.h:8,
from src/qt/bitcoin.cpp:13:
src/net.h:364:20: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
printf("askfor %s %"PRI64d" (%s)\n", inv.ToString().c_str(), nRequestTime, DateTimeStrFormat("%H:%M:%S", nRequestTime/1000000).c_str());
^
In file included from src/wallet.h:13:0,
from src/init.h:8,
from src/qt/bitcoin.cpp:13:
src/main.h:450:26: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
return strprintf("CTxOut(nValue=%"PRI64d".%05"PRI64d", scriptPubKey=%s)", nValue / COIN, nValue % COIN, scriptPubKey.ToString().substr(0,30).c_str());
^
src/main.h:450:49: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
return strprintf("CTxOut(nValue=%"PRI64d".%05"PRI64d", scriptPubKey=%s)", nValue / COIN, nValue % COIN, scriptPubKey.ToString().substr(0,30).c_str());
^
src/main.h:643:26: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
str += strprintf("CTransaction(hash=%s, ver=%d, vin.size=%"PRIszu", vout.size=%"PRIszu", nLockTime=%u, strTxComment=%s)\n",
^
src/main.h:643:74: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
str += strprintf("CTransaction(hash=%s, ver=%d, vin.size=%"PRIszu", vout.size=%"PRIszu", nLockTime=%u, strTxComment=%s)\n",
^
src/main.h:1536: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")\n",
^
In file included from src/main.h:8:0,
from src/wallet.h:13,
from src/init.h:8,
from src/qt/bitcoin.cpp:13:
src/bignum.h:51:24: error: invalid use of incomplete type ‘BIGNUM {aka struct bignum_st}’
class CBigNum : public BIGNUM
^~~~~~
In file included from /usr/include/openssl/crypto.h:31:0,
from src/allocators.h:12,
from src/qt/walletmodel.h:6,
from src/qt/bitcoin.cpp:9:
/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/wallet.h:13,
from src/init.h:8,
from src/qt/bitcoin.cpp:13:
src/bignum.h: In constructor ‘CBigNum::CBigNum()’:
src/bignum.h:56:9: error: ‘BN_init’ was not declared in this scope
BN_init(this);
^~~~~~~
src/bignum.h:56:9: note: suggested alternative: ‘BN_print’
BN_init(this);
^~~~~~~
BN_print
src/bignum.h: In copy constructor ‘CBigNum::CBigNum(const CBigNum&)’:
src/bignum.h:61:9: error: ‘BN_init’ was not declared in this scope
BN_init(this);
^~~~~~~
src/bignum.h:61:9: note: suggested alternative: ‘BN_print’
BN_init(this);
^~~~~~~
BN_print
src/bignum.h:62: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:64: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:71: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:78: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:82: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); }
^~~~~~~
src/bignum.h:82:35: 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:83:35: 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:83:35: 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:84:35: 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:84:35: 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:85:35: 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:85:35: 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(int64)’:
src/bignum.h:86:35: error: ‘BN_init’ was not declared in this scope
CBigNum(int64 n) { BN_init(this); setint64(n); }
^~~~~~~
src/bignum.h:86:35: note: suggested alternative: ‘BN_print’
CBigNum(int64 n) { BN_init(this); setint64(n); }
^~~~~~~
BN_print
src/bignum.h: In constructor ‘CBigNum::CBigNum(unsigned char)’:
src/bignum.h:87:35: error: ‘BN_init’ was not declared in this scope
CBigNum(unsigned char n) { BN_init(this); setulong(n); }
^~~~~~~
src/bignum.h:87:35: 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:88:35: error: ‘BN_init’ was not declared in this scope
CBigNum(unsigned short n) { BN_init(this); setulong(n); }
^~~~~~~
src/bignum.h:88:35: 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:89:35: error: ‘BN_init’ was not declared in this scope
CBigNum(unsigned int n) { BN_init(this); setulong(n); }
^~~~~~~
src/bignum.h:89:35: 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:90:35: error: ‘BN_init’ was not declared in this scope
CBigNum(unsigned long n) { BN_init(this); setulong(n); }
^~~~~~~
src/bignum.h:90:35: note: suggested alternative: ‘BN_print’
CBigNum(unsigned long n) { BN_init(this); setulong(n); }
^~~~~~~
BN_print
src/bignum.h: In constructor ‘CBigNum::CBigNum(uint64)’:
src/bignum.h:91:35: error: ‘BN_init’ was not declared in this scope
CBigNum(uint64 n) { BN_init(this); setuint64(n); }
^~~~~~~
src/bignum.h:91:35: note: suggested alternative: ‘BN_print’
CBigNum(uint64 n) { BN_init(this); setuint64(n); }
^~~~~~~
BN_print
src/bignum.h: In constructor ‘CBigNum::CBigNum(uint256)’:
src/bignum.h:92:35: error: ‘BN_init’ was not declared in this scope
explicit CBigNum(uint256 n) { BN_init(this); setuint256(n); }
^~~~~~~
src/bignum.h:92:35: 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<unsigned char>&)’:
src/bignum.h:96:9: error: ‘BN_init’ was not declared in this scope
BN_init(this);
^~~~~~~
src/bignum.h:96:9: note: suggested alternative: ‘BN_print’
BN_init(this);
^~~~~~~
BN_print
src/bignum.h: In member function ‘void CBigNum::setulong(long unsigned int)’:
src/bignum.h:102: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:108: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:113: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:118: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:119: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/wallet.h:13,
from src/init.h:8,
from src/qt/bitcoin.cpp:13:
src/bignum.h: In member function ‘void CBigNum::setint64(int64)’:
src/bignum.h:167: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::setuint64(uint64)’:
src/bignum.h:194: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:222: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:227: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:231: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<unsigned char>&)’:
src/bignum.h:252: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<unsigned char> CBigNum::getvch() const’:
src/bignum.h:257: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:261: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:297:36: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_set_word(BIGNUM*, long unsigned int)’
BN_set_word(this, nWord);
^
src/bignum.h:301:36: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_set_word(BIGNUM*, long unsigned int)’
BN_set_word(this, nWord);
^
src/bignum.h:302:46: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_lshift(BIGNUM*, const BIGNUM*, int)’
BN_lshift(this, this, 8*(nSize-3));
^
src/bignum.h:304:40: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘void BN_set_negative(BIGNUM*, int)’
BN_set_negative(this, fNegative);
^
In file included from src/bignum.h:10:0,
from src/main.h:8,
from src/wallet.h:13,
from src/init.h:8,
from src/qt/bitcoin.cpp:13:
src/bignum.h: In member function ‘unsigned int CBigNum::GetCompact() const’:
src/bignum.h:310:30: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_num_bits(const BIGNUM*)’
unsigned int nSize = BN_num_bytes(this);
^
In file included from src/main.h:8:0,
from src/wallet.h:13,
from src/init.h:8,
from src/qt/bitcoin.cpp:13:
src/bignum.h:313:40: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘long unsigned int BN_get_word(const BIGNUM*)’
nCompact = BN_get_word(this) << 8*(3-nSize);
^
src/bignum.h:317:45: error: cannot convert ‘CBigNum*’ to ‘BIGNUM* {aka bignum_st*}’ for argument ‘1’ to ‘int BN_rshift(BIGNUM*, const BIGNUM*, int)’
BN_rshift(&bn, this, 8*(nSize-3));
^
src/bignum.h:318:39: error: cannot convert ‘CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘long unsigned int BN_get_word(const BIGNUM*)’
nCompact = BN_get_word(&bn);
^
src/bignum.h:328:41: error: cannot convert ‘const CBigNum*’ to ‘const BIGNUM* {aka const bignum_st*}’ for argument ‘1’ to ‘int BN_is_negative(const BIGNUM*)’
nCompact |= (BN_is_negative(this) ? 0x00800000 : 0);
^
In file included from src/main.h:8:0,
from src/wallet.h:13,
from src/init.h:8,
from src/qt/bitcoin.cpp:13:
src/bignum.h: In member function ‘std::__cxx11::string CBigNum::ToString(int) const’:
src/bignum.h:369: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:372: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:374: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:376: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:382: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 ‘bool CBigNum::operator!() const’:
src/bignum.h:415: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:420: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:434: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:453: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:464: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:470: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:479: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:496: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:521: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:529: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:537: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:545: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:554: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 src/bignum.h:10:0,
from src/main.h:8,
from src/wallet.h:13,
from src/init.h:8,
from src/qt/bitcoin.cpp:13:
src/bignum.h: In function ‘const CBigNum operator%(const CBigNum&, const CBigNum&)’:
src/bignum.h:563: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 src/main.h:8:0,
from src/wallet.h:13,
from src/init.h:8,
from src/qt/bitcoin.cpp:13:
src/bignum.h: In function ‘const CBigNum operator<<(const CBigNum&, unsigned int)’:
src/bignum.h:571: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:583: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); }
^
src/bignum.h: In function ‘bool operator!=(const CBigNum&, const CBigNum&)’:
src/bignum.h:584: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); }
^
src/bignum.h: In function ‘bool operator<=(const CBigNum&, const CBigNum&)’:
src/bignum.h:585: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); }
^
src/bignum.h: In function ‘bool operator>=(const CBigNum&, const CBigNum&)’:
src/bignum.h:586: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); }
^
src/bignum.h: In function ‘bool operator<(const CBigNum&, const CBigNum&)’:
src/bignum.h:587: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); }
^
src/bignum.h: In function ‘bool operator>(const CBigNum&, const CBigNum&)’:
src/bignum.h:588: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); }
^
In file included from src/walletdb.h:9:0,
from src/wallet.h:19,
from src/init.h:8,
from src/qt/bitcoin.cpp:13:
src/base58.h: In function ‘std::__cxx11::string EncodeBase58(const unsigned char*, const unsigned char*)’:
src/base58.h:53: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))
^
src/base58.h: In function ‘bool DecodeBase58(const char*, std::vector<unsigned char>&)’:
src/base58.h:100: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))
^
Makefile:1327: die Regel für Ziel „build/bitcoin.o“ scheiterte
make: *** [build/bitcoin.o] Fehler 1
Seems to be related to:
simonerom commented
Thank you for posting this issue. It seems like a popular issue with newer versions of openssl. We will work on the fix but it's not going to be a quick fix. Any chance to instal libssl-dev version 1.0.1?
monotek commented
Maybe from source. Have to check...
maldiohead commented
how to solve this ploblem?
kkoenen commented
Concerning src/util.h:238:22: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] return strprintf("%"PRI64d, n);
Please find this solution (worked for our coin) : GZR0/GRZ0@79f38d0
Work to be done by the team on the bignum (bn_new()) problems related to OpenSSL updates.