Zcash for macOS v1.0.11-rc1

To clone and build Zcash on macOS without any external dependencies (like brew)

Precompiled v1.0.11-rc1 binaries can be downloaded here

1 Like

Awesome, someone on twitter was asking about mac ports to add zcash to brew, and I pointed them at this thread just now after going over some stuff about it historically

Hey thanks man, checked your twitter account! Sorry for your MacBook Pro.

1 Like

oh that’s right, you are on twitter, I would have tagged you directly had I remembered that…lol I think I may be following you? what’s your twitter username?

yeah I do not know what my level of support for anything Mac is going to be for…a while :frowning:

I think you already have a lot on your plate :slight_smile:
This is you right? https://insight.mercerweiss.com

Just followed you on Twitter @raykhessel

1 Like

yes…most of my madness is linked from https://crypto.mercerweiss.com

cool! will check it in detail

updates to that site are very sporadic, heh…most of my time is sucked up with HUSH and zcash4win support…ETOOMANYTHINGS :slight_smile:

Hi kozyllmaz.

I am the guy that asked yesterday of bringing zcash for mac to brew. I have worked on formulas for brew in the past and one thing that will definitley not fly with them is packing the dependencies in it. How much would I need to change to change the build process from downloading the dependencies to relying on them being present? Is it possible to compile the original linux version of zcash directly when the dependencies are existing or did you need to apply fixes?

Hi there;

There are no build dependencies (any libraries) to compile Zcash for macOS but you have to have a) compile tool dependencies (autotools, cmake, newer gcc) and b) macOS patches.

I think brew will take care of compile tools dependencies and you can use the macOS patches from here (see link below). I am hoping that all of them will be upstreamed in near future.

Below is a sample command to build Zcash, it uses the same build scripts that are used on Linux.

LIBTOOLIZE=glibtoolize CC=gcc-6.4.0 CXX=gcc-6.4.0 HOST=x86_64-apple-darwin16.7.0 BUILD=x86_64-apple-darwin16.7.0 ./zcutil/build.sh --disable-libs;

Let me know if I can help further;

Thanks! Right ow, I got to the point where I see

checking for main in -lgmpxx... yes
Hunting for libsnark include directory...
configure: error: libsnark include directory not found

I am running autogen.sh manually as well as configure manually (not using build.sh). Any ideas on how to get around that?

Well I don’t recommend that path, because that way you have to patch and prepare all dependencies by yourself (unless you do exactly what’s been done in build.sh). I started that way but quickly decided it is not the sustainable way forward. Below is the branch:

build.sh compiles dependencies first and it also uses certain versions and verify package hashes.

Hmm, even if I try to go the build.sh route, I arrive at

+ make -C ./depends/ V=1
make: *** ./depends/: No such file or directory.  Stop.

I can run make -C ./depends/ V=1 manually, but I cannot get it to work from build.sh :-/

  1. Are you using Zcash master or a specific tag (tag is recommended & tested)
  2. Do you get the same error with an absolute path (to build.sh)?

This is the Makefile I use:

1 Like

so good, i can’t wait for everything needed to build upstream directly finally gets merged, but this is great until that day!

I just saw that you integrated 1.0.11 into your branch. Is there a reason why it’s not an “official” github style fork of upstream?

I got 1.0.11 compiling (I had to manually change to the zcutil directory before running .build.sh). Is there a way to define a different prefix that it installs to?

I got an “official” fork for sure, even got one with Travis integrated:

But the main problem is using GNU tools and latest gcc. If you don’t use “brew” like me, it is not possible to build the “official” fork. Main purpose of my repo is you are able to build Zcash binaries and then be done with it. You don’t have to keep the repo, compiled binaries will work everywhere without any dependencies.

I recommend not to use “make install” and deal with “–prefix” but copy the three final binaries and a script (zcashd, zcash-cli, zcash-tx and zcash-fetch-params) manually.

yeah to build the “official” source on mac…you can’t without patching, both src/ and depends/ (or ditch depends/ as here)…which my downstream port does, but i have not been tracking updates closely since @kozyilmaz did this port