ravinet / mahimahi

Web performance measurement toolkit
GNU General Public License v3.0
241 stars 129 forks source link

Can not install by building source. fatal error: google/protobuf/port_def.inc: No such file or directory compilation terminated. #163

Closed EmrahAltindis closed 1 year ago

EmrahAltindis commented 1 year ago

I processed the below code without any warning or error. $ git clone https://github.com/ravinet/mahimahi $ cd mahimahi $ ./autogen.sh $ ./configure

While processing the make, I got the below error.

http_record.pb.h:10:40: fatal error: google/protobuf/port_def.inc: No such file or directory compilation terminated.

Total error message: Making all in src make[1]: Entering directory '/home/emrah/c2tcp/mahimahi/src' Making all in protobufs make[2]: Entering directory '/home/emrah/c2tcp/mahimahi/src/protobufs' make all-am make[3]: Entering directory '/home/emrah/c2tcp/mahimahi/src/protobufs' g++ -DHAVE_CONFIG_H -I. -I../.. -pthread -g -O2 -MT http_record.pb.o -MD -MP -MF .deps/http_record.pb.Tpo -c -o http_record.pb.o http_record.pb.cc In file included from http_record.pb.cc:4:0: http_record.pb.h:10:40: fatal error: google/protobuf/port_def.inc: No such file or directory compilation terminated. Makefile:410: recipe for target 'http_record.pb.o' failed make[3]: *** [http_record.pb.o] Error 1 make[3]: Leaving directory '/home/emrah/c2tcp/mahimahi/src/protobufs' Makefile:359: recipe for target 'all' failed make[2]: *** [all] Error 2 make[2]: Leaving directory '/home/emrah/c2tcp/mahimahi/src/protobufs' Makefile:378: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/home/emrah/c2tcp/mahimahi/src' Makefile:424: recipe for target 'all-recursive' failed make: *** [all-recursive] Error 1

Thanks in advance.

keithw commented 1 year ago

Hi -- this looks likely to be an issue with your computer's protobuf implementation and may be unrelated to mahimahi. On Debian/Ubuntu, /usr/include/google/protobuf/port_def.inc comes from the libprotobuf-dev package comes from the libprotobuf-dev package. Maybe something like this could also happen if your protobuf compiler is out of sync with the protobuf libraries.