Page 1 of 1

Compiling Zettel CLI (Ubuntu 16.04)

Posted: Wed Jun 13, 2018 2:14 am
by chipah
Tested with fresh Ubuntu 16.04

Preparing build environment:

Code: Select all

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential libboost-all-dev libdb++-dev libminiupnpc-dev libssl-dev git
Clone the source code:

Code: Select all

cd ~
git clone https://github.com/zettel-kasten/zettelkasten.git
cd zettelkasten/src
chmod +x leveldb/build_detect_platform
Line 242 of rpcrawtransaction.cpp is not compatible with boost 1.58, so we need to change it a tad:
From: const CScriptID& hash = boost::get<const CScriptID&>(address);
To: const CScriptID& hash = boost::get<CScriptID>(address);

Code: Select all

sed -i '242s/get<const CScriptID&>(address)/get<CScriptID>(address)/' rpcrawtransaction.cpp
Compiling:
If you have multi CPU cores you can add -j <n> to speed up the build.
To find how many cores on CPU, use cmd nproc
Example of build with 8 cores:

Code: Select all

make -j 8 -f makefile.unix
otherwise

Code: Select all

make -f makefile.unix
When build is complete, you'll find zettelkastend in ~/zettelkasten/src (per this guide).

Happy mining! ;)

Re: Compiling Zettel CLI (Ubuntu 16.04)

Posted: Fri Jun 15, 2018 3:52 am
by lly
util/logging.cc: In function ‘bool leveldb::ConsumeDecimalNumber(leveldb::Slice*, uint64_t*)’:
util/logging.cc:67:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
(v == kMaxUint64/10 && delta > kMaxUint64%10)) {
^
rm -f libleveldb.a
rm -f libmemenv.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 -rs libmemenv.a helpers/memenv/memenv.o
ar: ar: 正在创建 libmemenv.a正在创建 libleveldb.a

make[1]: Leaving directory '/home/lly/zettelkasten/src/leveldb'

Stay here all the time.

Re: Compiling Zettel CLI (Ubuntu 16.04)

Posted: Fri Aug 03, 2018 2:11 pm
by TestingCrypto
Working with 18.04.1 && can't seem to Git the GUI or CLI working, lucky I did manage to have a Mint 19 build that has all the right deps (boost error on this build) :idea:

// libboost_system.so.1.57.0: (working on a downgrade from 1.65.1)

Re: Compiling Zettel CLI (Ubuntu 16.04)

Posted: Mon Aug 06, 2018 12:55 am
by chipah
TestingCrypto wrote:
Fri Aug 03, 2018 2:11 pm
Working with 18.04.1 && can't seem to Git the GUI or CLI working, lucky I did manage to have a Mint 19 build that has all the right deps (boost error on this build) :idea:

// libboost_system.so.1.57.0: (working on a downgrade from 1.65.1)
For Ubuntu 18 (libboost 1.65) you don't need editing rpcrawtransaction.cpp. Just skip that step entirely.

Re: Compiling Zettel CLI (Ubuntu 16.04)

Posted: Mon Sep 10, 2018 7:52 am
by luffy
I have no issue compiling the cli wallet but get this error when i try to compile the gui wallet. Can anyone help?
Image
using ubuntu 18.04, qt4

Re: Compiling Zettel CLI (Ubuntu 16.04)

Posted: Sun Sep 16, 2018 9:51 pm
by burgerhash
Is this applicable to burgerhash?

Re: Compiling Zettel CLI (Ubuntu 16.04)

Posted: Mon Sep 17, 2018 1:22 am
by burgerhash
Burgerhash wallet install on Debian:

make -j 2 -f makefile.unix
/bin/sh ../share/genbuild.sh obj/build.h
g++ -c -O2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -std=gnu++0x -Wno-literal-suffix -g -DBOOST_SPIRIT_THREADSAFE -D_FILE_OFFSET_BITS=64 -I/root/burgerhash/src -I/root/burgerhash/src/obj -DUSE_UPNP=0 -DUSE_IPV6=1 -I/root/burgerhash/src/leveldb/include -I/root/burgerhash/src/leveldb/helpers -DHAVE_BUILD_INFO -fno-stack-protector -fstack-protector-all -Wstack-protector -D_FORTIFY_SOURCE=2 -MMD -MF obj/checkpoints.d -o obj/checkpoints.o checkpoints.cpp
g++ -c -O2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -std=gnu++0x -Wno-literal-suffix -g -DBOOST_SPIRIT_THREADSAFE -D_FILE_OFFSET_BITS=64 -I/root/burgerhash/src -I/root/burgerhash/src/obj -DUSE_UPNP=0 -DUSE_IPV6=1 -I/root/burgerhash/src/leveldb/include -I/root/burgerhash/src/leveldb/helpers -DHAVE_BUILD_INFO -fno-stack-protector -fstack-protector-all -Wstack-protector -D_FORTIFY_SOURCE=2 -MMD -MF obj/addrman.d -o obj/addrman.o addrman.cpp
In file included from main.h:8:0,
from checkpoints.cpp:10:
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/bn.h:32:0,
from bignum.h:10,
from main.h:8,
from checkpoints.cpp:10:
/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 main.h:8:0,
from checkpoints.cpp:10:
bignum.h: In constructor ‘CBigNum::CBigNum()’:
bignum.h:56:21: error: ‘BN_init’ was not declared in this scope
BN_init(this);
^
bignum.h: In copy constructor ‘CBigNum::CBigNum(const CBigNum&)’:
bignum.h:61:21: error: ‘BN_init’ was not declared in this scope
BN_init(this);
^
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))
^
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);
^
bignum.h: In member function ‘CBigNum& CBigNum::operator=(const CBigNum&)’:
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))
^
bignum.h: In destructor ‘CBigNum::~CBigNum()’:
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);
^
bignum.h: In constructor ‘CBigNum::CBigNum(signed char)’:
bignum.h:82: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); }
^
bignum.h: In constructor ‘CBigNum::CBigNum(short int)’:
bignum.h:83:47: 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: In constructor ‘CBigNum::CBigNum(int)’:
bignum.h:84:47: 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: In constructor ‘CBigNum::CBigNum(long int)’:
bignum.h:85:47: 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: In constructor ‘CBigNum::CBigNum(int64)’:
bignum.h:86:47: error: ‘BN_init’ was not declared in this scope
CBigNum(int64 n) { BN_init(this); setint64(n); }
^
bignum.h: In constructor ‘CBigNum::CBigNum(unsigned char)’:
bignum.h:87:47: error: ‘BN_init’ was not declared in this scope
CBigNum(unsigned char n) { BN_init(this); setulong(n); }
^
bignum.h: In constructor ‘CBigNum::CBigNum(short unsigned int)’:
bignum.h:88:47: error: ‘BN_init’ was not declared in this scope
CBigNum(unsigned short n) { BN_init(this); setulong(n); }
^
bignum.h: In constructor ‘CBigNum::CBigNum(unsigned int)’:
bignum.h:89:47: error: ‘BN_init’ was not declared in this scope
CBigNum(unsigned int n) { BN_init(this); setulong(n); }
^
bignum.h: In constructor ‘CBigNum::CBigNum(long unsigned int)’:
bignum.h:90:47: error: ‘BN_init’ was not declared in this scope
CBigNum(unsigned long n) { BN_init(this); setulong(n); }
^
bignum.h: In constructor ‘CBigNum::CBigNum(uint64)’:
bignum.h:91:47: error: ‘BN_init’ was not declared in this scope
CBigNum(uint64 n) { BN_init(this); setuint64(n); }
^
bignum.h: In constructor ‘CBigNum::CBigNum(uint256)’:
bignum.h:92:47: error: ‘BN_init’ was not declared in this scope
explicit CBigNum(uint256 n) { BN_init(this); setuint256(n); }
^
bignum.h: In constructor ‘CBigNum::CBigNum(const std::vector<unsigned char>&)’:
bignum.h:96:21: error: ‘BN_init’ was not declared in this scope
BN_init(this);
^
bignum.h: In member function ‘void CBigNum::setulong(long unsigned int)’:
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))
^
bignum.h: In member function ‘long unsigned int CBigNum::getulong() const’:
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);
^
bignum.h: In member function ‘unsigned int CBigNum::getuint() const’:
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);
^
bignum.h: In member function ‘int CBigNum::getint() const’:
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);
^
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 main.h:8:0,
from checkpoints.cpp:10:
bignum.h: In member function ‘void CBigNum::setint64(int64)’:
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);
^
bignum.h: In member function ‘void CBigNum::setuint64(uint64)’:
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);
^
bignum.h: In member function ‘void CBigNum::setuint256(uint256)’:
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);
^
bignum.h: In member function ‘uint256 CBigNum::getuint256() const’:
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);
^
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]);
^
bignum.h: In member function ‘void CBigNum::setvch(const std::vector<unsigned char>&)’:
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);
^
bignum.h: In member function ‘std::vector<unsigned char> CBigNum::getvch() const’:
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);
^
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]);
^
bignum.h: In member function ‘CBigNum& CBigNum::SetCompact(unsigned int)’:
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);
^
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);
^
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));
^
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 bignum.h:10:0,
from main.h:8,
from checkpoints.cpp:10:
bignum.h: In member function ‘unsigned int CBigNum::GetCompact() const’:
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 main.h:8:0,
from checkpoints.cpp:10:
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);
^
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));
^
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);
^
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 main.h:8:0,
from checkpoints.cpp:10:
bignum.h: In member function ‘std::__cxx11::string CBigNum::ToString(int) const’:
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);
^
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)
^
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)
^
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))
^
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))
^
bignum.h: In member function ‘bool CBigNum::operator!() const’:
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);
^
bignum.h: In member function ‘CBigNum& CBigNum::operator+=(const CBigNum&)’:
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))
^
bignum.h: In member function ‘CBigNum& CBigNum::operator*=(const CBigNum&)’:
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))
^
bignum.h: In member function ‘CBigNum& CBigNum::operator<<=(unsigned int)’:
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))
^
bignum.h: In member function ‘CBigNum& CBigNum::operator>>=(unsigned int)’:
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)
^
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))
^
bignum.h: In member function ‘CBigNum& CBigNum::operator++()’:
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()))
^
bignum.h: In member function ‘CBigNum& CBigNum::operator--()’:
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()))
^
bignum.h: In function ‘const CBigNum operator+(const CBigNum&, const CBigNum&)’:
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))
^
bignum.h: In function ‘const CBigNum operator-(const CBigNum&, const CBigNum&)’:
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))
^
bignum.h: In function ‘const CBigNum operator-(const CBigNum&)’:
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));
^
bignum.h: In function ‘const CBigNum operator*(const CBigNum&, const CBigNum&)’:
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))
^
bignum.h: In function ‘const CBigNum operator/(const CBigNum&, const CBigNum&)’:
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 bignum.h:10:0,
from main.h:8,
from checkpoints.cpp:10:
bignum.h: In function ‘const CBigNum operator%(const CBigNum&, const CBigNum&)’:
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 main.h:8:0,
from checkpoints.cpp:10:
bignum.h: In function ‘const CBigNum operator<<(const CBigNum&, unsigned int)’:
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))
^
bignum.h: In function ‘bool operator==(const CBigNum&, const CBigNum&)’:
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); }
^
bignum.h: In function ‘bool operator!=(const CBigNum&, const CBigNum&)’:
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); }
^
bignum.h: In function ‘bool operator<=(const CBigNum&, const CBigNum&)’:
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); }
^
bignum.h: In function ‘bool operator>=(const CBigNum&, const CBigNum&)’:
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); }
^
bignum.h: In function ‘bool operator<(const CBigNum&, const CBigNum&)’:
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); }
^
bignum.h: In function ‘bool operator>(const CBigNum&, const CBigNum&)’:
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 main.h:13:0,
from checkpoints.cpp:10:
base58.h: In function ‘std::__cxx11::string EncodeBase58(const unsigned char*, const unsigned char*)’:
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))
^
base58.h: In function ‘bool DecodeBase58(const char*, std::vector<unsigned char>&)’:
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))
^
checkpoints.cpp: In function ‘double Checkpoints::GuessVerificationProgress(CBlockIndex*)’:
checkpoints.cpp:92:15: warning: unused variable ‘nNow’ [-Wunused-variable]
int64 nNow = time(NULL);
^~~~
checkpoints.cpp:94:16: warning: unused variable ‘fWorkBefore’ [-Wunused-variable]
double fWorkBefore = 0.0; // Amount of work done before pindex
^~~~~~~~~~~
checkpoints.cpp:95:16: warning: unused variable ‘fWorkAfter’ [-Wunused-variable]
double fWorkAfter = 0.0; // Amount of work left after pindex (estimated)
^~~~~~~~~~
makefile.unix:184: recipe for target 'obj/checkpoints.o' failed
make: *** [obj/checkpoints.o] Error 1
make: *** Waiting for unfinished jobs....

Re: Compiling Zettel CLI (Ubuntu 16.04)

Posted: Thu Sep 20, 2018 4:02 pm
by zettelkasten
check your openssl version and boost version.

I had same errors on Raspberry compilation, then I did apply that solution:

https://github.com/EmberCoin/Ember/issues/31

Code: Select all

As a workaround people can add the following to /etc/apt/sources.list

# jessie-backports, from stretch-level but with no dependencies
deb http://httpredir.debian.org/debian/ jessie-backports main contrib non-free
deb-src http://httpredir.debian.org/debian/ jessie-backports main contrib non-free

Then run sudo apt-get update and sudo apt-get remove libssl-dev and then sudo apt-get install -t jessie-backports libssl-dev to get the version expected until we upgrade the code.
Now this is raspberry specific, but what you need to do is remove your current lissl-dev version and revert to an earlier version.