I think there is a mistake in the 'Version used' column of protobuf in doc/dependencies.md. It says 2.6.1, but after installing this version and trying to compile Bitcoin Core on Ubuntu 16.04.1, I got the following error:
Making all in src
make[1]: Entering directory '/home/dave/projects/bitcoin/src'
make[2]: Entering directory '/home/dave/projects/bitcoin/src'
make[3]: Entering directory '/home/dave/projects/bitcoin'
make[3]: Leaving directory '/home/dave/projects/bitcoin'
CXX qt/qt_libbitcoinqt_a-bitcoin.o
In file included from ./qt/paymentrequestplus.h:10:0,
from ./qt/paymentserver.h:40,
from qt/bitcoin.cpp:26:
./qt/paymentrequest.pb.h:10:40: fatal error: google/protobuf/port_def.inc: No such file or directory
compilation terminated.
Makefile:8613: recipe for target 'qt/qt_libbitcoinqt_a-bitcoin.o' failed
make[2]: *** [qt/qt_libbitcoinqt_a-bitcoin.o] Error 1
make[2]: Leaving directory '/home/dave/projects/bitcoin/src'
Makefile:13144: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/dave/projects/bitcoin/src'
Makefile:776: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
Following the last comment here: https://github.com/protocolbuffers/protobuf/issues/5868, I installed 3.7.0 and managed to compile. It took me a while to sort this out, so if it is indeed wrong and not my mistake, I believe it should be fixed to save people time.