Skip to content

Instantly share code, notes, and snippets.

@fossilet
Forked from quagliero/README.md
Last active April 3, 2018 14:22
Show Gist options
  • Save fossilet/a22866cbdee43826d3895a5a10f7fc51 to your computer and use it in GitHub Desktop.
Save fossilet/a22866cbdee43826d3895a5a10f7fc51 to your computer and use it in GitHub Desktop.
Installing cpuminer-multi on macOS 10.13.2 (High Sierra)

Installing cpuminer-multi on macOS 10.13.2 (High Sierra)

This assumes you have brew installed and are comfortable using a terminal.

Following the guide on https://github.com/tpruvot/cpuminer-multi will likely lead to errors about invalid paths to OpenSSL, and neoscrypt errors to the tune of Undefined symbols for architecture x86_64 during the build. I managed to piece together different fixes into an installation that has worked for me. So I hope it works for you.

Requirements

Ensure a c compiler is installed. Type g++ in the terminal and continue with the xcode installation if necessary. If it prints clang: error: no input files, then you can proceed.

# install dependencies
brew install automake openssl zlib curl jansson make

Installation

# clone repo
git clone https://github.com/tpruvot/cpuminer-multi.git

# run build scripts
cd cpuminer-multi
./autogen.sh
./nomacro.pl
# where /usr/local/opt/openssl is your brew bin openssl
./configure CFLAGS="-march=native" --with-crypto=/usr/local/opt/openssl  --with-curl
# Due to some issues within ASM Neoscrypt
perl -p -i -e "s/#if \(WINDOWS\)/#define ASM 0\n#if (WINDOWS)/g" algo/neoscrypt.c
# aaand make
make

If see this error:

g++  -g -O2 -L/usr/local/opt/openssl/lib -Lyes/lib  -L/usr/local/opt/openssl/lib -Lyes/lib  -o cpuminer cpuminer-cpu-miner.o cpuminer-util.o cpuminer-api.o cpuminer-sysinfos.o cpuminer-uint256.o sha3/cpuminer-sph_keccak.o sha3/cpuminer-sph_hefty1.o sha3/cpuminer-sph_groestl.o sha3/cpuminer-sph_skein.o sha3/cpuminer-sph_bmw.o sha3/cpuminer-sph_jh.o sha3/cpuminer-sph_shavite.o sha3/cpuminer-sph_blake.o sha3/cpuminer-mod_blakecoin.o sha3/cpuminer-sph_luffa.o sha3/cpuminer-sph_cubehash.o sha3/cpuminer-sph_simd.o sha3/cpuminer-sph_echo.o sha3/cpuminer-sph_hamsi.o sha3/cpuminer-sph_haval.o sha3/cpuminer-sph_fugue.o sha3/cpuminer-sph_ripemd.o sha3/cpuminer-sph_sha2.o sha3/cpuminer-sph_sha2big.o sha3/cpuminer-sph_shabal.o sha3/cpuminer-sph_whirlpool.o sha3/cpuminer-gost_streebog.o crypto/cpuminer-blake2s.o crypto/cpuminer-blake2b.o crypto/cpuminer-oaes_lib.o crypto/cpuminer-c_keccak.o crypto/cpuminer-c_groestl.o crypto/cpuminer-c_blake256.o crypto/cpuminer-c_jh.o crypto/cpuminer-c_skein.o crypto/cpuminer-hash.o crypto/cpuminer-aesb.o lyra2/cpuminer-Lyra2.o lyra2/cpuminer-Sponge.o yescrypt/cpuminer-yescrypt-common.o yescrypt/cpuminer-yescrypt-best.o yescrypt/cpuminer-sha256_Y.o algo/cpuminer-axiom.o algo/cpuminer-bastion.o algo/cpuminer-blake.o algo/cpuminer-blakecoin.o algo/cpuminer-blake2.o algo/cpuminer-bmw256.o algo/cpuminer-c11.o algo/cpuminer-cryptonight.o algo/cpuminer-cryptolight.o algo/cpuminer-decred.o algo/cpuminer-drop.o algo/cpuminer-fresh.o algo/cpuminer-groestl.o algo/cpuminer-heavy.o algo/cpuminer-ink.o algo/cpuminer-jha.o algo/cpuminer-lbry.o algo/cpuminer-luffa.o algo/cpuminer-lyra2re.o algo/cpuminer-lyra2rev2.o algo/cpuminer-myr-groestl.o algo/cpuminer-keccak.o algo/cpuminer-pentablake.o algo/cpuminer-quark.o algo/cpuminer-neoscrypt.o algo/cpuminer-nist5.o algo/cpuminer-pluck.o algo/cpuminer-qubit.o algo/cpuminer-scrypt.o algo/cpuminer-scrypt-jane.o algo/cpuminer-sha2.o algo/cpuminer-sia.o algo/cpuminer-sibcoin.o algo/cpuminer-skein.o algo/cpuminer-skein2.o algo/cpuminer-s3.o algo/cpuminer-bitcore.o algo/cpuminer-timetravel.o algo/cpuminer-tribus.o algo/cpuminer-veltor.o algo/cpuminer-x11evo.o algo/cpuminer-x11.o algo/cpuminer-x12.o algo/cpuminer-x13.o algo/cpuminer-x14.o algo/cpuminer-x15.o algo/cpuminer-x16r.o algo/cpuminer-x16s.o algo/cpuminer-x17.o algo/cpuminer-xevan.o algo/cpuminer-yescrypt.o algo/cpuminer-zr5.o asm/cpuminer-neoscrypt_asm.o  asm/cpuminer-sha2-x64.o asm/cpuminer-scrypt-x64.o asm/cpuminer-aesb-x64.o   -lcurl -lz -lssl -lcrypto -ljansson -lpthread  -lz 
ld: warning: directory not found for option '-Lyes/lib'
ld: warning: directory not found for option '-Lyes/lib'

remove the two -Lyes/lib in the g++ command.

Start mining!

# example, using Ravencoin on suprnova
./cpuminer -a x16r -o stratum+tcp://rvn.suprnova.cc:6666 -u [username].[workername] -p [workerpassword]

To stop mining just kill the process with ctrl+c, then start it up again when required.

To adjust your mining power, use the -t flag. -t is the number of CPU cores (threads) to use when mining. So ./cpuminer -a x16r -t 1 ... would just use 1 core (good for mining in the background). I believe by default it uses all available cores.

Thanks to

https://github.com/Roykk/veriumMinerDocker/tree/master/OSXwithoutDocker (SSL paths issue) https://bitcointalk.org/index.php?topic=841401.msg13025434#msg13025434 (User wladston with the perl fix)

Tip jar

💱 🍺
RVN RX1Rcn7BRorWvq8HPih8Y7Pg1ZVo7fp7Du
BTC 1HSbmfcqWxNA2AHmK8qLLcJoBzRBankZu9
LTC LPkFXzY59DgAKMpvg94Cg3LbofwcgTz4ko
ETH 0x22dF535A59f6c0f9E96f5631D4B0c0a975E926C8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment