google / bloaty

Bloaty: a size profiler for binaries
Apache License 2.0
4.65k stars 338 forks source link

'protoc: Command not found' during compilation #164

Closed psmarshall closed 5 years ago

psmarshall commented 5 years ago

Even though protobuf is pulled in as a dependency I get an error with a fresh checkout on Debian. I can fix it by installing protoc globally.

$ git clone git@github.com:google/bloaty.git $ cd bloaty $ git submodule update --init --recursive $ cmake . $ make -j6

I get this output when building.

Scanning dependencies of target gtest
[  1%] Generating src/bloaty.pb.cc
Scanning dependencies of target re2
make[2]: protoc: Command not found
CMakeFiles/libbloaty.dir/build.make:61: recipe for target 'src/bloaty.pb.cc' failed
make[2]: *** [src/bloaty.pb.cc] Error 127
CMakeFiles/Makefile2:111: recipe for target 'CMakeFiles/libbloaty.dir/all' failed
make[1]: *** [CMakeFiles/libbloaty.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Scanning dependencies of target capstone-static
[  2%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/bitstate.cc.o
[  3%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/compile.cc.o
[  4%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/dfa.cc.o
[  4%] Building CXX object third_party/googletest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
[  5%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/filtered_re2.cc.o
[  6%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/cs.c.o
[  7%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/MCInst.c.o
[  8%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/MCInstrDesc.c.o
[  8%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/MCRegisterInfo.c.o
[  9%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/SStream.c.o
[ 10%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/utils.c.o
[ 10%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/mimics_pcre.cc.o
[ 11%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/nfa.cc.o
[ 12%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/ARM/ARMDisassembler.c.o
[ 13%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/ARM/ARMInstPrinter.c.o
[ 13%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/ARM/ARMMapping.c.o
[ 14%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/onepass.cc.o
[ 15%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/parse.cc.o
[ 15%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/perl_groups.cc.o
[ 16%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/prefilter.cc.o
[ 17%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/prefilter_tree.cc.o
[ 18%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/ARM/ARMModule.c.o
[ 19%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/AArch64/AArch64BaseInfo.c.o
[ 20%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/prog.cc.o
[ 21%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/re2.cc.o
[ 22%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/AArch64/AArch64Disassembler.c.o
[ 22%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/regexp.cc.o
[ 23%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/set.cc.o
[ 23%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/AArch64/AArch64InstPrinter.c.o
[ 24%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/simplify.cc.o
[ 25%] Linking CXX static library libgtest.a
[ 25%] Built target gtest
[ 26%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/stringpiece.cc.o
[ 27%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/tostring.cc.o
[ 27%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/unicode_casefold.cc.o
[ 28%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/AArch64/AArch64Mapping.c.o
[ 29%] Building CXX object third_party/re2/CMakeFiles/re2.dir/re2/unicode_groups.cc.o
[ 30%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/AArch64/AArch64Module.c.o
[ 31%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/Mips/MipsDisassembler.c.o
[ 32%] Building CXX object third_party/re2/CMakeFiles/re2.dir/util/rune.cc.o
[ 33%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/Mips/MipsInstPrinter.c.o
[ 33%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/Mips/MipsMapping.c.o
[ 34%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/Mips/MipsModule.c.o
[ 35%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/PowerPC/PPCDisassembler.c.o
[ 36%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/PowerPC/PPCInstPrinter.c.o
[ 37%] Building CXX object third_party/re2/CMakeFiles/re2.dir/util/strutil.cc.o
[ 38%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/PowerPC/PPCMapping.c.o
[ 38%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/PowerPC/PPCModule.c.o
[ 39%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/X86/X86Disassembler.c.o
[ 40%] Linking CXX static library libre2.a
[ 41%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/X86/X86DisassemblerDecoder.c.o
[ 41%] Built target re2
[ 42%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/X86/X86IntelInstPrinter.c.o
[ 42%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/X86/X86Mapping.c.o
[ 43%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/X86/X86Module.c.o
[ 44%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/X86/X86ATTInstPrinter.c.o
[ 45%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/Sparc/SparcDisassembler.c.o
[ 46%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/Sparc/SparcInstPrinter.c.o
[ 46%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/Sparc/SparcMapping.c.o
[ 47%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/Sparc/SparcModule.c.o
[ 48%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/SystemZ/SystemZDisassembler.c.o
[ 49%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/SystemZ/SystemZInstPrinter.c.o
[ 50%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/SystemZ/SystemZMapping.c.o
[ 50%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/SystemZ/SystemZModule.c.o
[ 51%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/SystemZ/SystemZMCTargetDesc.c.o
[ 52%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/XCore/XCoreDisassembler.c.o
[ 53%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/XCore/XCoreInstPrinter.c.o
[ 54%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/XCore/XCoreMapping.c.o
[ 54%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/XCore/XCoreModule.c.o
[ 55%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/M68K/M68KInstPrinter.c.o
[ 56%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/M68K/M68KDisassembler.c.o
[ 57%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/M68K/M68KModule.c.o
[ 57%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/TMS320C64x/TMS320C64xDisassembler.c.o
[ 58%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/TMS320C64x/TMS320C64xInstPrinter.c.o
[ 59%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/TMS320C64x/TMS320C64xMapping.c.o
[ 60%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/TMS320C64x/TMS320C64xModule.c.o
[ 61%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/M680X/M680XDisassembler.c.o
[ 61%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/M680X/M680XInstPrinter.c.o
[ 62%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/M680X/M680XModule.c.o
[ 63%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/EVM/EVMDisassembler.c.o
[ 64%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/EVM/EVMInstPrinter.c.o
[ 65%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/EVM/EVMMapping.c.o
[ 65%] Building C object third_party/capstone/CMakeFiles/capstone-static.dir/arch/EVM/EVMModule.c.o
[ 66%] Linking C static library libcapstone.a
[ 66%] Built target capstone-static
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
erosca commented 5 years ago

Same problem on Ubuntu 16.04.6 LTS. Fixed with sudo apt install protobuf-compiler.

Avamander commented 4 years ago

On Ubuntu 20.04 it's protobuf-c-compiler not protobuf-compiler. Just mentioning for those coming from Google (search).

jbulow commented 1 year ago

This is still an issue:

 cmake --build build
[1/104] Generating src/bloaty.pb.cc
FAILED: src/bloaty.pb.cc /big/build/bloaty/build/src/bloaty.pb.cc
/bin/sh: 1: protoc: not found