pepecoinppc / pepecoin

Pepecoin is the world's first fully decentralized and secure blockchain for Pepe.
https://Pepecoin.org
MIT License
20 stars 5 forks source link

1.1.0 merge dogecoin prs #69

Open chromatic opened 2 months ago

chromatic commented 2 months ago

This large PR cherry-picks Dogecoin Core PRs for the 1.14.7 release after Pepecoin branched off of the repository. I've skipped some translation/documentation-only PRs.

From the Dogecoin Core checkout v1.14.7 tag, run git log --show-pulls to see the list of candidates from which I've cherry-picked the merges (git cherry-pick -m1 <merge sha>).

chromatic commented 2 months ago

I've found and fixed one compilation error and one test error and pushed the changes.

Heclalava commented 1 month ago

Tried to compile on Linux Mint 22.0 I am getting the following errors during make:

Making all in src
make[1]: Entering directory '/home/master/Downloads/pepecoin-1.1.0-merge-dogecoin-prs/src'
make[2]: Entering directory '/home/master/Downloads/pepecoin-1.1.0-merge-dogecoin-prs/src'
  CXX      pepecoind-bitcoind.o
  CXX      libpepecoin_server_a-addrman.o
  CXX      libpepecoin_server_a-addrdb.o
  CXX      libpepecoin_server_a-bloom.o
  CXX      libpepecoin_server_a-blockencodings.o
In file included from /usr/include/c++/13/bits/exception_ptr.h:41,
                 from /usr/include/c++/13/exception:164,
                 from /usr/include/c++/13/stdexcept:38,
                 from ./uint256.h:11,
                 from ./consensus/params.h:10,
                 from ./auxpow.h:10,
                 from primitives/block.h:9,
                 from blockencodings.h:8,
                 from blockencodings.cpp:5:
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = prevector<28, unsigned char>::direct_or_indirect]’,
    inlined from ‘void prevector<N, T, Size, Diff>::swap(prevector<N, T, Size, Diff>&) [with unsigned int N = 28; T = unsigned char; Size = unsigned int; Diff = int]’ at ./prevector.h:430:18,
    inlined from ‘void CScript::clear()’ at ./script/script.h:643:27,
    inlined from ‘void CTxOut::SetNull()’ at ./primitives/transaction.h:160:27,
    inlined from ‘CTxOut::CTxOut()’ at ./primitives/transaction.h:144:16,
    inlined from ‘void Serialize(Stream&, const std::vector<T, A>&) [with Stream = CSizeComputer; T = CTxOut; A = std::allocator<CTxOut>]’ at ./serialize.h:656:27,
    inlined from ‘CSizeComputer& CSizeComputer::operator<<(const T&) [with T = std::vector<CTxOut>]’ at ./serialize.h:876:20,
    inlined from ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CSizeComputer; TxType = CTransaction]’ at ./primitives/transaction.h:265:7:
/usr/include/c++/13/bits/move.h:197:11: warning: ‘<unnamed>.prevector<28, unsigned char, unsigned int, int>::_union’ is used uninitialized [-Wuninitialized]
  197 |       _Tp __tmp = _GLIBCXX_MOVE(__a);
      |           ^~~~~
In file included from ./primitives/transaction.h:11,
                 from ./auxpow.h:13:
./script/script.h: In function ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CSizeComputer; TxType = CTransaction]’:
./script/script.h:643:21: note: ‘<anonymous>’ declared here
  643 |         CScriptBase().swap(*this);
      |                     ^
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = prevector<28, unsigned char>::direct_or_indirect]’,
    inlined from ‘void prevector<N, T, Size, Diff>::swap(prevector<N, T, Size, Diff>&) [with unsigned int N = 28; T = unsigned char; Size = unsigned int; Diff = int]’ at ./prevector.h:430:18,
    inlined from ‘void CScript::clear()’ at ./script/script.h:643:27,
    inlined from ‘void CTxOut::SetNull()’ at ./primitives/transaction.h:160:27,
    inlined from ‘CTxOut::CTxOut()’ at ./primitives/transaction.h:144:16,
    inlined from ‘void Serialize(Stream&, const std::vector<T, A>&) [with Stream = CSizeComputer; T = CTxOut; A = std::allocator<CTxOut>]’ at ./serialize.h:656:27,
    inlined from ‘CSizeComputer& CSizeComputer::operator<<(const T&) [with T = std::vector<CTxOut>]’ at ./serialize.h:876:20,
    inlined from ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CSizeComputer; TxType = CTransaction]’ at ./primitives/transaction.h:265:7:
/usr/include/c++/13/bits/move.h:198:7: warning: ‘<unnamed>.CTxOut::scriptPubKey.CScript::<unnamed>.prevector<28, unsigned char, unsigned int, int>::_union’ is used uninitialized [-Wuninitialized]
  198 |       __a = _GLIBCXX_MOVE(__b);
      |       ^~~
In file included from ./primitives/pureheader.h:9,
                 from ./auxpow.h:12:
./serialize.h: In function ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CSizeComputer; TxType = CTransaction]’:
./serialize.h:656:27: note: ‘<anonymous>’ declared here
  656 |     Serialize_impl(os, v, T());
      |                           ^~~
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = prevector<28, unsigned char>::direct_or_indirect]’,
    inlined from ‘void prevector<N, T, Size, Diff>::swap(prevector<N, T, Size, Diff>&) [with unsigned int N = 28; T = unsigned char; Size = unsigned int; Diff = int]’ at ./prevector.h:430:18,
    inlined from ‘void CScript::clear()’ at ./script/script.h:643:27,
    inlined from ‘void CTxOut::SetNull()’ at ./primitives/transaction.h:160:27,
    inlined from ‘CTxOut::CTxOut()’ at ./primitives/transaction.h:144:16,
    inlined from ‘void Serialize(Stream&, const std::vector<T, A>&) [with Stream = CDataStream; T = CTxOut; A = std::allocator<CTxOut>]’ at ./serialize.h:656:27,
    inlined from ‘CDataStream& CDataStream::operator<<(const T&) [with T = std::vector<CTxOut>]’ at streams.h:399:20,
    inlined from ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CDataStream; TxType = CTransaction]’ at ./primitives/transaction.h:265:7:
/usr/include/c++/13/bits/move.h:197:11: warning: ‘<unnamed>.prevector<28, unsigned char, unsigned int, int>::_union’ may be used uninitialized [-Wmaybe-uninitialized]
  197 |       _Tp __tmp = _GLIBCXX_MOVE(__a);
      |           ^~~~~
./script/script.h: In function ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CDataStream; TxType = CTransaction]’:
./script/script.h:643:21: note: ‘<anonymous>’ declared here
  643 |         CScriptBase().swap(*this);
      |                     ^
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = prevector<28, unsigned char>::direct_or_indirect]’,
    inlined from ‘void prevector<N, T, Size, Diff>::swap(prevector<N, T, Size, Diff>&) [with unsigned int N = 28; T = unsigned char; Size = unsigned int; Diff = int]’ at ./prevector.h:430:18,
    inlined from ‘void CScript::clear()’ at ./script/script.h:643:27,
    inlined from ‘void CTxOut::SetNull()’ at ./primitives/transaction.h:160:27,
    inlined from ‘CTxOut::CTxOut()’ at ./primitives/transaction.h:144:16,
    inlined from ‘void Serialize(Stream&, const std::vector<T, A>&) [with Stream = CDataStream; T = CTxOut; A = std::allocator<CTxOut>]’ at ./serialize.h:656:27,
    inlined from ‘CDataStream& CDataStream::operator<<(const T&) [with T = std::vector<CTxOut>]’ at streams.h:399:20,
    inlined from ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CDataStream; TxType = CTransaction]’ at ./primitives/transaction.h:265:7:
/usr/include/c++/13/bits/move.h:198:7: warning: ‘<unnamed>.CTxOut::scriptPubKey.CScript::<unnamed>.prevector<28, unsigned char, unsigned int, int>::_union’ may be used uninitialized [-Wmaybe-uninitialized]
  198 |       __a = _GLIBCXX_MOVE(__b);
      |       ^~~
./serialize.h: In function ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CDataStream; TxType = CTransaction]’:
./serialize.h:656:27: note: ‘<anonymous>’ declared here
  656 |     Serialize_impl(os, v, T());
      |                           ^~~
  CXX      libpepecoin_server_a-chain.o
  CXX      libpepecoin_server_a-checkpoints.o
  CXX      libpepecoin_server_a-httprpc.o
  CXX      libpepecoin_server_a-httpserver.o
  CXX      libpepecoin_server_a-init.o
In file included from /usr/include/boost/function/detail/prologue.hpp:18,
                 from /usr/include/boost/function.hpp:30,
                 from /usr/include/boost/signals2/signal.hpp:19,
                 from util.h:30,
                 from addrman.h:14,
                 from init.cpp:13:
/usr/include/boost/function/function_base.hpp: In instantiation of ‘const Functor* boost::function_base::target() const [with Functor = void(bool, const CBlockIndex*)]’:
/usr/include/boost/function/function_base.hpp:657:49:   required from ‘bool boost::function_base::contains(const F&) const [with F = void(bool, const CBlockIndex*)]’
/usr/include/boost/signals2/detail/signal_template.hpp:530:54:   required from ‘void boost::signals2::detail::signal_impl<R(Args ...), Combiner, Group, GroupCompare, SlotFunction, ExtendedSlotFunction, Mutex>::do_disconnect(const T&, mpl_::bool_<false>) [with T = void(bool, const CBlockIndex*); Combiner = boost::signals2::optional_last_value<void>; Group = int; GroupCompare = std::less<int>; SlotFunction = boost::function<void(bool, const CBlockIndex*)>; ExtendedSlotFunction = boost::function<void(const boost::signals2::connection&, bool, const CBlockIndex*)>; Mutex = boost::signals2::mutex; R = void; Args = {bool, const CBlockIndex*}]’
/usr/include/boost/signals2/detail/signal_template.hpp:222:24:   required from ‘void boost::signals2::detail::signal_impl<R(Args ...), Combiner, Group, GroupCompare, SlotFunction, ExtendedSlotFunction, Mutex>::disconnect(const T&) [with T = void(bool, const CBlockIndex*); Combiner = boost::signals2::optional_last_value<void>; Group = int; GroupCompare = std::less<int>; SlotFunction = boost::function<void(bool, const CBlockIndex*)>; ExtendedSlotFunction = boost::function<void(const boost::signals2::connection&, bool, const CBlockIndex*)>; Mutex = boost::signals2::mutex; R = void; Args = {bool, const CBlockIndex*}]’
/usr/include/boost/signals2/detail/signal_template.hpp:718:29:   required from ‘void boost::signals2::signal<R(Args ...), Combiner, Group, GroupCompare, SlotFunction, ExtendedSlotFunction, Mutex>::disconnect(const T&) [with T = void(bool, const CBlockIndex*); Combiner = boost::signals2::optional_last_value<void>; Group = int; GroupCompare = std::less<int>; SlotFunction = boost::function<void(bool, const CBlockIndex*)>; ExtendedSlotFunction = boost::function<void(const boost::signals2::connection&, bool, const CBlockIndex*)>; Mutex = boost::signals2::mutex; R = void; Args = {bool, const CBlockIndex*}]’
init.cpp:1669:46:   required from here
/usr/include/boost/function/function_base.hpp:651:14: error: invalid ‘static_cast’ from type ‘boost::detail::function::function_buffer_members::obj_ptr_t’ {aka ‘void*’} to type ‘void (*)(bool, const CBlockIndex*)’
  651 |       return static_cast<const Functor*>(type_result.members.obj_ptr);
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:6037: libpepecoin_server_a-init.o] Error 1
make[2]: Leaving directory '/home/master/Downloads/pepecoin-1.1.0-merge-dogecoin-prs/src'
make[1]: *** [Makefile:9844: all-recursive] Error 1
make[1]: Leaving directory '/home/master/Downloads/pepecoin-1.1.0-merge-dogecoin-prs/src'
make: *** [Makefile:694: all-recursive] Error 1
Heclalava commented 1 month ago

Tried to compile on Linux Mint 22.0 I am getting the following errors during make:

Making all in src
make[1]: Entering directory '/home/master/Downloads/pepecoin-1.1.0-merge-dogecoin-prs/src'
make[2]: Entering directory '/home/master/Downloads/pepecoin-1.1.0-merge-dogecoin-prs/src'
  CXX      pepecoind-bitcoind.o
  CXX      libpepecoin_server_a-addrman.o
  CXX      libpepecoin_server_a-addrdb.o
  CXX      libpepecoin_server_a-bloom.o
  CXX      libpepecoin_server_a-blockencodings.o
In file included from /usr/include/c++/13/bits/exception_ptr.h:41,
                 from /usr/include/c++/13/exception:164,
                 from /usr/include/c++/13/stdexcept:38,
                 from ./uint256.h:11,
                 from ./consensus/params.h:10,
                 from ./auxpow.h:10,
                 from primitives/block.h:9,
                 from blockencodings.h:8,
                 from blockencodings.cpp:5:
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = prevector<28, unsigned char>::direct_or_indirect]’,
    inlined from ‘void prevector<N, T, Size, Diff>::swap(prevector<N, T, Size, Diff>&) [with unsigned int N = 28; T = unsigned char; Size = unsigned int; Diff = int]’ at ./prevector.h:430:18,
    inlined from ‘void CScript::clear()’ at ./script/script.h:643:27,
    inlined from ‘void CTxOut::SetNull()’ at ./primitives/transaction.h:160:27,
    inlined from ‘CTxOut::CTxOut()’ at ./primitives/transaction.h:144:16,
    inlined from ‘void Serialize(Stream&, const std::vector<T, A>&) [with Stream = CSizeComputer; T = CTxOut; A = std::allocator<CTxOut>]’ at ./serialize.h:656:27,
    inlined from ‘CSizeComputer& CSizeComputer::operator<<(const T&) [with T = std::vector<CTxOut>]’ at ./serialize.h:876:20,
    inlined from ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CSizeComputer; TxType = CTransaction]’ at ./primitives/transaction.h:265:7:
/usr/include/c++/13/bits/move.h:197:11: warning: ‘<unnamed>.prevector<28, unsigned char, unsigned int, int>::_union’ is used uninitialized [-Wuninitialized]
  197 |       _Tp __tmp = _GLIBCXX_MOVE(__a);
      |           ^~~~~
In file included from ./primitives/transaction.h:11,
                 from ./auxpow.h:13:
./script/script.h: In function ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CSizeComputer; TxType = CTransaction]’:
./script/script.h:643:21: note: ‘<anonymous>’ declared here
  643 |         CScriptBase().swap(*this);
      |                     ^
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = prevector<28, unsigned char>::direct_or_indirect]’,
    inlined from ‘void prevector<N, T, Size, Diff>::swap(prevector<N, T, Size, Diff>&) [with unsigned int N = 28; T = unsigned char; Size = unsigned int; Diff = int]’ at ./prevector.h:430:18,
    inlined from ‘void CScript::clear()’ at ./script/script.h:643:27,
    inlined from ‘void CTxOut::SetNull()’ at ./primitives/transaction.h:160:27,
    inlined from ‘CTxOut::CTxOut()’ at ./primitives/transaction.h:144:16,
    inlined from ‘void Serialize(Stream&, const std::vector<T, A>&) [with Stream = CSizeComputer; T = CTxOut; A = std::allocator<CTxOut>]’ at ./serialize.h:656:27,
    inlined from ‘CSizeComputer& CSizeComputer::operator<<(const T&) [with T = std::vector<CTxOut>]’ at ./serialize.h:876:20,
    inlined from ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CSizeComputer; TxType = CTransaction]’ at ./primitives/transaction.h:265:7:
/usr/include/c++/13/bits/move.h:198:7: warning: ‘<unnamed>.CTxOut::scriptPubKey.CScript::<unnamed>.prevector<28, unsigned char, unsigned int, int>::_union’ is used uninitialized [-Wuninitialized]
  198 |       __a = _GLIBCXX_MOVE(__b);
      |       ^~~
In file included from ./primitives/pureheader.h:9,
                 from ./auxpow.h:12:
./serialize.h: In function ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CSizeComputer; TxType = CTransaction]’:
./serialize.h:656:27: note: ‘<anonymous>’ declared here
  656 |     Serialize_impl(os, v, T());
      |                           ^~~
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = prevector<28, unsigned char>::direct_or_indirect]’,
    inlined from ‘void prevector<N, T, Size, Diff>::swap(prevector<N, T, Size, Diff>&) [with unsigned int N = 28; T = unsigned char; Size = unsigned int; Diff = int]’ at ./prevector.h:430:18,
    inlined from ‘void CScript::clear()’ at ./script/script.h:643:27,
    inlined from ‘void CTxOut::SetNull()’ at ./primitives/transaction.h:160:27,
    inlined from ‘CTxOut::CTxOut()’ at ./primitives/transaction.h:144:16,
    inlined from ‘void Serialize(Stream&, const std::vector<T, A>&) [with Stream = CDataStream; T = CTxOut; A = std::allocator<CTxOut>]’ at ./serialize.h:656:27,
    inlined from ‘CDataStream& CDataStream::operator<<(const T&) [with T = std::vector<CTxOut>]’ at streams.h:399:20,
    inlined from ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CDataStream; TxType = CTransaction]’ at ./primitives/transaction.h:265:7:
/usr/include/c++/13/bits/move.h:197:11: warning: ‘<unnamed>.prevector<28, unsigned char, unsigned int, int>::_union’ may be used uninitialized [-Wmaybe-uninitialized]
  197 |       _Tp __tmp = _GLIBCXX_MOVE(__a);
      |           ^~~~~
./script/script.h: In function ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CDataStream; TxType = CTransaction]’:
./script/script.h:643:21: note: ‘<anonymous>’ declared here
  643 |         CScriptBase().swap(*this);
      |                     ^
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = prevector<28, unsigned char>::direct_or_indirect]’,
    inlined from ‘void prevector<N, T, Size, Diff>::swap(prevector<N, T, Size, Diff>&) [with unsigned int N = 28; T = unsigned char; Size = unsigned int; Diff = int]’ at ./prevector.h:430:18,
    inlined from ‘void CScript::clear()’ at ./script/script.h:643:27,
    inlined from ‘void CTxOut::SetNull()’ at ./primitives/transaction.h:160:27,
    inlined from ‘CTxOut::CTxOut()’ at ./primitives/transaction.h:144:16,
    inlined from ‘void Serialize(Stream&, const std::vector<T, A>&) [with Stream = CDataStream; T = CTxOut; A = std::allocator<CTxOut>]’ at ./serialize.h:656:27,
    inlined from ‘CDataStream& CDataStream::operator<<(const T&) [with T = std::vector<CTxOut>]’ at streams.h:399:20,
    inlined from ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CDataStream; TxType = CTransaction]’ at ./primitives/transaction.h:265:7:
/usr/include/c++/13/bits/move.h:198:7: warning: ‘<unnamed>.CTxOut::scriptPubKey.CScript::<unnamed>.prevector<28, unsigned char, unsigned int, int>::_union’ may be used uninitialized [-Wmaybe-uninitialized]
  198 |       __a = _GLIBCXX_MOVE(__b);
      |       ^~~
./serialize.h: In function ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CDataStream; TxType = CTransaction]’:
./serialize.h:656:27: note: ‘<anonymous>’ declared here
  656 |     Serialize_impl(os, v, T());
      |                           ^~~
  CXX      libpepecoin_server_a-chain.o
  CXX      libpepecoin_server_a-checkpoints.o
  CXX      libpepecoin_server_a-httprpc.o
  CXX      libpepecoin_server_a-httpserver.o
  CXX      libpepecoin_server_a-init.o
In file included from /usr/include/boost/function/detail/prologue.hpp:18,
                 from /usr/include/boost/function.hpp:30,
                 from /usr/include/boost/signals2/signal.hpp:19,
                 from util.h:30,
                 from addrman.h:14,
                 from init.cpp:13:
/usr/include/boost/function/function_base.hpp: In instantiation of ‘const Functor* boost::function_base::target() const [with Functor = void(bool, const CBlockIndex*)]’:
/usr/include/boost/function/function_base.hpp:657:49:   required from ‘bool boost::function_base::contains(const F&) const [with F = void(bool, const CBlockIndex*)]’
/usr/include/boost/signals2/detail/signal_template.hpp:530:54:   required from ‘void boost::signals2::detail::signal_impl<R(Args ...), Combiner, Group, GroupCompare, SlotFunction, ExtendedSlotFunction, Mutex>::do_disconnect(const T&, mpl_::bool_<false>) [with T = void(bool, const CBlockIndex*); Combiner = boost::signals2::optional_last_value<void>; Group = int; GroupCompare = std::less<int>; SlotFunction = boost::function<void(bool, const CBlockIndex*)>; ExtendedSlotFunction = boost::function<void(const boost::signals2::connection&, bool, const CBlockIndex*)>; Mutex = boost::signals2::mutex; R = void; Args = {bool, const CBlockIndex*}]’
/usr/include/boost/signals2/detail/signal_template.hpp:222:24:   required from ‘void boost::signals2::detail::signal_impl<R(Args ...), Combiner, Group, GroupCompare, SlotFunction, ExtendedSlotFunction, Mutex>::disconnect(const T&) [with T = void(bool, const CBlockIndex*); Combiner = boost::signals2::optional_last_value<void>; Group = int; GroupCompare = std::less<int>; SlotFunction = boost::function<void(bool, const CBlockIndex*)>; ExtendedSlotFunction = boost::function<void(const boost::signals2::connection&, bool, const CBlockIndex*)>; Mutex = boost::signals2::mutex; R = void; Args = {bool, const CBlockIndex*}]’
/usr/include/boost/signals2/detail/signal_template.hpp:718:29:   required from ‘void boost::signals2::signal<R(Args ...), Combiner, Group, GroupCompare, SlotFunction, ExtendedSlotFunction, Mutex>::disconnect(const T&) [with T = void(bool, const CBlockIndex*); Combiner = boost::signals2::optional_last_value<void>; Group = int; GroupCompare = std::less<int>; SlotFunction = boost::function<void(bool, const CBlockIndex*)>; ExtendedSlotFunction = boost::function<void(const boost::signals2::connection&, bool, const CBlockIndex*)>; Mutex = boost::signals2::mutex; R = void; Args = {bool, const CBlockIndex*}]’
init.cpp:1669:46:   required from here
/usr/include/boost/function/function_base.hpp:651:14: error: invalid ‘static_cast’ from type ‘boost::detail::function::function_buffer_members::obj_ptr_t’ {aka ‘void*’} to type ‘void (*)(bool, const CBlockIndex*)’
  651 |       return static_cast<const Functor*>(type_result.members.obj_ptr);
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:6037: libpepecoin_server_a-init.o] Error 1
make[2]: Leaving directory '/home/master/Downloads/pepecoin-1.1.0-merge-dogecoin-prs/src'
make[1]: *** [Makefile:9844: all-recursive] Error 1
make[1]: Leaving directory '/home/master/Downloads/pepecoin-1.1.0-merge-dogecoin-prs/src'
make: *** [Makefile:694: all-recursive] Error 1

Installed Boost 1.86 libraries as LM 22 uses 1.83 libraries, according to instructions in https://draculaservers.com/tutorials/install-the-boost-c-on-ubuntu-22/

now getting new errors with running make:

Making all in src
make[1]: Entering directory '/home/master/Downloads/pepecoin-1.1.0-merge-dogecoin-prs/src'
make[2]: Entering directory '/home/master/Downloads/pepecoin-1.1.0-merge-dogecoin-prs/src'
make[3]: Entering directory '/home/master/Downloads/pepecoin-1.1.0-merge-dogecoin-prs'
make[3]: Leaving directory '/home/master/Downloads/pepecoin-1.1.0-merge-dogecoin-prs'
  CXX      pepecoind-bitcoind.o
  CXX      libpepecoin_server_a-addrman.o
  CXX      libpepecoin_server_a-addrdb.o
  CXX      libpepecoin_server_a-bloom.o
  CXX      libpepecoin_server_a-blockencodings.o
In file included from /usr/include/c++/13/bits/exception_ptr.h:41,
                 from /usr/include/c++/13/exception:164,
                 from /usr/include/c++/13/stdexcept:38,
                 from ./uint256.h:11,
                 from ./consensus/params.h:10,
                 from ./auxpow.h:10,
                 from primitives/block.h:9,
                 from blockencodings.h:8,
                 from blockencodings.cpp:5:
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = prevector<28, unsigned char>::direct_or_indirect]’,
    inlined from ‘void prevector<N, T, Size, Diff>::swap(prevector<N, T, Size, Diff>&) [with unsigned int N = 28; T = unsigned char; Size = unsigned int; Diff = int]’ at ./prevector.h:430:18,
    inlined from ‘void CScript::clear()’ at ./script/script.h:643:27,
    inlined from ‘void CTxOut::SetNull()’ at ./primitives/transaction.h:160:27,
    inlined from ‘CTxOut::CTxOut()’ at ./primitives/transaction.h:144:16,
    inlined from ‘void Serialize(Stream&, const std::vector<T, A>&) [with Stream = CSizeComputer; T = CTxOut; A = std::allocator<CTxOut>]’ at ./serialize.h:656:27,
    inlined from ‘CSizeComputer& CSizeComputer::operator<<(const T&) [with T = std::vector<CTxOut>]’ at ./serialize.h:876:20,
    inlined from ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CSizeComputer; TxType = CTransaction]’ at ./primitives/transaction.h:265:7:
/usr/include/c++/13/bits/move.h:197:11: warning: ‘<unnamed>.prevector<28, unsigned char, unsigned int, int>::_union’ is used uninitialized [-Wuninitialized]
  197 |       _Tp __tmp = _GLIBCXX_MOVE(__a);
      |           ^~~~~
In file included from ./primitives/transaction.h:11,
                 from ./auxpow.h:13:
./script/script.h: In function ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CSizeComputer; TxType = CTransaction]’:
./script/script.h:643:21: note: ‘<anonymous>’ declared here
  643 |         CScriptBase().swap(*this);
      |                     ^
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = prevector<28, unsigned char>::direct_or_indirect]’,
    inlined from ‘void prevector<N, T, Size, Diff>::swap(prevector<N, T, Size, Diff>&) [with unsigned int N = 28; T = unsigned char; Size = unsigned int; Diff = int]’ at ./prevector.h:430:18,
    inlined from ‘void CScript::clear()’ at ./script/script.h:643:27,
    inlined from ‘void CTxOut::SetNull()’ at ./primitives/transaction.h:160:27,
    inlined from ‘CTxOut::CTxOut()’ at ./primitives/transaction.h:144:16,
    inlined from ‘void Serialize(Stream&, const std::vector<T, A>&) [with Stream = CSizeComputer; T = CTxOut; A = std::allocator<CTxOut>]’ at ./serialize.h:656:27,
    inlined from ‘CSizeComputer& CSizeComputer::operator<<(const T&) [with T = std::vector<CTxOut>]’ at ./serialize.h:876:20,
    inlined from ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CSizeComputer; TxType = CTransaction]’ at ./primitives/transaction.h:265:7:
/usr/include/c++/13/bits/move.h:198:7: warning: ‘<unnamed>.CTxOut::scriptPubKey.CScript::<unnamed>.prevector<28, unsigned char, unsigned int, int>::_union’ is used uninitialized [-Wuninitialized]
  198 |       __a = _GLIBCXX_MOVE(__b);
      |       ^~~
In file included from ./primitives/pureheader.h:9,
                 from ./auxpow.h:12:
./serialize.h: In function ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CSizeComputer; TxType = CTransaction]’:
./serialize.h:656:27: note: ‘<anonymous>’ declared here
  656 |     Serialize_impl(os, v, T());
      |                           ^~~
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = prevector<28, unsigned char>::direct_or_indirect]’,
    inlined from ‘void prevector<N, T, Size, Diff>::swap(prevector<N, T, Size, Diff>&) [with unsigned int N = 28; T = unsigned char; Size = unsigned int; Diff = int]’ at ./prevector.h:430:18,
    inlined from ‘void CScript::clear()’ at ./script/script.h:643:27,
    inlined from ‘void CTxOut::SetNull()’ at ./primitives/transaction.h:160:27,
    inlined from ‘CTxOut::CTxOut()’ at ./primitives/transaction.h:144:16,
    inlined from ‘void Serialize(Stream&, const std::vector<T, A>&) [with Stream = CDataStream; T = CTxOut; A = std::allocator<CTxOut>]’ at ./serialize.h:656:27,
    inlined from ‘CDataStream& CDataStream::operator<<(const T&) [with T = std::vector<CTxOut>]’ at streams.h:399:20,
    inlined from ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CDataStream; TxType = CTransaction]’ at ./primitives/transaction.h:265:7:
/usr/include/c++/13/bits/move.h:197:11: warning: ‘<unnamed>.prevector<28, unsigned char, unsigned int, int>::_union’ may be used uninitialized [-Wmaybe-uninitialized]
  197 |       _Tp __tmp = _GLIBCXX_MOVE(__a);
      |           ^~~~~
./script/script.h: In function ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CDataStream; TxType = CTransaction]’:
./script/script.h:643:21: note: ‘<anonymous>’ declared here
  643 |         CScriptBase().swap(*this);
      |                     ^
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = prevector<28, unsigned char>::direct_or_indirect]’,
    inlined from ‘void prevector<N, T, Size, Diff>::swap(prevector<N, T, Size, Diff>&) [with unsigned int N = 28; T = unsigned char; Size = unsigned int; Diff = int]’ at ./prevector.h:430:18,
    inlined from ‘void CScript::clear()’ at ./script/script.h:643:27,
    inlined from ‘void CTxOut::SetNull()’ at ./primitives/transaction.h:160:27,
    inlined from ‘CTxOut::CTxOut()’ at ./primitives/transaction.h:144:16,
    inlined from ‘void Serialize(Stream&, const std::vector<T, A>&) [with Stream = CDataStream; T = CTxOut; A = std::allocator<CTxOut>]’ at ./serialize.h:656:27,
    inlined from ‘CDataStream& CDataStream::operator<<(const T&) [with T = std::vector<CTxOut>]’ at streams.h:399:20,
    inlined from ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CDataStream; TxType = CTransaction]’ at ./primitives/transaction.h:265:7:
/usr/include/c++/13/bits/move.h:198:7: warning: ‘<unnamed>.CTxOut::scriptPubKey.CScript::<unnamed>.prevector<28, unsigned char, unsigned int, int>::_union’ may be used uninitialized [-Wmaybe-uninitialized]
  198 |       __a = _GLIBCXX_MOVE(__b);
      |       ^~~
./serialize.h: In function ‘void SerializeTransaction(const TxType&, Stream&) [with Stream = CDataStream; TxType = CTransaction]’:
./serialize.h:656:27: note: ‘<anonymous>’ declared here
  656 |     Serialize_impl(os, v, T());
      |                           ^~~
  CXX      libpepecoin_server_a-chain.o
In file included from chain.cpp:8:
validation.h:337:53: error: ‘std::list’ has not been declared
  337 |                         bool* pfMissingInputs, std::list<CTransactionRef>* plTxnReplaced = NULL,
      |                                                     ^~~~
validation.h:337:57: error: expected ‘,’ or ‘...’ before ‘<’ token
  337 |                         bool* pfMissingInputs, std::list<CTransactionRef>* plTxnReplaced = NULL,
      |                                                         ^
validation.h:342:74: error: ‘std::list’ has not been declared
  342 |            bool* pfMissingInputs, int64_t nAcceptTime, std::list<CTransactionRef>* plTxnReplaced = NULL,
      |                                                             ^~~~

validation.h:342:78: error: expected ‘,’ or ‘...’ before ‘<’ token
  342 |        bool* pfMissingInputs, int64_t nAcceptTime, std::list<CTransactionRef>* plTxnReplaced = NULL,
      |                                                             ^

make[2]: *** [Makefile:5981: libpepecoin_server_a-chain.o] Error 1
make[2]: Leaving directory '/home/master/Downloads/pepecoin-1.1.0-merge-dogecoin-prs/src'
make[1]: *** [Makefile:9844: all-recursive] Error 1
make[1]: Leaving directory '/home/master/Downloads/pepecoin-1.1.0-merge-dogecoin-prs/src'
make: *** [Makefile:694: all-recursive] Error 1
tuaris commented 2 weeks ago

These two may also be necessary (they were needed on FreeBSD):

That last one might need a little more, I get this error:

error: no member named 'max' in 'FastRandomContext'