Watchman: [Ubuntu 16.04] No rule to make target 'thirdparty/tap.c', needed by 'thirdparty/libtap_a-tap.o'.

Created on 25 Oct 2017  路  3Comments  路  Source: facebook/watchman

Ubuntu 16.04 @ 64bit
GCC 5.4.0

Fails to compile tap library.
configure.txt
make.txt

The last branch I can compile successfully is v4.7.0

Most helpful comment

Sounds like you had previously built an old version in that clone of the repo. You can resolve this by running git clean -dfx to nuke all generated state, then re-run the installation instructions.

All 3 comments

I was seeing the same thing. I was able to work around by getting a fresh clone of the repo.

Initially I had run make clean before otherwise following the instructions here: https://facebook.github.io/watchman/docs/install.html#installing-from-source

I did notice that when running ./autogen.sh initially (with a _dirty_ repo) it gave no output. However after a fresh checkout gave some output, and then the make went fine.

EDIT:
Root cause appears to be the change from tap.c to tap.cpp in d427e7cb

Sounds like you had previously built an old version in that clone of the repo. You can resolve this by running git clean -dfx to nuke all generated state, then re-run the installation instructions.

Thanks, wez's suggestion worked for me, then I had also to run this:
sudo apt-get install libssl-dev libmd-dev

And 4.9.0 is up and running, however I would say make clean should be able to do a proper job in cleaning everything?
One more note, once you built and used sudo make install, some root permission files also stay locally and cannot be deleted with regular user, maybe temporary directory under root should be used instead?

Just a thought.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ideahitme picture ideahitme  路  5Comments

joseluisq picture joseluisq  路  7Comments

ACoolmanBigHealth picture ACoolmanBigHealth  路  4Comments

1st1 picture 1st1  路  3Comments

fuechter picture fuechter  路  3Comments