Yes, I can compile it. The reason I asked was because most users either aren't savvy enough to compile their own wallets or simply want to download & run it which makes adoption much easier & quicker. Why release binaries for windows when people can compile their own from source then?
Edit: I take that back - compile fails on Linux (Xubuntu) 64bit. I guess this is why there are no binaries.
Has anyone managed to successfully build this from source?
compiling works fine on ubuntu 16.04 with the guide here:
https://medium.com/@BlockchainFoundry/syscoin-3-0-masternode-setup-instructions-572576c7163fcheers
That might work for a fresh install on a vps, but it doesn't work on my system with various other wallets installed for some reason. I kept getting a boost error as soon as the compile got to CXXLD syscoind:
libsyscoin_wallet.a(libsyscoin_wallet_a-wallet.o): In function copy_file':
/usr/include/boost/filesystem/operations.hpp:539: undefined reference to boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::detail::copy_option, boost::system::error_code*)'
libsyscoin_wallet.a(libsyscoin_wallet_a-wallet.o): In function pathboost::filesystem::directory_entry':
/usr/include/boost/filesystem/path.hpp:144: undefined reference to boost::filesystem::path_traits::dispatch(boost::filesystem::directory_entry const&, std::string&)'
libsyscoin_wallet.a(libsyscoin_wallet_a-wallet.o): In function `copy_file':
/usr/include/boost/filesystem/operations.hpp:544: undefined reference to boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::detail::copy_option, boost::system::error_code*)'
libsyscoin_util.a(libsyscoin_util_a-utiltime.o): In function sleep_for':
/usr/include/boost/thread/pthread/thread_data.hpp:258: undefined reference to boost::this_thread::hidden::sleep_for(timespec const&)'
collect2: error: ld returned 1 exit status
make[2]: *** [syscoind] Error 1
I'm no coder or expert, but from what I could gather it seems that the compile has trouble detecting boost files properly for some reason & after searching around I noticed similar reports on your SYS github page. Instead of upgrading the boost files as was (wrongly) suggested there, I decided to try a separate boost installation & point the syscoin compile to that unused (& latest) boost install. This would also eliminate the risk of breaking any other programs that were reliant on the older boost files - hey presto - the compile completed successfully!
For anyone else having similar issues, here's what I did:
1) Download the latest boost to the home directory (v1.66 at this time)
wget -O boost_1_66_0.tar.gz https://sourceforge.net/projects/boost/files/boost/1.66.0/boost_1_66_0.tar.gz/download
2) Unzip it in the same directory
tar xzvf boost_1_66_0.tar.gz
3) Enter the unzipped directory
cd boost_1_66_0/
4) Run bootstrap setup
./bootstrap.sh --prefix=/usr/
5) Build it
./b2
6) Install it
sudo ./b2 install
7) Enter git cloned syscoin folder
cd
cd syscoin
Compile using the following configuration (
Important: replace USER_NAME with your user name in the "./configure" script)
chmod +x autogen.sh
chmod +x share/genbuild.sh
chmod +x src/leveldb/build_detect_platform
./autogen.sh
./configure --disable-tests --without-gui --with-boost-libdir=/home/USER_NAME/boost_1_66_0/stage/lib/
make
This "should" build your headless syscoind & syscoin-cli successfully using the latest boost allocated to it in your home directory. I've not tried this method to build the QT version as I don't use it, but you can just remove the "--without-gui" command in the configure script to try it out if you want to.
This was the
only way I could compile the SYS wallet after spending hours messing around with it, trying different options. I've no idea why SYS is the only wallet that requires this, especially as all previous syscoin2 versions compiled fine & I have over 20 other wallets compiled & running on this same machine without issue, but I'll leave that up to the devs to explore - like I said earlier, I'm no coder or expert.
I hope this helps anyone else who's having problems - feel free to copy/paste/link to it on your github page, maybe it will help those who are having the same problem, I don't have an account there so can't post it.