facebook/watchman

Required system dependencies when building from source

Opened this issue · 1 comments

sol commented

The documentation in "building from source recommends" to run:

sudo ./install-system-packages.sh

Looking at that script and trying to understand what it does, I gave up after following three indirections.

Is the list of required system dependencies documented somewhere?

Edit:

[dependencies]
boost
cpptoml
edencommon
fb303
fbthrift
folly
pcre2
googletest
python-setuptools

👋

Looks like you found it and this issue can be closed. The getdeps.py program has more info in the folly repo. Everything is vendored locally within the repo so that watchman knows how to fetch/build its dependencies without an external tool.

python3 "$(dirname "$0")/build/fbcode_builder/getdeps.py" install-system-deps --recursive watchman

A manifest maps a simple name (pcre2) to its respective names on rpm/deb/brew (e.g. libpcre2-dev deb):

[homebrew]
pcre2
[rpms]
pcre2-devel
pcre-static
[debs]
libpcre2-dev

The manifest also has detail for getdeps.py to build from source:

[download]
url = https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.40/pcre2-10.40.tar.bz2
sha256 = 14e4b83c4783933dc17e964318e6324f7cae1bc75d8f3c79bc6969f00c159d68
[build]
builder = cmake
subdir = pcre2-10.40

[Note: I'm a user not a member of the project.]