Jump to content

Compiling Denarius Daemon and QT in Fedora 33?


buzzkillb
 Share

Recommended Posts

Wondering if anyone has been able to compile the daemon and/or QT in Fedora and not had a segfault near the end of syncing. This is what I have tried.

Deamon

sudo dnf install make automake gcc gcc-c++ kernel-devel boost-devel libtool zlib-devel libevent-devel libcurl-devel libdb-devel libdb-cxx-devel miniupnpc miniupnpc-devel

wget https://ftp.openssl.org/source/old/1.0.1/openssl-1.0.1j.tar.gz
tar -xzvf openssl-1.0.1j.tar.gz
cd openssl-1.0.1j
./config
make depend
make
sudo make install
sudo ln -sf /usr/local/ssl/bin/openssl `which openssl`
cd ~
openssl version -v

wget -O boost_1_58_0.tar.gz https://sourceforge.net/projects/boost/files/boost/1.58.0/boost_1_58_0.tar.gz/download
tar xzvf boost_1_58_0.tar.gz
cd boost_1_58_0/
./bootstrap.sh --prefix=/usr/local
./b2
sudo ./b2 install
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/boost.conf'
sudo ldconfig

BOOST_INCLUDE_PATH=/usr/local/include/boost BOOST_LIB_PATH=/usr/local/lib OPENSSL_INCLUDE_PATH=/usr/local/ssl/include OPENSSL_LIB_PATH=/usr/local/ssl/lib make -f makefile.unix USE_NATIVETOR=- -j6

QT

sudo dnf install qt5-qtbase qt5-qtbase-devel qt5-qttools qt5-qttools-devel qt5-qttools-common qrencode-devel protobuf-devel

change line 9 in src/qt/trafficgraphwidget.cpp so it looks like

// Copyright (c) 2011-2013 The Bitcoin developers
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#include "trafficgraphwidget.h"
#include "clientmodel.h"

#include <QPainter>
#include <QPainterPath>
#include <QColor>
#include <QTimer>

Then compile

qmake-qt5 "USE_UPNP=1" "USE_QRCODE=1" BOOST_INCLUDE_PATH=/usr/local/include/boost BOOST_LIB_PATH=/usr/local/lib OPENSSL_INCLUDE_PATH=/usr/local/ssl/include OPENSSL_LIB_PATH=/usr/local/ssl/lib denarius-qt.pro USE_NATIVETOR=-
make -j6

But segfaults on a reorg or something when the sync to current block happens. Arch and Ubuntu 20.04 do the same thing.

  • Like 1
Link to comment
Share on other sites

Tried gdb on Denarius (QT). Not sure how to use this but this is what it looks like.

64 qrencode-libs-4.0.2-6.fc33.x86_64 qt5-qtbase-5.15.2-2.fc33.x86_64 qt5-qtbase-gui-5.15.2-2.fc33.x86_64 systemd-libs-246.6-3.fc33.x86_64 zlib-1.2.11-23.fc33.x86_64
--Type <RET> for more, q to quit, c to continue without paging--

Thread 30 "denarius-msghan" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff47eb5640 (LWP 95674)]
0x00000000008a0000 in CFortunaStake::SetPayRate(int) ()
(gdb) bt
#0  0x00000000008a0000 in CFortunaStake::SetPayRate(int) ()
#1  0x00000000008ab41b in CFortunaPayments::update(CBlockIndex const*, bool) ()
#2  0x00000000008abdc0 in GetFortunastakeRanks(CBlockIndex*) ()
#3  0x0000000000618bef in CBlock::SetBestChain(CTxDB&, CBlockIndex*) ()
#4  0x0000000000619c42 in CBlock::AddToBlockIndex(unsigned int, unsigned int, uint256 const&) ()
#5  0x000000000061b2e7 in CBlock::AcceptBlock() ()
#6  0x000000000061bb75 in ProcessBlock(CNode*, CBlock*) ()
#7  0x000000000061faf4 in ProcessMessage(CNode*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CDataStream&, long) ()
#8  0x00000000006222d4 in ProcessMessages(CNode*) ()
#9  0x0000000000676614 in ThreadMessageHandler2(void*) ()
#10 0x0000000000676958 in ThreadMessageHandler(void*) ()
#11 0x00007ffff7bd687f in thread_proxy () from /usr/local/lib/libboost_thread.so.1.58.0
#12 0x00007ffff7b8f3f9 in start_thread () from /lib64/libpthread.so.0
#13 0x00007ffff61fb903 in clone () from /lib64/libc.so.6
(gdb)

 

  • Like 1
Link to comment
Share on other sites

6 minutes ago, buzzkillb said:

Tried gdb on Denarius (QT). Not sure how to use this but this is what it looks like.

64 qrencode-libs-4.0.2-6.fc33.x86_64 qt5-qtbase-5.15.2-2.fc33.x86_64 qt5-qtbase-gui-5.15.2-2.fc33.x86_64 systemd-libs-246.6-3.fc33.x86_64 zlib-1.2.11-23.fc33.x86_64
--Type <RET> for more, q to quit, c to continue without paging--

Thread 30 "denarius-msghan" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff47eb5640 (LWP 95674)]
0x00000000008a0000 in CFortunaStake::SetPayRate(int) ()
(gdb) bt
#0  0x00000000008a0000 in CFortunaStake::SetPayRate(int) ()
#1  0x00000000008ab41b in CFortunaPayments::update(CBlockIndex const*, bool) ()
#2  0x00000000008abdc0 in GetFortunastakeRanks(CBlockIndex*) ()
#3  0x0000000000618bef in CBlock::SetBestChain(CTxDB&, CBlockIndex*) ()
#4  0x0000000000619c42 in CBlock::AddToBlockIndex(unsigned int, unsigned int, uint256 const&) ()
#5  0x000000000061b2e7 in CBlock::AcceptBlock() ()
#6  0x000000000061bb75 in ProcessBlock(CNode*, CBlock*) ()
#7  0x000000000061faf4 in ProcessMessage(CNode*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CDataStream&, long) ()
#8  0x00000000006222d4 in ProcessMessages(CNode*) ()
#9  0x0000000000676614 in ThreadMessageHandler2(void*) ()
#10 0x0000000000676958 in ThreadMessageHandler(void*) ()
#11 0x00007ffff7bd687f in thread_proxy () from /usr/local/lib/libboost_thread.so.1.58.0
#12 0x00007ffff7b8f3f9 in start_thread () from /lib64/libpthread.so.0
#13 0x00007ffff61fb903 in clone () from /lib64/libc.so.6
(gdb)

 

Hmmmm I will have to investigate this further but seems to be getting caught up on something within the FortunaStake SetPayRate function

  • Like 1

Founder of BlockForums.org - PM me for any help - Join our Discord Server: https://discord.gg/UPpQy3n

100703395-b1ee6600-3360-11eb-82bc-96818c

Link to comment
Share on other sites

  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...