Compiling zcash mining client issue on Debian


#1

I have a compiling issue of the zcash mining client. All dependencies in from github beta install guide prepared. Stuck here at this point. Please help!

./zcutil/build.sh -j$(nproc)
...

make[1]: Entering directory /home/dirk/zcash/depends/work/build/x86_64-unknown-linux-gnu/libsnark/0.1-125fb4a588e'
g++ -o src/algebra/curves/alt_bn128/alt_bn128_g1.o src/algebra/curves/alt_bn128/alt_bn128_g1.cpp -c -MMD -fPIC -DBINARY_OUTPUT -DNO_PT_COMPRESSION=1 -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wno-comment -Wfatal-errors -O2 -march=native -mtune=native -DMONTGOMERY_OUTPUT -DCURVE_ALT_BN128 -I/home/dirk/zcash/depends/x86_64-unknown-linux-gnu/include -Isrc -DNO_PROCPS -static -DSTATIC -DMULTICORE -fopenmp
In file included from src/common/serialization.tcc:20:0,
from src/common/serialization.hpp:102,
from src/algebra/fields/bigint.hpp:15,
from src/algebra/fields/fp.hpp:13,
from src/algebra/curves/alt_bn128/alt_bn128_init.hpp:11,
from src/algebra/curves/alt_bn128/alt_bn128_g1.hpp:11,
from src/algebra/curves/alt_bn128/alt_bn128_g1.cpp:8:
src/common/assert_except.hpp: In function 'void assert_except(bool)':
src/common/assert_except.hpp:8:15: error: 'runtime_error' is not a member of 'std'
compilation terminated due to -Wfatal-errors.
make[1]: *** [src/algebra/curves/alt_bn128/alt_bn128_g1.o] Error 1
make[1]: Leaving directory
/home/dirk/zcash/depends/work/build/x86_64-unknown-linux-gnu/libsnark/0.1-125fb4a588e'
make: *** [/home/dirk/zcash/depends/work/build/x86_64-unknown-linux-gnu/libsnark/0.1-125fb4a588e/./.stamp_built] Error 2
make: Leaving directory `/home/dirk/zcash/depends'

Linux 108 3.2.0-4-amd64 #1 SMP Debian 3.2.81-1 x86_64 GNU/Linux


#2

Its too old. I use Jessie stable. To simplify your life simply use their binaries. https://github.com/zcash/zcash/wiki/Debian-binary-packages.


#3

Thank you! Successfully upgraded entire system to Jessie, one step further. But stuck again with failing 'libbitcoin_server_a-init.o' :disappointed:

./zcutil/build.sh -j$(nproc)
...
/home/miner/zcash/depends/x86_64-unknown-linux-gnu/share/../native/bin/ccache g++ -m64 -DHAVE_CONFIG_H -I. -I../src/config -I. -I./obj -pthread -I/home/miner/zcash/depends/x86_64-unknown-linux-gnu/share/../include -I./leveldb/include -I./leveldb/helpers/memenv -I/home/miner/zcash/depends/x86_64-unknown-linux-gnu/include -I/home/miner/zcash/depends/x86_64-unknown-linux-gnu/include -I./secp256k1/include -I/home/miner/zcash/depends/x86_64-unknown-linux-gnu/share/../include/libsnark -I/home/miner/zcash/depends/x86_64-unknown-linux-gnu/share/../include/ -DBOOST_SPIRIT_THREADSAFE -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -std=c++11 -pipe -O1 -fwrapv -fno-strict-aliasing -Werror -g -Wformat -Wformat-security -Wstack-protector -fstack-protector-all -fPIE -MT libbitcoin_server_a-init.o -MD -MP -MF .deps/libbitcoin_server_a-init.Tpo -c -o libbitcoin_server_a-init.o test -f 'init.cpp' || echo './'init.cpp
{standard input}: Assembler messages:
{standard input}:125433: Warning: end of file not at end of a line; newline inserted
{standard input}:125816: Error: unknown pseudo-op: `.lc'
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See for instructions.
Makefile:4006: recipe for target 'libbitcoin_server_a-init.o' failed
make[2]: *** [libbitcoin_server_a-init.o] Error 4
make[2]: Leaving directory '/home/miner/zcash/src'
Makefile:7440: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/miner/zcash/src'
Makefile:628: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1


#4

I have had success building various pool miners in stretch (aka testing). And you don't even need to upgrade your entire system. You can run debootstrap to have a little stretch system running inside of your jessie (or wheezy or whatever) main system. Here are the instructions I followed on how to do this: https://www.digitalocean.com/community/tutorials/how-to-configure-chroot-environments-for-testing-on-an-ubuntu-12-04-vps

And then once you have built the binary once, you don't even need to repeat the build process every time you setup a new chroot, you can just copy the binary (assuming the systems are running on the same architecture, like amd64).