PROTOC(1)

πŸ“¦
version 3.21.12 Β· 3 versions
, in debian bookworm, debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’… PROTOC β€” like, the protocol buffer compiler bestie

okay so you found the protoc(1) page, the protocol buffer compiler one? pop off. let me give you the whole rundown, no cap. πŸŽ€


✨ NAME ✨

protoc β€” compile protocol buffer description files. that's it, that's the job. she compiles, she slays. πŸ¦‹


🌸 SYNOPSIS 🌸

protoc [--cpp_out=OUT_DIR] [--java_out=OUT_DIR] [--python_out=OUT_DIR]
       [-IPATH | --proto_path=PATH] PROTO_FILE

protoc {-h | --help}

protoc --version

πŸ‘‘ DESCRIPTION πŸ‘‘

so protoc is a compiler for protocol buffers definitions files (yes bestie, that's the actual wording, iconic). she can generate C++, Java and Python source code for the classes defined in PROTO_FILE. literally one file in, whole bunch of languages out. main character energy fr fr. πŸ’–


✨ OPTIONS ✨

  • -IPATH, --proto_path=PATH β€” tell her where to look for imports. you can drop this one multiple times and she'll search the directories in order, like a good little queue. if you don't give her any -IPATH at all, she just uses the current working directory. 🫢
  • --cpp_out=OUT_DIR β€” turn on C++ binding generation and stash them in OUT_DIR. πŸ“
  • --java_out=OUT_DIR β€” turn on Java binding generation and stash them in OUT_DIR. β˜•
  • --python_out=OUT_DIR β€” turn on Python binding generation and stash them in OUT_DIR. 🐍
  • -h, --help β€” show a lil summary of the options. your girl is helpful. πŸ’…
  • --version β€” show the version of the program. quick vibe check. ⭐
not me reminding you: you gotta give her at least one of --cpp_out, --java_out or --python_out, otherwise the program has nothing to do 😭 like she's just standing there. also? you can absolutely specify more than one at the same time. multitasking queen. πŸ‘‘

πŸ’€ BUGS πŸ’€

bestie listen. right now the program exits with code 255 for all errors, which makes it genuinely hard for scripts to tell what the actual error was. it's giving mysterious. it's giving unreadable. πŸ™ˆ

the upstream BTS lives at http://code.google.com/p/protobuf/issues/list β€” go yell there.


🌈 SEE ALSO 🌈

more documentation about protocol buffers syntax and APIs is available online at http://code.google.com/apis/protocolbuffers/docs/overview.html. go read, she's worth it. πŸ“š


🫢 AUTHOR 🫢

Iustin Pop <iustin@debian.org>

  • wrote this manpage for the Debian system. thank you for your service king. πŸŽ€

Copyright Β© 2007 Iustin Pop

this manual page was written for the Debian system (but may be used by others, she's generous like that).

permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or (at your option) any later version published by the Free Software Foundation.

on Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL. go look, it's right there. ✨


okay that's the whole thing, mwah πŸ’‹ β€” this was protobuf version 2.0.2, dated 2008-10-04, and yeah she's an old queen but she still compiles. periodt. πŸ’