Closed moneroexamples closed 1 month ago
Trying to compile. Ubuntu 22, freshly cloned and compiled monero master:
xmrchain@Ubuntu-1804-bionic-64-minimal:~/xmrchain_emission/build$ make -j
Consolidate compiler generated dependencies of target mycrypto
Consolidate compiler generated dependencies of target myext
Consolidate compiler generated dependencies of target mstch
[ 9%] Built target mycrypto
[ 22%] Built target myext
[ 59%] Built target mstch
Consolidate compiler generated dependencies of target myxrm
[ 63%] Building CXX object src/CMakeFiles/myxrm.dir/CurrentBlockchainStatus.cpp.o
In file included from /home/xmrchain/monero/src/wallet/wallet2.h:67,
from /home/xmrchain/xmrchain_emission/src/monero_headers.h:30,
from /home/xmrchain/xmrchain_emission/src/MicroCore.h:10,
from /home/xmrchain/xmrchain_emission/src/CurrentBlockchainStatus.h:8,
from /home/xmrchain/xmrchain_emission/src/CurrentBlockchainStatus.cpp:5:
/home/xmrchain/monero/src/serialization/tuple.h: In function ‘bool do_serialize_tuple_nth(Archive<W>&, std::tuple<Ts ...>&)’:
/home/xmrchain/monero/src/serialization/tuple.h:60:6: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’
60 | if constexpr (I == 0)
| ^~~~~~~~~
/home/xmrchain/monero/src/serialization/tuple.h:63:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’
63 | if constexpr (BackwardsCompat && (tuple_size == 3 || tuple_size == 4))
| ^~~~~~~~~
/home/xmrchain/monero/src/serialization/tuple.h:75:11: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’
75 | else if constexpr (I < tuple_size)
| ^~~~~~~~~
/home/xmrchain/monero/src/serialization/tuple.h:80:6: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’
80 | if constexpr (I == tuple_size)
| ^~~~~~~~~
In file included from /home/xmrchain/xmrchain_emission/src/CurrentBlockchainStatus.cpp:5:
/home/xmrchain/xmrchain_emission/src/CurrentBlockchainStatus.h: In member function ‘xmreg::CurrentBlockchainStatus::Emission::operator std::string() const’:
/home/xmrchain/xmrchain_emission/src/CurrentBlockchainStatus.h:44:55: error: no matching function for call to ‘to_string(const uint128_t&)’
44 | return to_string(blk_no) + "," + to_string(coinbase)
| ~~~~~~~~~^~~~~~~~~~
In file included from /usr/include/c++/11/string:55,
from /usr/include/c++/11/bits/locale_classes.h:40,
from /usr/include/c++/11/bits/ios_base.h:41,
from /usr/include/c++/11/ios:42,
from /usr/include/c++/11/ostream:38,
from /usr/include/c++/11/iostream:39,
from /home/xmrchain/xmrchain_emission/src/MicroCore.h:8,
from /home/xmrchain/xmrchain_emission/src/CurrentBlockchainStatus.h:8,
from /home/xmrchain/xmrchain_emission/src/CurrentBlockchainStatus.cpp:5:
/usr/include/c++/11/bits/basic_string.h:6660:3: note: candidate: ‘std::string std::__cxx11::to_string(int)’
6660 | to_string(int __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6660:17: note: no known conversion for argument 1 from ‘const uint128_t’ {aka ‘const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘int’
6660 | to_string(int __val)
| ~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6671:3: note: candidate: ‘std::string std::__cxx11::to_string(unsigned int)’
6671 | to_string(unsigned __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6671:22: note: no known conversion for argument 1 from ‘const uint128_t’ {aka ‘const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘unsigned int’
6671 | to_string(unsigned __val)
| ~~~~~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6679:3: note: candidate: ‘std::string std::__cxx11::to_string(long int)’
6679 | to_string(long __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6679:18: note: no known conversion for argument 1 from ‘const uint128_t’ {aka ‘const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘long int’
6679 | to_string(long __val)
| ~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6690:3: note: candidate: ‘std::string std::__cxx11::to_string(long unsigned int)’
6690 | to_string(unsigned long __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6690:27: note: no known conversion for argument 1 from ‘const uint128_t’ {aka ‘const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘long unsigned int’
6690 | to_string(unsigned long __val)
| ~~~~~~~~~~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6698:3: note: candidate: ‘std::string std::__cxx11::to_string(long long int)’
6698 | to_string(long long __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6698:23: note: no known conversion for argument 1 from ‘const uint128_t’ {aka ‘const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘long long int’
6698 | to_string(long long __val)
| ~~~~~~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6710:3: note: candidate: ‘std::string std::__cxx11::to_string(long long unsigned int)’
6710 | to_string(unsigned long long __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6710:32: note: no known conversion for argument 1 from ‘const uint128_t’ {aka ‘const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘long long unsigned int’
6710 | to_string(unsigned long long __val)
| ~~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6721:3: note: candidate: ‘std::string std::__cxx11::to_string(float)’
6721 | to_string(float __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6721:19: note: no known conversion for argument 1 from ‘const uint128_t’ {aka ‘const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘float’
6721 | to_string(float __val)
| ~~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6730:3: note: candidate: ‘std::string std::__cxx11::to_string(double)’
6730 | to_string(double __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6730:20: note: no known conversion for argument 1 from ‘const uint128_t’ {aka ‘const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘double’
6730 | to_string(double __val)
| ~~~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6739:3: note: candidate: ‘std::string std::__cxx11::to_string(long double)’
6739 | to_string(long double __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6739:25: note: no known conversion for argument 1 from ‘const uint128_t’ {aka ‘const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘long double’
6739 | to_string(long double __val)
| ~~~~~~~~~~~~^~~~~
In file included from /home/xmrchain/xmrchain_emission/src/CurrentBlockchainStatus.cpp:5:
/home/xmrchain/xmrchain_emission/src/CurrentBlockchainStatus.h:45:37: error: no matching function for call to ‘to_string(const uint128_t&)’
45 | + "," + to_string(fee) + "," + to_string(checksum());
| ~~~~~~~~~^~~~~
In file included from /usr/include/c++/11/string:55,
from /usr/include/c++/11/bits/locale_classes.h:40,
from /usr/include/c++/11/bits/ios_base.h:41,
from /usr/include/c++/11/ios:42,
from /usr/include/c++/11/ostream:38,
from /usr/include/c++/11/iostream:39,
from /home/xmrchain/xmrchain_emission/src/MicroCore.h:8,
from /home/xmrchain/xmrchain_emission/src/CurrentBlockchainStatus.h:8,
from /home/xmrchain/xmrchain_emission/src/CurrentBlockchainStatus.cpp:5:
/usr/include/c++/11/bits/basic_string.h:6660:3: note: candidate: ‘std::string std::__cxx11::to_string(int)’
6660 | to_string(int __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6660:17: note: no known conversion for argument 1 from ‘const uint128_t’ {aka ‘const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘int’
6660 | to_string(int __val)
| ~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6671:3: note: candidate: ‘std::string std::__cxx11::to_string(unsigned int)’
6671 | to_string(unsigned __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6671:22: note: no known conversion for argument 1 from ‘const uint128_t’ {aka ‘const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘unsigned int’
6671 | to_string(unsigned __val)
| ~~~~~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6679:3: note: candidate: ‘std::string std::__cxx11::to_string(long int)’
6679 | to_string(long __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6679:18: note: no known conversion for argument 1 from ‘const uint128_t’ {aka ‘const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘long int’
6679 | to_string(long __val)
| ~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6690:3: note: candidate: ‘std::string std::__cxx11::to_string(long unsigned int)’
6690 | to_string(unsigned long __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6690:27: note: no known conversion for argument 1 from ‘const uint128_t’ {aka ‘const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘long unsigned int’
6690 | to_string(unsigned long __val)
| ~~~~~~~~~~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6698:3: note: candidate: ‘std::string std::__cxx11::to_string(long long int)’
6698 | to_string(long long __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6698:23: note: no known conversion for argument 1 from ‘const uint128_t’ {aka ‘const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘long long int’
6698 | to_string(long long __val)
| ~~~~~~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6710:3: note: candidate: ‘std::string std::__cxx11::to_string(long long unsigned int)’
6710 | to_string(unsigned long long __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6710:32: note: no known conversion for argument 1 from ‘const uint128_t’ {aka ‘const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘long long unsigned int’
6710 | to_string(unsigned long long __val)
| ~~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6721:3: note: candidate: ‘std::string std::__cxx11::to_string(float)’
6721 | to_string(float __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6721:19: note: no known conversion for argument 1 from ‘const uint128_t’ {aka ‘const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘float’
6721 | to_string(float __val)
| ~~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6730:3: note: candidate: ‘std::string std::__cxx11::to_string(double)’
6730 | to_string(double __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6730:20: note: no known conversion for argument 1 from ‘const uint128_t’ {aka ‘const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘double’
6730 | to_string(double __val)
| ~~~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6739:3: note: candidate: ‘std::string std::__cxx11::to_string(long double)’
6739 | to_string(long double __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6739:25: note: no known conversion for argument 1 from ‘const uint128_t’ {aka ‘const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘long double’
6739 | to_string(long double __val)
| ~~~~~~~~~~~~^~~~~
In file included from /home/xmrchain/xmrchain_emission/src/CurrentBlockchainStatus.cpp:5:
/home/xmrchain/xmrchain_emission/src/CurrentBlockchainStatus.h:45:60: error: no matching function for call to ‘to_string(boost::multiprecision::uint128_t)’
45 | + "," + to_string(fee) + "," + to_string(checksum());
| ~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/c++/11/string:55,
from /usr/include/c++/11/bits/locale_classes.h:40,
from /usr/include/c++/11/bits/ios_base.h:41,
from /usr/include/c++/11/ios:42,
from /usr/include/c++/11/ostream:38,
from /usr/include/c++/11/iostream:39,
from /home/xmrchain/xmrchain_emission/src/MicroCore.h:8,
from /home/xmrchain/xmrchain_emission/src/CurrentBlockchainStatus.h:8,
from /home/xmrchain/xmrchain_emission/src/CurrentBlockchainStatus.cpp:5:
/usr/include/c++/11/bits/basic_string.h:6660:3: note: candidate: ‘std::string std::__cxx11::to_string(int)’
6660 | to_string(int __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6660:17: note: no known conversion for argument 1 from ‘boost::multiprecision::uint128_t’ {aka ‘boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘int’
6660 | to_string(int __val)
| ~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6671:3: note: candidate: ‘std::string std::__cxx11::to_string(unsigned int)’
6671 | to_string(unsigned __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6671:22: note: no known conversion for argument 1 from ‘boost::multiprecision::uint128_t’ {aka ‘boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘unsigned int’
6671 | to_string(unsigned __val)
| ~~~~~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6679:3: note: candidate: ‘std::string std::__cxx11::to_string(long int)’
6679 | to_string(long __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6679:18: note: no known conversion for argument 1 from ‘boost::multiprecision::uint128_t’ {aka ‘boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘long int’
6679 | to_string(long __val)
| ~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6690:3: note: candidate: ‘std::string std::__cxx11::to_string(long unsigned int)’
6690 | to_string(unsigned long __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6690:27: note: no known conversion for argument 1 from ‘boost::multiprecision::uint128_t’ {aka ‘boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘long unsigned int’
6690 | to_string(unsigned long __val)
| ~~~~~~~~~~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6698:3: note: candidate: ‘std::string std::__cxx11::to_string(long long int)’
6698 | to_string(long long __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6698:23: note: no known conversion for argument 1 from ‘boost::multiprecision::uint128_t’ {aka ‘boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘long long int’
6698 | to_string(long long __val)
| ~~~~~~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6710:3: note: candidate: ‘std::string std::__cxx11::to_string(long long unsigned int)’
6710 | to_string(unsigned long long __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6710:32: note: no known conversion for argument 1 from ‘boost::multiprecision::uint128_t’ {aka ‘boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘long long unsigned int’
6710 | to_string(unsigned long long __val)
| ~~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6721:3: note: candidate: ‘std::string std::__cxx11::to_string(float)’
6721 | to_string(float __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6721:19: note: no known conversion for argument 1 from ‘boost::multiprecision::uint128_t’ {aka ‘boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘float’
6721 | to_string(float __val)
| ~~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6730:3: note: candidate: ‘std::string std::__cxx11::to_string(double)’
6730 | to_string(double __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6730:20: note: no known conversion for argument 1 from ‘boost::multiprecision::uint128_t’ {aka ‘boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘double’
6730 | to_string(double __val)
| ~~~~~~~^~~~~
/usr/include/c++/11/bits/basic_string.h:6739:3: note: candidate: ‘std::string std::__cxx11::to_string(long double)’
6739 | to_string(long double __val)
| ^~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6739:25: note: no known conversion for argument 1 from ‘boost::multiprecision::uint128_t’ {aka ‘boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >’} to ‘long double’
6739 | to_string(long double __val)
| ~~~~~~~~~~~~^~~~~
make[2]: *** [src/CMakeFiles/myxrm.dir/build.make:132: src/CMakeFiles/myxrm.dir/CurrentBlockchainStatus.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:248: src/CMakeFiles/myxrm.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
I will have a look on Ubuntu. It works on Gentoo.
I pushed an update, and in my tests it works on ubuntu 22.
i can't see where the update was pushed.... is it on the emission branch? (sorry for my poor git skills)
ah its in the devel branch. compiling that now...
devel
branch.
https://github.com/moneroexamples/onion-monero-blockchain-explorer/issues/313