BitShares Forum

Other => Graveyard => BitShares PTS => Topic started by: rando on November 04, 2013, 09:05:07 pm

Title: Mining on Linux instructions?
Post by: rando on November 04, 2013, 09:05:07 pm
Can someone help me figure how to mine Protoshares on Linux (Debian/Ubuntu) please? Here is what I think I know so far:

# Install dependencies
sudo apt-get install build-essential
sudo apt-get install libssl-dev

# Download
git clone https://github.com/InvictusInnovations/ProtoShares.git protoshares
cd protoshares

# Compile
cd src
make -f makefile.unix protosharesd

# Usage
protosharesd start
protosharesd stop
protosharesd --help

What dependencies are needed?
Do I need to add/alter a configuration anywhere (port, etc)?
How do I generate a protoshares public/private key pair and set it to send the mining proceeds to that address?
How do I configure UFW (uncomplicated firewall) for P2P software like this? Deny all TCP and allow xxx UDP?
How can I see that it's working?
Title: Re: Mining on Linux instructions?
Post by: bytemaster on November 04, 2013, 09:14:27 pm
Assuming all dependencies are installed....

qmake-qt4  protosharesd.pro
make

More details will follow...
Title: Re: Mining on Linux instructions?
Post by: bytemaster on November 04, 2013, 09:21:31 pm
Here is the relevant subset of my command history for setting up a fresh Digital Ocean machine:

    2   apt-get install git
    5   apt-get install qt4
    9   apt-get install libboost-all-dev
   15  apt-get install qt4-dev-tools libqt4-dev libqt4-core libqt4-gui
   18  apt-get install make
   20  apt-get install libssl-dev
   24  apt-get install libdb-dev
   28  apt-get install libdb++-dev
   34  wget http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.5.tar.gz
   35  mv download.php\?file\=miniupnpc-1.5.tar.gz  miniupnpc-1.5.tar.gz
   36  tar -xzvf miniupnpc-1.5.tar.gz
   37  cd miniupnpc-1.5/
   39  make
   40  make install
     
   11  git clone https://github.com/InvictusInnovations/ProtoShares.git
   12  cd ProtoShares/
   16  qmake-qt4 protosharesd.pro
   29  make
   30  make -j2
   31  export LC_ALL=C 

    ./protosharesd .................
Title: Re: Mining on Linux instructions?
Post by: rando on November 04, 2013, 10:01:13 pm
Fantastic. I'll give that a try. Would you be able to answer my other questions too please?

1.) Do I need to alter any configuration settings (port #, etc) before running it?
2.) How do I generate a Protoshares public/private key pair and set it to send the mining proceeds to that address?
3.) What are the correct firewall setting for this? (Deny all, allow 3888 out only?)
4.) How can I verify that it's working?

Thanks!
Title: Re: Mining on Linux instructions?
Post by: bytemaster on November 04, 2013, 10:05:36 pm
As far as I know it operates just like Bitcoin.  FreeTrade set this up and the only changes from Bitcoin 8.5 are to the proof of work and mining rewards. 

You should be able to use the command line API to report your hash rate and report the number of connected nodes and block depth. 

As far as ports go... 3888 simply replaced bitcoins default port.
Title: Re: Mining on Linux instructions?
Post by: rando on November 04, 2013, 10:10:55 pm
Okay. Thanks!
Title: Re: Mining on Linux instructions?
Post by: Pairmike on November 04, 2013, 10:41:54 pm
I'm failing with the following error when executing --- 'line 29 make' from the instructions.  Ironically, I got the same error will trying to build this with MinWG on Windows.
 
home/mike/ProtoShares/src/rpcwallet.cpp:77: undefined reference to `nBestHeight'
/home/mike/ProtoShares/src/rpcwallet.cpp:85: undefined reference to `nTransactionFee'
/home/mike/ProtoShares/src/rpcwallet.cpp:88: undefined reference to `GetWarnings(std::string)'
build/rpcwallet.o: In function `signmessage(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcwallet.cpp:338: undefined reference to `strMessageMagic'
build/rpcwallet.o: In function `verifymessage(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcwallet.cpp:374: undefined reference to `strMessageMagic'
build/rpcwallet.o: In function `ListTransactions(CWalletTx const&, std::string const&, int, bool, std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > >&)':
/home/mike/ProtoShares/src/rpcwallet.cpp:987: undefined reference to `CMerkleTx::GetBlocksToMaturity() const'
build/rpcwallet.o: In function `listsinceblock(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcwallet.cpp:1154: undefined reference to `nBestHeight'
/home/mike/ProtoShares/src/rpcwallet.cpp:1170: undefined reference to `hashBestChain'
/home/mike/ProtoShares/src/rpcwallet.cpp:1170: undefined reference to `hashBestChain'
/home/mike/ProtoShares/src/rpcwallet.cpp:1170: undefined reference to `hashBestChain'
/home/mike/ProtoShares/src/rpcwallet.cpp:1170: undefined reference to `hashBestChain'
/home/mike/ProtoShares/src/rpcwallet.cpp:1174: undefined reference to `pindexBest'
/home/mike/ProtoShares/src/rpcwallet.cpp:1177: undefined reference to `pindexBest'
build/rpcwallet.o: In function `CBlockLocator::CBlockLocator(uint256)':
/home/mike/ProtoShares/src/main.h:1979: undefined reference to `mapBlockIndex'
/home/mike/ProtoShares/src/main.h:1980: undefined reference to `mapBlockIndex'
build/rpcblockchain.o: In function `GetDifficulty(CBlockIndex const*)':
/home/mike/ProtoShares/src/rpcblockchain.cpp:20: undefined reference to `pindexBest'
/home/mike/ProtoShares/src/rpcblockchain.cpp:23: undefined reference to `pindexBest'
build/rpcblockchain.o: In function `blockToJSON(CBlock const&, CBlockIndex const*)':
/home/mike/ProtoShares/src/rpcblockchain.cpp:49: undefined reference to `CBlockHeader::GetHash() const'
/home/mike/ProtoShares/src/rpcblockchain.cpp:51: undefined reference to `CMerkleTx::SetMerkleBranch(CBlock const*)'
build/rpcblockchain.o: In function `getblockcount(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcblockchain.cpp:81: undefined reference to `nBestHeight'
build/rpcblockchain.o: In function `settxfee(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcblockchain.cpp:108: undefined reference to `nTransactionFee'
build/rpcblockchain.o: In function `getrawmempool(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcblockchain.cpp:120: undefined reference to `mempool'
/home/mike/ProtoShares/src/rpcblockchain.cpp:120: undefined reference to `CTxMemPool::queryHashes(std::vector<uint256, std::allocator<uint256> >&)'
build/rpcblockchain.o: In function `getblockhash(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcblockchain.cpp:137: undefined reference to `nBestHeight'
/home/mike/ProtoShares/src/rpcblockchain.cpp:140: undefined reference to `FindBlockByHeight(int)'
build/rpcblockchain.o: In function `getblock(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcblockchain.cpp:154: undefined reference to `mapBlockIndex'
/home/mike/ProtoShares/src/rpcblockchain.cpp:158: undefined reference to `mapBlockIndex'
/home/mike/ProtoShares/src/rpcblockchain.cpp:159: undefined reference to `CBlock::ReadFromDisk(CBlockIndex const*)'
build/rpcblockchain.o: In function `gettxoutsetinfo(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcblockchain.cpp:174: undefined reference to `pcoinsTip'
/home/mike/ProtoShares/src/rpcblockchain.cpp:174: undefined reference to `pcoinsTip'
build/rpcblockchain.o: In function `gettxout(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcblockchain.cpp:204: undefined reference to `mempool'
/home/mike/ProtoShares/src/rpcblockchain.cpp:205: undefined reference to `pcoinsTip'
/home/mike/ProtoShares/src/rpcblockchain.cpp:205: undefined reference to `mempool'
/home/mike/ProtoShares/src/rpcblockchain.cpp:205: undefined reference to `CCoinsViewMemPool::CCoinsViewMemPool(CCoinsView&, CTxMemPool&)'
/home/mike/ProtoShares/src/rpcblockchain.cpp:206: undefined reference to `CCoinsViewMemPool::GetCoins(uint256 const&, CCoins&)'
/home/mike/ProtoShares/src/rpcblockchain.cpp:208: undefined reference to `mempool'
/home/mike/ProtoShares/src/rpcblockchain.cpp:208: undefined reference to `CTxMemPool::pruneSpent(uint256 const&, CCoins&)'
/home/mike/ProtoShares/src/rpcblockchain.cpp:210: undefined reference to `pcoinsTip'
/home/mike/ProtoShares/src/rpcblockchain.cpp:210: undefined reference to `pcoinsTip'
/home/mike/ProtoShares/src/rpcblockchain.cpp:216: undefined reference to `pcoinsTip'
/home/mike/ProtoShares/src/rpcblockchain.cpp:216: undefined reference to `pcoinsTip'
/home/mike/ProtoShares/src/rpcblockchain.cpp:220: undefined reference to `pcoinsTip'
build/rpcblockchain.o:/home/mike/ProtoShares/src/rpcblockchain.cpp:220: more undefined references to `pcoinsTip' follow
build/rpcblockchain.o: In function `CCoinsView::~CCoinsView()':
/home/mike/ProtoShares/src/main.h:2166: undefined reference to `vtable for CCoinsView'
build/rpcblockchain.o: In function `CCoinsViewBacked::~CCoinsViewBacked()':
/home/mike/ProtoShares/src/main.h:2170: undefined reference to `vtable for CCoinsViewBacked'
build/rpcblockchain.o: In function `CCoinsViewMemPool::~CCoinsViewMemPool()':
/home/mike/ProtoShares/src/main.h:2223: undefined reference to `vtable for CCoinsViewMemPool'
build/rpcrawtransaction.o: In function `TxToJSON(CTransaction const&, uint256, std::vector<json_spirit::Pair_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Pair_impl<json_spirit::Config_vector<std::string> > > >&)':
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:119: undefined reference to `mapBlockIndex'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:120: undefined reference to `mapBlockIndex'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:125: undefined reference to `nBestHeight'
build/rpcrawtransaction.o: In function `getrawtransaction(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:153: undefined reference to `GetTransaction(uint256 const&, CTransaction&, uint256&, bool)'
build/rpcrawtransaction.o: In function `signrawtransaction(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:382: undefined reference to `CCoinsViewCache::CCoinsViewCache(CCoinsView&, bool)'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:384: undefined reference to `mempool'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:385: undefined reference to `pcoinsTip'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:386: undefined reference to `mempool'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:386: undefined reference to `CCoinsViewMemPool::CCoinsViewMemPool(CCoinsView&, CTxMemPool&)'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:387: undefined reference to `CCoinsViewBacked::SetBackend(CCoinsView&)'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:392: undefined reference to `CCoinsViewCache::GetCoins(uint256 const&, CCoins&)'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:395: undefined reference to `CCoinsViewBacked::SetBackend(CCoinsView&)'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:443: undefined reference to `CCoinsViewCache::GetCoins(uint256 const&, CCoins&)'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:456: undefined reference to `CCoinsViewCache::SetCoins(uint256 const&, CCoins const&)'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:502: undefined reference to `CCoinsViewCache::GetCoins(uint256 const&, CCoins&)'
build/rpcrawtransaction.o: In function `sendrawtransaction(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:554: undefined reference to `pcoinsTip'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:561: undefined reference to `CTransaction::AcceptToMemoryPool(CValidationState&, bool, bool, bool*)'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:571: undefined reference to `SyncWithWallets(uint256 const&, CTransaction const&, CBlock const*, bool)'
build/rpcrawtransaction.o: In function `CCoinsView::CCoinsView()':
/home/mike/ProtoShares/src/main.h:2140: undefined reference to `vtable for CCoinsView'
build/rpcrawtransaction.o: In function `CCoinsViewCache::~CCoinsViewCache()':
/home/mike/ProtoShares/src/main.h:2188: undefined reference to `vtable for CCoinsViewCache'
build/protocol.o: In function `CMessageHeader::CMessageHeader()':
/home/mike/ProtoShares/src/protocol.cpp:25: undefined reference to `pchMessageStart'
build/protocol.o: In function `CMessageHeader::CMessageHeader(char const*, unsigned int)':
/home/mike/ProtoShares/src/protocol.cpp:34: undefined reference to `pchMessageStart'
build/protocol.o: In function `CMessageHeader::IsValid() const':
/home/mike/ProtoShares/src/protocol.cpp:51: undefined reference to `pchMessageStart'
build/txdb.o: In function `CCoinsViewDB::GetBestBlock()':
/home/mike/ProtoShares/src/txdb.cpp:44: undefined reference to `mapBlockIndex'
/home/mike/ProtoShares/src/txdb.cpp:45: undefined reference to `mapBlockIndex'
build/txdb.o: In function `CBlockTreeDB::LoadBlockIndexGuts()':
/home/mike/ProtoShares/src/txdb.cpp:211: undefined reference to `InsertBlockIndex(uint256)'
/home/mike/ProtoShares/src/txdb.cpp:212: undefined reference to `InsertBlockIndex(uint256)'
/home/mike/ProtoShares/src/txdb.cpp:226: undefined reference to `pindexGenesisBlock'
/home/mike/ProtoShares/src/txdb.cpp:226: undefined reference to `hashGenesisBlock'
/home/mike/ProtoShares/src/txdb.cpp:227: undefined reference to `pindexGenesisBlock'
build/txdb.o: In function `CTxOutCompressor::GetSerializeSize(int, int) const':
/home/mike/ProtoShares/src/main.h:687: undefined reference to `CTxOutCompressor::CompressAmount(unsigned long long)'
build/txdb.o: In function `CBlockIndex::CheckIndex() const':
/home/mike/ProtoShares/src/main.h:1766: undefined reference to `CheckProofOfWork(uint256, unsigned int)'
build/txdb.o: In function `CDiskBlockIndex::GetBlockHash() const':
/home/mike/ProtoShares/src/main.h:1885: undefined reference to `CBlockHeader::GetHash() const'
build/txdb.o: In function `void CTxOutCompressor::Unserialize<CDataStream>(CDataStream&, int, int)':
/home/mike/ProtoShares/src/main.h:687: undefined reference to `CTxOutCompressor::DecompressAmount(unsigned long long)'
build/txdb.o: In function `void CTxOutCompressor::Serialize<CDataStream>(CDataStream&, int, int) const':
/home/mike/ProtoShares/src/main.h:687: undefined reference to `CTxOutCompressor::CompressAmount(unsigned long long)'
build/txdb.o:(.rodata._ZTI12CCoinsViewDB[_ZTI12CCoinsViewDB]+0x10): undefined reference to `typeinfo for CCoinsView'
collect2: error: ld returned 1 exit status
make: *** [protosharesd] Error 1
Title: Re: Mining on Linux instructions?
Post by: bytemaster on November 04, 2013, 11:01:59 pm
Very interesting error... looks like something didn't link.

I just followed the steps above and everything built for me.  Only thing I changed was installing boost 1.54 from source rather than using the built in version.
Title: Re: Mining on Linux instructions?
Post by: educatedwarrior on November 05, 2013, 12:18:49 am
bytemaster, when you created your droplet in digital ocean what parameters did you use?  Maybe that has something to do with it.
Title: Re: Mining on Linux instructions?
Post by: Amazon on November 05, 2013, 12:43:12 am
I compiled src from makefile.unix, got bitcoind.

when I tried to run it, got following
Code: [Select]
bitcoind: main.cpp:2839: bool InitBlockIndex(): Assertion `hash == hashGenesisBlock' failed.
Aborted (core dumped)

Am I on the good track?

Even I changed system time, it still give me same error. I just want to test speed.
Title: Re: Mining on Linux instructions?
Post by: bytemaster on November 05, 2013, 12:49:36 am
You are on the right track... once we publish the proper commit you will be good to go.
Title: Re: Mining on Linux instructions?
Post by: bytemaster on November 05, 2013, 12:50:56 am
bytemaster, when you created your droplet in digital ocean what parameters did you use?  Maybe that has something to do with it.

2 GB 2 Core.
Title: Re: Mining on Linux instructions?
Post by: lib on November 05, 2013, 12:58:33 am
I got the same error in mac. Waiting for pull ;)
Is "./bitcoind -gen -daemon &"  the right command to go?
Do we need some special configuration in "protoshares.conf"?
Title: Re: Mining on Linux instructions?
Post by: bytemaster on November 05, 2013, 01:04:02 am
The only thing I can vouch for is protsharesd.pro  using qmake. 

Mining will not work unless you can connect to a network so it is hard to do a speed test :).

I will post a benchmark tool for everyone here in a bit :)
Title: Re: Mining on Linux instructions?
Post by: Pairmike on November 05, 2013, 01:10:16 am
 bool InitBlockIndex(): Assertion `hash == hashGenesisBlock' failed.

I think I figured it out. 
Title: Re: Mining on Linux instructions?
Post by: rando on November 05, 2013, 03:37:26 am
In case anyone in the future also encounters this error... If you're trying to compile on a 512mb vps to try it out, it will probably fail because not enough memory. You can add swap space to get past that error:

sudo dd if=/dev/zero of=/swapfile bs=64M count=16
sudo mkswap /swapfile
sudo swapon /swapfile
Title: Re: Mining on Linux instructions?
Post by: smith88 on November 05, 2013, 06:46:44 am
The only thing I can vouch for is protsharesd.pro  using qmake. 

Mining will not work unless you can connect to a network so it is hard to do a speed test :).

I will post a benchmark tool for everyone here in a bit :)

Thank you for all the hard work! I've compiled everything, looks great. Minus benchmark tool... :)
Staying up late here, fun times.
Title: Re: Mining on Linux instructions?
Post by: yago on November 05, 2013, 07:25:52 am
Got this error:
protosharesd: src/main.cpp:1810: bool SetBestChain(CValidationState&, CBlockIndex*): Assertion `pfork != __null' failed.

EDIT: Now it works. Done: git clone, qmake protsharesd.pro and make again
Title: Re: Mining on Linux instructions?
Post by: rando on November 05, 2013, 08:06:21 am
How do you know if it's working? I pulled down the new code and ran the make process again, but when I run ./protosharesd, there is no output. Checking top, shows:

0.7% CPU   5.2 MEMORY protosharesd

Is it working?

Title: Re: Mining on Linux instructions?
Post by: bytemaster on November 05, 2013, 08:13:50 am
you need to pass the -gen argument to run from the command line.
Title: Re: Mining on Linux instructions?
Post by: rando on November 05, 2013, 08:30:36 am
Whoa. CPU shot way up to 100%. I'd say it's working now. Thank you.

Is there a command to view the hash rate?
EDIT: The new post below me answers it: ./protosharesd -gethashpersec
Title: Re: Mining on Linux instructions?
Post by: bsamjolake on November 05, 2013, 08:31:26 am
all my cores are maxed out, but is there any way to verify it's mining correctly?

hashespermin in getmininginfo shows 0 and the hashespersec command also shows 0

And is there any way to find out how many blocks you've found other than checking your balance?

./protosharesd getmininginfo
{
    "blocks" : 38,
    "currentblocksize" : 1000,
    "currentblocktx" : 0,
    "difficulty" : 0.00000095,
    "errors" : "",
    "generate" : true,
    "genproclimit" : -1,
    "hashespermin" : 0,
    "pooledtx" : 0,
    "testnet" : false
}

./protosharesd gethashespersec
0

P.S. I love the idea of ProtoShares and BitShares
Title: Re: Mining on Linux instructions?
Post by: bytemaster on November 05, 2013, 08:34:13 am
all my cores are maxed out, but is there any way to verify it's mining correctly?

hashespermin in getmininginfo shows 0 and the hashespersec command also shows 0

And is there any way to find out how many blocks you've found other than checking your balance?

./protosharesd getmininginfo
{
    "blocks" : 38,
    "currentblocksize" : 1000,
    "currentblocktx" : 0,
    "difficulty" : 0.00000095,
    "errors" : "",
    "generate" : true,
    "genproclimit" : -1,
    "hashespermin" : 0,
    "pooledtx" : 0,
    "testnet" : false
}

./protosharesd gethashespersec
0

P.S. I love the idea of ProtoShares and BitShares

There are known bugs in reporting mining performance...  I am checking with FreeTrade about getting those bugs fixed.   If your CPUs are pegged then it is working.

We currently have 159+ connections on the network at one of our seed nodes.
Title: Re: Mining on Linux instructions?
Post by: FreeTrade on November 05, 2013, 08:48:09 am
all my cores are maxed out, but is there any way to verify it's mining correctly?

hashespermin in getmininginfo shows 0 and the hashespersec command also shows 0

And is there any way to find out how many blocks you've found other than checking your balance?

./protosharesd getmininginfo
{
    "blocks" : 38,
    "currentblocksize" : 1000,
    "currentblocktx" : 0,
    "difficulty" : 0.00000095,
    "errors" : "",
    "generate" : true,
    "genproclimit" : -1,
    "hashespermin" : 0,
    "pooledtx" : 0,
    "testnet" : false
}

./protosharesd gethashespersec
0

P.S. I love the idea of ProtoShares and BitShares

Yes, this should work, but takes 4 or 5 minutes before it reports figures.
Title: Re: Mining on Linux instructions?
Post by: rando on November 05, 2013, 08:55:56 am
Which part says how many blocks we've found? currentblocktx? (I'm assuming because it's zero  :))
Title: Re: Mining on Linux instructions?
Post by: bytemaster on November 05, 2013, 09:03:12 am
    "blocks" : 38,


Which is now... 80.   There are 5x as many people mining as we expected so far.
Title: Re: Mining on Linux instructions?
Post by: Amazon on November 05, 2013, 09:06:59 am
I have some difficulty importing a private key. I am sure the private key is correct. QT gives me error.
Title: Re: Mining on Linux instructions?
Post by: smith88 on November 05, 2013, 09:08:13 am
all my cores are maxed out, but is there any way to verify it's mining correctly?

hashespermin in getmininginfo shows 0 and the hashespersec command also shows 0

And is there any way to find out how many blocks you've found other than checking your balance?

./protosharesd getmininginfo
{
    "blocks" : 38,
    "currentblocksize" : 1000,
    "currentblocktx" : 0,
    "difficulty" : 0.00000095,
    "errors" : "",
    "generate" : true,
    "genproclimit" : -1,
    "hashespermin" : 0,
    "pooledtx" : 0,
    "testnet" : false
}

./protosharesd gethashespersec
0

P.S. I love the idea of ProtoShares and BitShares

Yes, this should work, but takes 4 or 5 minutes before it reports figures.

find a block yet? i've been running (from hashespermin) sum of 14.5 or so. no block yet. hah keep digging. :)
Title: Re: Mining on Linux instructions?
Post by: rando on November 05, 2013, 09:10:00 am
    "blocks" : 38,


Which is now... 80.   There are 5x as many people mining as we expected so far.

Oh. I meant how many I have found.
Title: Re: Mining on Linux instructions?
Post by: rando on November 05, 2013, 09:36:41 am
    "blocks" : 38,


Which is now... 80.   There are 5x as many people mining as we expected so far.

Oh. I meant how many I have found.
I found it.

./protosharesd getbalance

shows how many protoshares your miner has generated
Title: Re: Mining on Linux instructions?
Post by: bsamjolake on November 05, 2013, 11:19:33 am
all my cores are maxed out, but is there any way to verify it's mining correctly?

hashespermin in getmininginfo shows 0 and the hashespersec command also shows 0

And is there any way to find out how many blocks you've found other than checking your balance?

./protosharesd getmininginfo
{
    "blocks" : 38,
    "currentblocksize" : 1000,
    "currentblocktx" : 0,
    "difficulty" : 0.00000095,
    "errors" : "",
    "generate" : true,
    "genproclimit" : -1,
    "hashespermin" : 0,
    "pooledtx" : 0,
    "testnet" : false
}

./protosharesd gethashespersec
0

P.S. I love the idea of ProtoShares and BitShares

Yes, this should work, but takes 4 or 5 minutes before it reports figures.

find a block yet? i've been running (from hashespermin) sum of 14.5 or so. no block yet. hah keep digging. :)

Nope.  It'd be real nice to have the hashrate in getmininginfo fixed for Linux.  I'm running both a Linux and win32 miners.  The Linux machine is way way more powerful than the windows one yet the Windows miner shows about 12 HPM whereas the Linux one is usually 0, but sometimes shows 1.xx or 0.xx.  Just making me worried theres a bug and it's not actually mining with the full power of the machine.
Title: Re: Mining on Linux instructions?
Post by: bsamjolake on November 05, 2013, 12:00:37 pm
And now the windows box has found one while the Linux miners which have waaaay more power still have nothing and have been running more than 3x as long.  I'm getting pretty convinced at this point that something actually is causing them to be mining extremely slow.  Even though they're all maxing all CPUs.

Is anyone running a Linux miner consistently reporting a HPM that isn't 0 or is over 10?
Title: Re: Mining on Linux instructions?
Post by: yago on November 05, 2013, 12:24:53 pm
Is anyone running a Linux miner consistently reporting a HPM that isn't 0 or is over 10?

Currently mining on x86-64 Linux  and got about 4 HPM. No luck yet  :-\
Title: Re: Mining on Linux instructions?
Post by: rando on November 05, 2013, 05:56:06 pm
For fun I even tried a 16core/32GB Linux, and it's hash rate is only 7.96353365. It's actually worse than my 8core/16GB instance running just over 8 hashespermin. CPU's are maxed out and memory usage is about 30%; it's running and connected to the network. Found 0 blocks in the past 10 hours.

Something seems wrong with the linux miner or there is some crucial config setting missing. Some guy on bitcointalk.org said he was getting 60 HPM on a 16core/32GB instance. That's 6x my rate!

My conf contains just the RPC user and password and addnode=xxx with one of the IP addresses. Any tips?
Title: Re: Mining on Linux instructions?
Post by: smith88 on November 05, 2013, 06:23:38 pm
For fun I even tried a 16core/32GB Linux, and it's hash rate is only 7.96353365. It's actually worse than my 8core/16GB instance running just over 8 hashespermin. CPU's are maxed out and memory usage is about 30%; it's running and connected to the network. Found 0 blocks in the past 10 hours.

Something seems wrong with the linux miner or there is some crucial config setting missing. Some guy on bitcointalk.org said he was getting 60 HPM on a 16core/32GB instance. That's 6x my rate!

My conf contains just the RPC user and password and addnode=xxx with one of the IP addresses. Any tips?

Wich I could help.  Last night when this thing went live I launched a couple of servers, one a Windows using only one of the cores, and was getting 2-5.  But on my linux server which has 24 cores, I was only getting maybe 10.  And I also found no blocks.  I am wondering if people are already throwing botnets at this...?  Wouldn't be surprised.  I am fairly sure that also the code is more Intel happy?  My windows server is a Xeon.
Title: Re: Mining on Linux instructions?
Post by: super3 on November 05, 2013, 07:41:18 pm
For fun I even tried a 16core/32GB Linux, and it's hash rate is only 7.96353365. It's actually worse than my 8core/16GB instance running just over 8 hashespermin. CPU's are maxed out and memory usage is about 30%; it's running and connected to the network. Found 0 blocks in the past 10 hours.

Something seems wrong with the linux miner or there is some crucial config setting missing. Some guy on bitcointalk.org said he was getting 60 HPM on a 16core/32GB instance. That's 6x my rate!

My conf contains just the RPC user and password and addnode=xxx with one of the IP addresses. Any tips?
Thats because you probabl did the config incorrect. You have to launch multiple instances to utilize all 24 cores. So in reality you are using only about 3 of your 24 cores which is why you haven't found a block yet.

Wich I could help.  Last night when this thing went live I launched a couple of servers, one a Windows using only one of the cores, and was getting 2-5.  But on my linux server which has 24 cores, I was only getting maybe 10.  And I also found no blocks.  I am wondering if people are already throwing botnets at this...?  Wouldn't be surprised.  I am fairly sure that also the code is more Intel happy?  My windows server is a Xeon.
Title: Re: Mining on Linux instructions?
Post by: smith88 on November 05, 2013, 09:04:30 pm
For fun I even tried a 16core/32GB Linux, and it's hash rate is only 7.96353365. It's actually worse than my 8core/16GB instance running just over 8 hashespermin. CPU's are maxed out and memory usage is about 30%; it's running and connected to the network. Found 0 blocks in the past 10 hours.

Something seems wrong with the linux miner or there is some crucial config setting missing. Some guy on bitcointalk.org said he was getting 60 HPM on a 16core/32GB instance. That's 6x my rate!

My conf contains just the RPC user and password and addnode=xxx with one of the IP addresses. Any tips?
Thats because you probabl did the config incorrect. You have to launch multiple instances to utilize all 24 cores. So in reality you are using only about 3 of your 24 cores which is why you haven't found a block yet.

Wich I could help.  Last night when this thing went live I launched a couple of servers, one a Windows using only one of the cores, and was getting 2-5.  But on my linux server which has 24 cores, I was only getting maybe 10.  And I also found no blocks.  I am wondering if people are already throwing botnets at this...?  Wouldn't be surprised.  I am fairly sure that also the code is more Intel happy?  My windows server is a Xeon.

I could see this happening.  In config I told to use 24.  May I ask how to launch multiple instances?  I am assuming setup multiple directories with daemon running from each...?  Thanks. 

*By the way in TOP I could see all cores busy with all cpu usage coming from ProtoSharesd...
Title: Re: Mining on Linux instructions?
Post by: bytemaster on November 05, 2013, 09:08:15 pm
You are memory bandwidth constrained.   It doesn't matter how much memory you have if the CPU cannot move data to and from it fast enough.
Title: Re: Mining on Linux instructions?
Post by: bsamjolake on November 06, 2013, 12:54:26 am
I just found lots of 'generated block is stale' in my debug logs.  Is this normal?  I'm assuming this means the miner found a block but right before it found it someone else found a block.  I wouldn't expect to see this very often unless blocks were comin g really fast?  But I found like 10 of these errors.
Title: Re: Mining on Linux instructions?
Post by: bytemaster on November 06, 2013, 01:11:07 am
I just found lots of 'generated block is stale' in my debug logs.  Is this normal?  I'm assuming this means the miner found a block but right before it found it someone else found a block.  I wouldn't expect to see this very often unless blocks were comin g really fast?  But I found like 10 of these errors.

This is the nature of the proof of work.   Unlike all existing POW systems, this system has momentum to it and so it cannot 'turn on a dime' when a new block comes in.   Some of these things may be because of fast proof-of-concept implementation, but some of it is the nature of the hash search taking several seconds to get any result.   
Title: Re: Mining on Linux instructions?
Post by: bsamjolake on November 06, 2013, 01:16:06 am
I'm gonna go with implementation issue, considering kill -9 can stop anything dead in its tracks.  Once you see a valid block all current mining instructions should be halted and restarted with new latest block.
Title: Re: Mining on Linux instructions?
Post by: bytemaster on November 06, 2013, 01:17:55 am
I'm gonna go with implementation issue, considering kill -9 can stop anything dead in its tracks.  Once you see a valid block all current mining instructions should be halted and restarted with new latest block.

Yes, there is much work to be done on the algorithm implementation.  It is clearly not thread safe (Crashing all of the time) and has no ability to cancel mid-hash.
Title: Re: Mining on Linux instructions?
Post by: bsamjolake on November 06, 2013, 01:20:58 am
So then does the current implementation have any implications for preferring less cores or anything like that?  Does mining with a higher # of cores result in more "stale blocks" for some reason?  Or would that not make a difference.
Title: Re: Mining on Linux instructions?
Post by: bytemaster on November 06, 2013, 01:26:35 am
So then does the current implementation have any implications for preferring less cores or anything like that?  Does mining with a higher # of cores result in more "stale blocks" for some reason?  Or would that not make a difference.

To be honest, I did not look at what FreeTrade implemented very closely.  I only verified that his results matched my reference design which had only half the HPM as FreeTrade managed to achieve.   Of course my reference design was written for clarity rather than performance and our white paper on Momentum talks about potential optimization strategies.   I am sure it won't be long until someone comes up with something better.
Title: Re: Mining on Linux instructions?
Post by: FreeTrade on November 06, 2013, 03:31:19 am
I just found lots of 'generated block is stale' in my debug logs.  Is this normal?  I'm assuming this means the miner found a block but right before it found it someone else found a block.  I wouldn't expect to see this very often unless blocks were comin g really fast?  But I found like 10 of these errors.

This is due to a combination of the long hash time and the fast block time currently being experienced. When the difficulty adjusts, and we're seeing 5 minute blocks, you'll see a lot fewer staler blocks.

Also I agree killing threads as soon as new blocks are found would be a good improvement and result in fewer stale blocks too.
Title: Re: Mining on Linux instructions?
Post by: FreeTrade on November 06, 2013, 03:33:59 am
So then does the current implementation have any implications for preferring less cores or anything like that?  Does mining with a higher # of cores result in more "stale blocks" for some reason?  Or would that not make a difference.

Yes, higher number of cores will mean more collisions, but longer hash time . . . longer hash time means blocks are more likely to be stale. It should be a fairly small effect after the first re-adjustment.
Title: Re: Mining on Linux instructions?
Post by: FreeTrade on November 06, 2013, 03:36:47 am
Yes, there is much work to be done on the algorithm implementation.  It is clearly not thread safe (Crashing all of the time) and has no ability to cancel mid-hash.

The crashes I'm hearing of on Windows are all to do with memory allocation - either allocating too many threads (or switching causing too much allocation) - not seeing any thread safety issues. My i3770 has been mining full blast for 24hrs or so, supporting 500 connections, no issues yet.
Title: Re: Mining on Linux instructions?
Post by: smith88 on November 06, 2013, 05:14:39 am
Yes, there is much work to be done on the algorithm implementation.  It is clearly not thread safe (Crashing all of the time) and has no ability to cancel mid-hash.

The crashes I'm hearing of on Windows are all to do with memory allocation - either allocating too many threads (or switching causing too much allocation) - not seeing any thread safety issues. My i3770 has been mining full blast for 24hrs or so, supporting 500 connections, no issues yet.

very good to know, thanks. when do you estimate difficulty change?  which block approx?
Title: Re: Mining on Linux instructions?
Post by: bytemaster on November 06, 2013, 05:15:45 am
Yes, there is much work to be done on the algorithm implementation.  It is clearly not thread safe (Crashing all of the time) and has no ability to cancel mid-hash.

The crashes I'm hearing of on Windows are all to do with memory allocation - either allocating too many threads (or switching causing too much allocation) - not seeing any thread safety issues. My i3770 has been mining full blast for 24hrs or so, supporting 500 connections, no issues yet.

very good to know, thanks. when do you estimate difficulty change?  which block approx?

2016, about 5 to 10 minutes :)
Title: Re: Mining on Linux instructions?
Post by: Amazon on November 06, 2013, 05:31:21 am
Difficulty did not change...
Title: Re: Mining on Linux instructions?
Post by: smith88 on November 06, 2013, 05:36:53 am
Yes, there is much work to be done on the algorithm implementation.  It is clearly not thread safe (Crashing all of the time) and has no ability to cancel mid-hash.

The crashes I'm hearing of on Windows are all to do with memory allocation - either allocating too many threads (or switching causing too much allocation) - not seeing any thread safety issues. My i3770 has been mining full blast for 24hrs or so, supporting 500 connections, no issues yet.

very good to know, thanks. when do you estimate difficulty change?  which block approx?

2016, about 5 to 10 minutes :)
excellent! :)
Title: Re: Mining on Linux instructions?
Post by: bytemaster on November 06, 2013, 05:49:41 am
Yes, there is much work to be done on the algorithm implementation.  It is clearly not thread safe (Crashing all of the time) and has no ability to cancel mid-hash.

The crashes I'm hearing of on Windows are all to do with memory allocation - either allocating too many threads (or switching causing too much allocation) - not seeing any thread safety issues. My i3770 has been mining full blast for 24hrs or so, supporting 500 connections, no issues yet.

very good to know, thanks. when do you estimate difficulty change?  which block approx?

2016, about 5 to 10 minutes :)
excellent! :)

We forgot to adjust to from bitcoins default... it will adjust at block 4032, another 22 hours or less.
Title: Re: Mining on Linux instructions?
Post by: smith88 on November 06, 2013, 05:56:35 am
Yes, there is much work to be done on the algorithm implementation.  It is clearly not thread safe (Crashing all of the time) and has no ability to cancel mid-hash.

The crashes I'm hearing of on Windows are all to do with memory allocation - either allocating too many threads (or switching causing too much allocation) - not seeing any thread safety issues. My i3770 has been mining full blast for 24hrs or so, supporting 500 connections, no issues yet.

very good to know, thanks. when do you estimate difficulty change?  which block approx?

2016, about 5 to 10 minutes :)
excellent! :)

We forgot to adjust to from bitcoins default... it will adjust at block 4032, another 22 hours or less.

ok good good.  gives me time to sleep and work on my new setup.  i strongly support this, kind of reminds me of when bitcoin launched.  the nostalgia i suppose.
Title: Re: Mining on Linux instructions?
Post by: c0ldfusi0nz on November 06, 2013, 03:50:22 pm
Having issues compiling on Ubuntu 13.10. All dependencies listed in doc/readme-qt.rst have been installed.

qmake protoshares-qt.pro
Project MESSAGE: Building with UPNP support
Removed plural forms as the target language has less forms.
If this sounds wrong, possibly the target language is not set or recognized.
Removed plural forms as the target language has less forms.
If this sounds wrong, possibly the target language is not set or recognized.
Removed plural forms as the target language has less forms.
If this sounds wrong, possibly the target language is not set or recognized.
Removed plural forms as the target language has less forms.
If this sounds wrong, possibly the target language is not set or recognized.
Project MESSAGE: Warning: unknown QT: widgets

Code: [Select]
build/bitcoin.o: In function `boost::thread_group::join_all()':
bitcoin.cpp:(.text._ZN5boost12thread_group8join_allEv[_ZN5boost12thread_group8join_allEv]+0x45): undefined reference to `boost::thread::join()'
build/bitcoin.o: In function `main':
bitcoin.cpp:(.text.startup+0x19b): undefined reference to `boost::filesystem3::detail::status(boost::filesystem3::path const&, boost::system::error_code*)'
build/alert.o: In function `boost::thread::thread<void (*)(std::string), std::string>(void (*)(std::string), std::string)':
alert.cpp:(.text._ZN5boost6threadC2IPFvSsESsEET_T0_[_ZN5boost6threadC5IPFvSsESsEET_T0_]+0x2f7): undefined reference to `boost::thread::start_thread()'
build/util.o: In function `GetDefaultDataDir()':
util.cpp:(.text+0x1533): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
util.cpp:(.text+0x15a2): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
build/util.o: In function `GetTempPath()':
util.cpp:(.text+0x1d0b): undefined reference to `boost::filesystem3::detail::temp_directory_path(boost::system::error_code*)'
build/util.o: In function `GetDataDir(bool)':
util.cpp:(.text+0x301f): undefined reference to `boost::filesystem3::detail::system_complete(boost::filesystem3::path const&, boost::system::error_code*)'
util.cpp:(.text+0x3069): undefined reference to `boost::filesystem3::detail::status(boost::filesystem3::path const&, boost::system::error_code*)'
util.cpp:(.text+0x30d4): undefined reference to `boost::filesystem3::detail::create_directory(boost::filesystem3::path const&, boost::system::error_code*)'
util.cpp:(.text+0x31e4): undefined reference to `boost::filesystem3::path::operator/=(char const*)'
build/util.o: In function `OutputDebugStringF(char const*, ...)':
util.cpp:(.text+0x356d): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
build/util.o: In function `NewThread(void (*)(void*), void*)':
util.cpp:(.text+0x3c09): undefined reference to `boost::thread::start_thread()'
build/util.o: In function `DebugPrintInit()':
util.cpp:(.text+0x3f78): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
build/util.o: In function `GetConfigFile()':
util.cpp:(.text+0x4199): undefined reference to `boost::filesystem3::path::root_directory() const'
util.cpp:(.text+0x41f5): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
build/util.o: In function `GetPidFile()':
util.cpp:(.text+0x4399): undefined reference to `boost::filesystem3::path::root_directory() const'
util.cpp:(.text+0x43f8): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
build/util.o: In function `ShrinkDebugFile()':
util.cpp:(.text+0x4542): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
build/main.o: In function `OpenDiskFile(CDiskBlockPos const&, char const*, bool)':
main.cpp:(.text+0x21d4): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
main.cpp:(.text+0x2212): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
main.cpp:(.text+0x228d): undefined reference to `boost::filesystem3::path::parent_path() const'
main.cpp:(.text+0x2299): undefined reference to `boost::filesystem3::detail::create_directories(boost::filesystem3::path const&, boost::system::error_code*)'
build/main.o: In function `GenerateBitcoins(bool, CWallet*)':
main.cpp:(.text+0x5dd8): undefined reference to `boost::thread::start_thread()'
build/main.o: In function `CheckDiskSpace(unsigned long long)':
main.cpp:(.text+0x10b24): undefined reference to `boost::filesystem3::detail::space(boost::filesystem3::path const&, boost::system::error_code*)'
build/main.o: In function `BitcoinMiner(CWallet*)':
main.cpp:(.text+0x1d192): undefined reference to `boost::this_thread::sleep(boost::posix_time::ptime const&)'
build/init.o: In function `Shutdown()':
init.cpp:(.text+0xe65): undefined reference to `boost::filesystem3::detail::remove(boost::filesystem3::path const&, boost::system::error_code*)'
build/init.o: In function `DetectShutdownThread(boost::thread_group*)':
init.cpp:(.text+0x1222): undefined reference to `boost::this_thread::sleep(boost::posix_time::ptime const&)'
build/init.o: In function `AppInit2(boost::thread_group&)':
init.cpp:(.text+0x7948): undefined reference to `boost::thread::start_thread()'
init.cpp:(.text+0x7ac0): undefined reference to `CDBEnv::Open(boost::filesystem3::path const&)'
init.cpp:(.text+0x7bb8): undefined reference to `boost::filesystem3::detail::rename(boost::filesystem3::path const&, boost::filesystem3::path const&, boost::system::error_code*)'
init.cpp:(.text+0x7beb): undefined reference to `CDBEnv::Open(boost::filesystem3::path const&)'
init.cpp:(.text+0x8e67): undefined reference to `boost::filesystem3::detail::create_directories(boost::filesystem3::path const&, boost::system::error_code*)'
init.cpp:(.text+0x8f10): undefined reference to `boost::filesystem3::detail::create_hard_link(boost::filesystem3::path const&, boost::filesystem3::path const&, boost::system::error_code*)'
build/init.o: In function `boost::filesystem3::operator/(boost::filesystem3::path const&, boost::filesystem3::path const&)':
init.cpp:(.text._ZN5boost11filesystem3dvERKNS0_4pathES3_[_ZN5boost11filesystem3dvERKNS0_4pathES3_]+0x2f): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
build/init.o: In function `boost::filesystem3::exists(boost::filesystem3::path const&)':
init.cpp:(.text._ZN5boost11filesystem36existsERKNS0_4pathE[_ZN5boost11filesystem36existsERKNS0_4pathE]+0x17): undefined reference to `boost::filesystem3::detail::status(boost::filesystem3::path const&, boost::system::error_code*)'
build/init.o: In function `boost::thread* boost::thread_group::create_thread<boost::_bi::bind_t<void, void (*)(std::vector<boost::filesystem3::path, std::allocator<boost::filesystem3::path> >), boost::_bi::list1<boost::_bi::value<std::vector<boost::filesystem3::path, std::allocator<boost::filesystem3::path> > > > > >(boost::_bi::bind_t<void, void (*)(std::vector<boost::filesystem3::path, std::allocator<boost::filesystem3::path> >), boost::_bi::list1<boost::_bi::value<std::vector<boost::filesystem3::path, std::allocator<boost::filesystem3::path> > > > >)':
init.cpp:(.text._ZN5boost12thread_group13create_threadINS_3_bi6bind_tIvPFvSt6vectorINS_11filesystem34pathESaIS6_EEENS2_5list1INS2_5valueIS8_EEEEEEEEPNS_6threadET_[_ZN5boost12thread_group13create_threadINS_3_bi6bind_tIvPFvSt6vectorINS_11filesystem34pathESaIS6_EEENS2_5list1INS2_5valueIS8_EEEEEEEEPNS_6threadET_]+0x166): undefined reference to `boost::thread::start_thread()'
build/init.o: In function `boost::thread* boost::thread_group::create_thread<boost::_bi::bind_t<void, void (*)(std::string const&), boost::_bi::list1<boost::reference_wrapper<std::string> > > >(boost::_bi::bind_t<void, void (*)(std::string const&), boost::_bi::list1<boost::reference_wrapper<std::string> > >)':
init.cpp:(.text._ZN5boost12thread_group13create_threadINS_3_bi6bind_tIvPFvRKSsENS2_5list1INS_17reference_wrapperISsEEEEEEEEPNS_6threadET_[_ZN5boost12thread_group13create_threadINS_3_bi6bind_tIvPFvRKSsENS2_5list1INS_17reference_wrapperISsEEEEEEEEPNS_6threadET_]+0xec): undefined reference to `boost::thread::start_thread()'
build/db.o: In function `CAddrDB::Write(CAddrMan const&)':
db.cpp:(.text+0xbb3): undefined reference to `RenameOver(boost::filesystem::path, boost::filesystem::path)'
collect2: error: ld returned 1 exit status
make: *** [protoshares-qt] Error 1
Title: Re: Mining on Linux instructions?
Post by: c0ldfusi0nz on November 06, 2013, 04:25:53 pm
After further investigation, it appears some of the libraries in Ubuntu 13.10 are too new and incompatible with Bitcoin. Unfortunately, the maintainer of the Ubuntu PPA for the correct versions has not yet added a package for 13.10. https://launchpad.net/~bitcoin/+archive/bitcoin
Title: Re: Mining on Linux instructions?
Post by: wsbltc on November 07, 2013, 02:43:03 pm
Is there anybody know how to install protoshares on Centos Os? Only I find the instruction on Debian or Ubutu.
Title: Re: Mining on Linux instructions?
Post by: bob on November 08, 2013, 10:36:55 am
I have got this running on Ubuntu 12.04 but it seems unable to connect to the network, I just get heaps of

trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 162.243.***.4:3888 lastseen=90.7hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused

(I censored a little the IPs)

Is there a new peers.dat file?
Title: Re: Mining on Linux instructions?
Post by: yago on November 08, 2013, 12:46:33 pm
I have got this running on Ubuntu 12.04 but it seems unable to connect to the network, I just get heaps of

trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 162.243.***.4:3888 lastseen=90.7hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused

(I censored a little the IPs)

Is there a new peers.dat file?

Hi Bob,

Check this: http://bitsharestalk.org/index.php?topic=78.msg824#msg824
Title: Re: Mining on Linux instructions?
Post by: superresistant on November 15, 2013, 11:00:25 am
After further investigation, it appears some of the libraries in Ubuntu 13.10 are too new and incompatible with Bitcoin. Unfortunately, the maintainer of the Ubuntu PPA for the correct versions has not yet added a package for 13.10. https://launchpad.net/~bitcoin/+archive/bitcoin

Hello,
can anyone tell what linux version should I use ?
the last Ubuntu doesn't work so which one please ?
Title: Re: Mining on Linux instructions?
Post by: superresistant on November 15, 2013, 12:43:57 pm
qmake protoshares-qt.pro
Project MESSAGE: Building with UPNP support
Removed plural forms as the target language has less forms.
If this sounds wrong, possibly the target language is not set or recognized.

I still got this on :
Ubuntu 12.04 x32
Ubuntu 13.10 x64

Ubuntu 10.04 x64 can't even get the git.