simonw / simonw/til

Building sqlite3_rsync requires `gmake` on macOS

Open
#104 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
HTML
Stars
1.5k
Forks
120
PR merge metrics
No merged PRs in 30d

Description

Hi Simon, your "compile-sqlite3-rsync" page seems to be the top hit these days. After a good dealing of puzzling over why make sqlite3_rsync was failing I realized that it is because Apple's /usr/bin/make is GNU Make 3.81 and it does not understand something about sqlite's makefiles (perhaps the include of main.mk). To further confuse things, homebrew has this caveat in its "make" recipe that I only saw once I did a reinstall:

Caveats
GNU "make" has been installed as "gmake".
If you need to use it as "make", you can add a "gnubin" directory to your PATH from your bashrc like: ...

So building on gary_0's tip, the script for macOS is:

brew install make
git clone https://github.com/sqlite/sqlite.git
cd sqlite
./configure
gmake sqlite3-rsync

Building from the "Complete canonical source tree" on https://www.sqlite.org/download.html also works!

Thanks for all your great blogging :)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the “compile-sqlite3-rsync” page linked in the issue and compare its macOS build instructions with the reported Homebrew make caveat and commands. Done means the page clearly explains the GNU make requirement and gives a working macOS build path using gmake.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, shell, sqlite
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.