Problem compiling steem node on Ubuntu 16.04

in #steem-help7 years ago

Hi all you smart computer folks out there, I wonder if anybody could help me out with some insight into this problem I'm having. I'm trying to compile steem on my new machine; I have a 4.0 Kaby Lake i3 processor, 8 GB DDR4 RAM, a 1 TB HDD, and I'm running a brand-new install of (what I believe to be) vanilla Ubuntu 16.04 LTS. I've only had this machine for a few weeks, so I haven't really done anything interesting to it that I would expect to cause problems, so I'm a little perplexed at this.

I ran apt-get upgrade, I installed all the necessary stuff that various people said to install, I cloned the git repo, did that git submodule update --init --recursive command, ran cmake -DCMAKE_BUILD_TYPE=Release, and then when I ran make steemd, it got all the way through everything and then gave me this error:

../../libraries/fc/libfc.a(websocket.cpp.o): In function `boost::asio::ssl::context::context(boost::asio::ssl::context_base::method)':
websocket.cpp:(.text._ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE[_ZN5boost4asio3ssl7contextC5ENS1_12context_base6methodE]+0x70): undefined reference to `SSLv2_method'
websocket.cpp:(.text._ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE[_ZN5boost4asio3ssl7contextC5ENS1_12context_base6methodE]+0x8c): undefined reference to `SSLv2_client_method'
websocket.cpp:(.text._ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE[_ZN5boost4asio3ssl7contextC5ENS1_12context_base6methodE]+0xa8): undefined reference to `SSLv2_server_method'
collect2: error: ld returned 1 exit status
programs/steemd/CMakeFiles/steemd.dir/build.make:150: recipe for target 'programs/steemd/steemd' failed
make[3]: *** [programs/steemd/steemd] Error 1
CMakeFiles/Makefile2:2781: recipe for target 'programs/steemd/CMakeFiles/steemd.dir/all' failed
make[2]: *** [programs/steemd/CMakeFiles/steemd.dir/all] Error 2
CMakeFiles/Makefile2:2793: recipe for target 'programs/steemd/CMakeFiles/steemd.dir/rule' failed
make[1]: *** [programs/steemd/CMakeFiles/steemd.dir/rule] Error 2
Makefile:747: recipe for target 'steemd' failed
make: *** [steemd] Error 2

So no steemd. Anybody have any idea where I can look to fix those undefined reference to ``SSLv2_server_method' things?

Sort:  

Update for anyone who finds this article someday with a similar problem:

The issue was Anaconda. I don't know which particular packages that came with anaconda were causing me problems, but once I removed Anaconda completely, the issue went away. Now steem compiles like a dream!

You need to either get or make sure you have the right boost library. I had issues with it finding the wrong version.

ok, will investigate. Is the "right" boost library anything more complicated than the most up-to-date one?

Using boost v1.57.0 should be fine, although I think next release of Steem might require upgraded boost library...

wget http://downloads.sourceforge.net/project/boost/boost/1.57.0/boost_1_57_0.tar.bz2
tar xvjf ./boost_1_57_0.tar.bz2
./bootstrap.sh --prefix=/opt/boost_1_57_0
sudo ./b2
sudo ./b2 install
export BOOST_ROOT=/opt/boost_1_57_0
cmake -DBOOST_ROOT="$BOOST_ROOT" -DCMAKE_BUILD_TYPE=Release .

Thanks. I had boost 1.58.0 already, but built 1.60.0 just to be safe. Same error. I'm going to try building on a clean Ubuntu 16.04 install on a VM and see if that works; there must be some other software I put on my machine that's messing it up.

Yes. If you do a search for how to be a witness or mining it should turn up.

If I remember correctly, you have to get the correct ssl library.

Speaking of problems, I can't uninstall iScan off Ubuntu.

Coin Marketplace

STEEM 0.18
TRX 0.14
JST 0.030
BTC 57983.59
ETH 3132.93
USDT 1.00
SBD 2.44