meritlabs / merit

Merit aims to be the world's most adopted digital currency.
https://www.merit.me
MIT License
192 stars 20 forks source link

Building on OSX 10.13.4 requires autoconf dependency #344

Open bdickason opened 6 years ago

bdickason commented 6 years ago

After cloning source, I'm prompted to install the autoconf dependency but the 'Get Started' page doesn't link to where I can/should get this.

Can you reliably reproduce the issue? Yes

If so, please list the steps to reproduce below:

  1. Install a fresh-ish version of OSX (no dev tools, etc)
  2. Follow the instructions on the 'Get Started' page (./autogen.sh)

Expected behaviour

The script should run and let me run ./configure

Actual behaviour

I get an error that I need autoconf.

Any extra information that might be useful in the debugging process.

I suggest adding instructions/a link to get autoconf to the Get Started page. In my case, I downloaded brew and did a brew install autoconf automake libtool berkeley-db4 pkg-config openssl boost boost-build libevent

It might be worth also adding a check for all dependencies in at the start of the ./autogen.sh or ./configure process to ensure they're caught upfront vs. having to chase each one down one-by-one.

bdickason commented 6 years ago

Follow-up issue (let me know if I should start a new thread): Installing with latest autoconf from brew gives the error:

Can't exec "aclocal": No such file or directory at /usr/local/Cellar/autoconf/2.69/share/autoconf/Autom4te/FileUtils.pm line 326.
autoreconf: failed to run aclocal: No such file or directory
bdickason commented 6 years ago

I was able to get ./autogen.sh to run by installing: automake autoconf libtool which do not come with OSX by default.

Without all 3 of these, users will run into build errors.

bdickason commented 6 years ago

I'm consolidating OSX latest errors into this thread, let me know and I can break them out.

Building with the above libraries also let me know I need pkg-config and need to re-run autogen.sh

bdickason commented 6 years ago

Received the error:

configure: error: libdb_cxx headers missing, Merit Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)

Installed berkeley-db4 to resolve this.

bdickason commented 6 years ago

New Error:

Installing boost and boost-build resolved this.

bdickason commented 6 years ago

New Error:

configure: error: openssl  not found.

Installing openssl solved this

bdickason commented 6 years ago

libevent is the final dependency I needed to get ./configure to run successfully.

bdickason commented 6 years ago

Based on this, I'd suggest adding a step or a link to the following info for OSX users:

  1. Install brew (A package manager for OSX): https://brew.sh/
  2. Install the following dependencies: brew install autoconf automake libtool berkeley-db4 pkg-config openssl boost boost-build libevent

It might be worth also adding a check for all dependencies in #2 at the start of the ./autogen.sh or ./configure process to ensure they're caught upfront vs. having to chase each one down one-by-one.

daves0 commented 6 years ago

Just tried the same on stock Ubuntu 18.04 with build-esentials installed, and I had to add libtool as well. Consider this ai +1 for adding dependency checks as part of the config process.