Installation
C++
See https://github.com/protocolbuffers/protobuf/blob/main/src/README.md.
make protocol-buffers
cd protocol-buffers
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.20.1/protobuf-all-3.20.1.tar.gz
tar xvf protobuf-all-3.20.1.tar.gz
cd protobuf-all-3.20.1
./configure --prefix=$HOME/software/protobuf-3.20.1
make -j 20
make -j 10 check
make install 2>&1 | tee my-log.txt
cd $HOME/software/protobuf-3.20.1
tree . > tree-log.txt
$ export PKG_CONFIG_PATH=$HOME/software/protobuf-3.20.1:$PKG_CONFIG_PATH
$ pkg-config --cflags protobuf
-I/root/fangjun/software/protobuf-3.20.1/include
$ pkg-config --libs protobuf
-L/root/fangjun/software/protobuf-3.20.1/lib -lprotobuf
$ pkg-config --cflags --libs protobuf
-I/root/fangjun/software/protobuf-3.20.1/include -L/root/fangjun/software/protobuf-3.20.1/lib -lprotobuf
$ pkg-config --libs-only-L protobuf
-L/root/fangjun/software/protobuf-3.20.1/lib
$ pkg-config --libs-only-l protobuf
-lprotobuf
$ export PATH=$HOME/software/protobuf-3.20.1/bin:$PATH
$ protoc --version
libprotoc 3.20.1
./code/my-log.txt (Installation logs)
1Making install in .
2make[1]: Entering directory '/ceph-fj/fangjun/open-source-2/protocol-buffers/protobuf-3.20.1'
3make[2]: Entering directory '/ceph-fj/fangjun/open-source-2/protocol-buffers/protobuf-3.20.1'
4make[2]: Nothing to be done for 'install-exec-am'.
5 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/lib/pkgconfig'
6 /usr/bin/install -c -m 644 protobuf.pc protobuf-lite.pc '/root/fangjun/software/protobuf-3.20.1/lib/pkgconfig'
7make[2]: Leaving directory '/ceph-fj/fangjun/open-source-2/protocol-buffers/protobuf-3.20.1'
8make[1]: Leaving directory '/ceph-fj/fangjun/open-source-2/protocol-buffers/protobuf-3.20.1'
9Making install in src
10make[1]: Entering directory '/ceph-fj/fangjun/open-source-2/protocol-buffers/protobuf-3.20.1/src'
11make[2]: Entering directory '/ceph-fj/fangjun/open-source-2/protocol-buffers/protobuf-3.20.1/src'
12 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/lib'
13 /bin/bash ../libtool --mode=install /usr/bin/install -c libprotobuf-lite.la libprotobuf.la libprotoc.la '/root/fangjun/software/protobuf-3.20.1/lib'
14libtool: install: /usr/bin/install -c .libs/libprotobuf-lite.so.31.0.1 /root/fangjun/software/protobuf-3.20.1/lib/libprotobuf-lite.so.31.0.1
15libtool: install: (cd /root/fangjun/software/protobuf-3.20.1/lib && { ln -s -f libprotobuf-lite.so.31.0.1 libprotobuf-lite.so.31 || { rm -f libprotobuf-lite.so.31 && ln -s libprotobuf-lite.so.31.0.1 libprotobuf-lite.so.31; }; })
16libtool: install: (cd /root/fangjun/software/protobuf-3.20.1/lib && { ln -s -f libprotobuf-lite.so.31.0.1 libprotobuf-lite.so || { rm -f libprotobuf-lite.so && ln -s libprotobuf-lite.so.31.0.1 libprotobuf-lite.so; }; })
17libtool: install: /usr/bin/install -c .libs/libprotobuf-lite.lai /root/fangjun/software/protobuf-3.20.1/lib/libprotobuf-lite.la
18libtool: install: /usr/bin/install -c .libs/libprotobuf.so.31.0.1 /root/fangjun/software/protobuf-3.20.1/lib/libprotobuf.so.31.0.1
19libtool: install: (cd /root/fangjun/software/protobuf-3.20.1/lib && { ln -s -f libprotobuf.so.31.0.1 libprotobuf.so.31 || { rm -f libprotobuf.so.31 && ln -s libprotobuf.so.31.0.1 libprotobuf.so.31; }; })
20libtool: install: (cd /root/fangjun/software/protobuf-3.20.1/lib && { ln -s -f libprotobuf.so.31.0.1 libprotobuf.so || { rm -f libprotobuf.so && ln -s libprotobuf.so.31.0.1 libprotobuf.so; }; })
21libtool: install: /usr/bin/install -c .libs/libprotobuf.lai /root/fangjun/software/protobuf-3.20.1/lib/libprotobuf.la
22libtool: warning: relinking 'libprotoc.la'
23libtool: install: (cd /root/fangjun/open-source-2/protocol-buffers/protobuf-3.20.1/src; /bin/bash "/root/fangjun/open-source-2/protocol-buffers/protobuf-3.20.1/libtool" --silent --tag CXX --mode=relink g++ -pthread -DHAVE_PTHREAD=1 -DHAVE_ZLIB=1 -Wall -Wno-sign-compare -O2 -g -std=c++11 -DNDEBUG -version-info 31:1:0 -export-dynamic -no-undefined -Wl,--version-script=./libprotoc.map -o libprotoc.la -rpath /root/fangjun/software/protobuf-3.20.1/lib google/protobuf/compiler/code_generator.lo google/protobuf/compiler/command_line_interface.lo google/protobuf/compiler/cpp/cpp_enum.lo google/protobuf/compiler/cpp/cpp_enum_field.lo google/protobuf/compiler/cpp/cpp_extension.lo google/protobuf/compiler/cpp/cpp_field.lo google/protobuf/compiler/cpp/cpp_file.lo google/protobuf/compiler/cpp/cpp_generator.lo google/protobuf/compiler/cpp/cpp_helpers.lo google/protobuf/compiler/cpp/cpp_map_field.lo google/protobuf/compiler/cpp/cpp_message.lo google/protobuf/compiler/cpp/cpp_message_field.lo google/protobuf/compiler/cpp/cpp_padding_optimizer.lo google/protobuf/compiler/cpp/cpp_parse_function_generator.lo google/protobuf/compiler/cpp/cpp_primitive_field.lo google/protobuf/compiler/cpp/cpp_service.lo google/protobuf/compiler/cpp/cpp_string_field.lo google/protobuf/compiler/csharp/csharp_doc_comment.lo google/protobuf/compiler/csharp/csharp_enum.lo google/protobuf/compiler/csharp/csharp_enum_field.lo google/protobuf/compiler/csharp/csharp_field_base.lo google/protobuf/compiler/csharp/csharp_generator.lo google/protobuf/compiler/csharp/csharp_helpers.lo google/protobuf/compiler/csharp/csharp_map_field.lo google/protobuf/compiler/csharp/csharp_message.lo google/protobuf/compiler/csharp/csharp_message_field.lo google/protobuf/compiler/csharp/csharp_primitive_field.lo google/protobuf/compiler/csharp/csharp_reflection_class.lo google/protobuf/compiler/csharp/csharp_repeated_enum_field.lo google/protobuf/compiler/csharp/csharp_repeated_message_field.lo google/protobuf/compiler/csharp/csharp_repeated_primitive_field.lo google/protobuf/compiler/csharp/csharp_source_generator_base.lo google/protobuf/compiler/csharp/csharp_wrapper_field.lo google/protobuf/compiler/java/java_context.lo google/protobuf/compiler/java/java_doc_comment.lo google/protobuf/compiler/java/java_enum.lo google/protobuf/compiler/java/java_enum_field.lo google/protobuf/compiler/java/java_enum_field_lite.lo google/protobuf/compiler/java/java_enum_lite.lo google/protobuf/compiler/java/java_extension.lo google/protobuf/compiler/java/java_extension_lite.lo google/protobuf/compiler/java/java_field.lo google/protobuf/compiler/java/java_file.lo google/protobuf/compiler/java/java_generator.lo google/protobuf/compiler/java/java_generator_factory.lo google/protobuf/compiler/java/java_helpers.lo google/protobuf/compiler/java/java_kotlin_generator.lo google/protobuf/compiler/java/java_map_field.lo google/protobuf/compiler/java/java_map_field_lite.lo google/protobuf/compiler/java/java_message.lo google/protobuf/compiler/java/java_message_builder.lo google/protobuf/compiler/java/java_message_builder_lite.lo google/protobuf/compiler/java/java_message_field.lo google/protobuf/compiler/java/java_message_field_lite.lo google/protobuf/compiler/java/java_message_lite.lo google/protobuf/compiler/java/java_name_resolver.lo google/protobuf/compiler/java/java_primitive_field.lo google/protobuf/compiler/java/java_primitive_field_lite.lo google/protobuf/compiler/java/java_service.lo google/protobuf/compiler/java/java_shared_code_generator.lo google/protobuf/compiler/java/java_string_field.lo google/protobuf/compiler/java/java_string_field_lite.lo google/protobuf/compiler/js/js_generator.lo google/protobuf/compiler/js/well_known_types_embed.lo google/protobuf/compiler/objectivec/objectivec_enum.lo google/protobuf/compiler/objectivec/objectivec_enum_field.lo google/protobuf/compiler/objectivec/objectivec_extension.lo google/protobuf/compiler/objectivec/objectivec_field.lo google/protobuf/compiler/objectivec/objectivec_file.lo google/protobuf/compiler/objectivec/objectivec_generator.lo google/protobuf/compiler/objectivec/objectivec_helpers.lo google/protobuf/compiler/objectivec/objectivec_map_field.lo google/protobuf/compiler/objectivec/objectivec_message.lo google/protobuf/compiler/objectivec/objectivec_message_field.lo google/protobuf/compiler/objectivec/objectivec_oneof.lo google/protobuf/compiler/objectivec/objectivec_primitive_field.lo google/protobuf/compiler/php/php_generator.lo google/protobuf/compiler/plugin.lo google/protobuf/compiler/plugin.pb.lo google/protobuf/compiler/python/python_generator.lo google/protobuf/compiler/python/python_helpers.lo google/protobuf/compiler/python/python_pyi_generator.lo google/protobuf/compiler/ruby/ruby_generator.lo google/protobuf/compiler/subprocess.lo google/protobuf/compiler/zip_writer.lo -lpthread libprotobuf.la -lz )
24libtool: install: /usr/bin/install -c .libs/libprotoc.so.31.0.1T /root/fangjun/software/protobuf-3.20.1/lib/libprotoc.so.31.0.1
25libtool: install: (cd /root/fangjun/software/protobuf-3.20.1/lib && { ln -s -f libprotoc.so.31.0.1 libprotoc.so.31 || { rm -f libprotoc.so.31 && ln -s libprotoc.so.31.0.1 libprotoc.so.31; }; })
26libtool: install: (cd /root/fangjun/software/protobuf-3.20.1/lib && { ln -s -f libprotoc.so.31.0.1 libprotoc.so || { rm -f libprotoc.so && ln -s libprotoc.so.31.0.1 libprotoc.so; }; })
27libtool: install: /usr/bin/install -c .libs/libprotoc.lai /root/fangjun/software/protobuf-3.20.1/lib/libprotoc.la
28libtool: install: /usr/bin/install -c .libs/libprotobuf-lite.a /root/fangjun/software/protobuf-3.20.1/lib/libprotobuf-lite.a
29libtool: install: chmod 644 /root/fangjun/software/protobuf-3.20.1/lib/libprotobuf-lite.a
30libtool: install: ranlib /root/fangjun/software/protobuf-3.20.1/lib/libprotobuf-lite.a
31libtool: install: /usr/bin/install -c .libs/libprotobuf.a /root/fangjun/software/protobuf-3.20.1/lib/libprotobuf.a
32libtool: install: chmod 644 /root/fangjun/software/protobuf-3.20.1/lib/libprotobuf.a
33libtool: install: ranlib /root/fangjun/software/protobuf-3.20.1/lib/libprotobuf.a
34libtool: install: /usr/bin/install -c .libs/libprotoc.a /root/fangjun/software/protobuf-3.20.1/lib/libprotoc.a
35libtool: install: chmod 644 /root/fangjun/software/protobuf-3.20.1/lib/libprotoc.a
36libtool: install: ranlib /root/fangjun/software/protobuf-3.20.1/lib/libprotoc.a
37libtool: finish: PATH="/ceph-fj/fangjun/software/py38/bin:/ceph-fj/fangjun/software/jdk-17.0.3/bin:/ceph-fj/fangjun/software/cmake/bin:/ceph-fj/fangjun/software/texlive2021-20210325/bin/x86_64-linux:/ceph-sh1/fangjun/software/cuda-10.2.89/bin:/ceph-fj/fangjun/software/bin:/ceph-sh1/fangjun/software/bin:/ceph-sh1/fangjun/software/nvim-linux64/bin:/ceph-fj/fangjun/software/py38/bin:/ceph-fj/fangjun/software/cmake/bin:/ceph-fj/fangjun/software/texlive2021-20210325/bin/x86_64-linux:/ceph-sh1/fangjun/software/cuda-10.2.89/bin:/ceph-sh1/fangjun/software/nvim-linux64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/sbin" ldconfig -n /root/fangjun/software/protobuf-3.20.1/lib
38----------------------------------------------------------------------
39Libraries have been installed in:
40 /root/fangjun/software/protobuf-3.20.1/lib
41
42If you ever happen to want to link against installed libraries
43in a given directory, LIBDIR, you must either use libtool, and
44specify the full pathname of the library, or use the '-LLIBDIR'
45flag during linking and do at least one of the following:
46 - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
47 during execution
48 - add LIBDIR to the 'LD_RUN_PATH' environment variable
49 during linking
50 - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
51 - have your system administrator add LIBDIR to '/etc/ld.so.conf'
52
53See any operating system documentation about shared libraries for
54more information, such as the ld(1) and ld.so(8) manual pages.
55----------------------------------------------------------------------
56 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/bin'
57 /bin/bash ../libtool --mode=install /usr/bin/install -c protoc '/root/fangjun/software/protobuf-3.20.1/bin'
58libtool: install: /usr/bin/install -c .libs/protoc /root/fangjun/software/protobuf-3.20.1/bin/protoc
59 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/include'
60 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf'
61 /usr/bin/install -c -m 644 google/protobuf/any.proto google/protobuf/api.proto google/protobuf/descriptor.proto google/protobuf/duration.proto google/protobuf/empty.proto google/protobuf/field_mask.proto google/protobuf/source_context.proto google/protobuf/struct.proto google/protobuf/timestamp.proto google/protobuf/type.proto google/protobuf/wrappers.proto '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf'
62 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler'
63 /usr/bin/install -c -m 644 google/protobuf/compiler/plugin.proto '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler'
64 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/include'
65 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf'
66 /usr/bin/install -c -m 644 google/protobuf/any.h google/protobuf/any.pb.h google/protobuf/api.pb.h google/protobuf/arena.h google/protobuf/arena_impl.h google/protobuf/arenastring.h google/protobuf/arenaz_sampler.h google/protobuf/descriptor.h google/protobuf/descriptor.pb.h google/protobuf/descriptor_database.h google/protobuf/duration.pb.h google/protobuf/dynamic_message.h google/protobuf/empty.pb.h google/protobuf/explicitly_constructed.h google/protobuf/extension_set.h google/protobuf/extension_set_inl.h google/protobuf/field_access_listener.h google/protobuf/field_mask.pb.h google/protobuf/generated_enum_reflection.h google/protobuf/generated_enum_util.h google/protobuf/generated_message_bases.h google/protobuf/generated_message_reflection.h google/protobuf/generated_message_tctable_decl.h google/protobuf/generated_message_tctable_impl.h google/protobuf/generated_message_util.h google/protobuf/has_bits.h google/protobuf/implicit_weak_message.h google/protobuf/inlined_string_field.h google/protobuf/map.h google/protobuf/map_entry.h google/protobuf/map_entry_lite.h google/protobuf/map_field.h google/protobuf/map_field_inl.h google/protobuf/map_field_lite.h google/protobuf/map_type_handler.h google/protobuf/message.h google/protobuf/message_lite.h google/protobuf/metadata.h google/protobuf/metadata_lite.h google/protobuf/parse_context.h '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf'
67 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler/js'
68 /usr/bin/install -c -m 644 google/protobuf/compiler/js/js_generator.h '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler/js'
69 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler/cpp'
70 /usr/bin/install -c -m 644 google/protobuf/compiler/cpp/cpp_file.h google/protobuf/compiler/cpp/cpp_generator.h google/protobuf/compiler/cpp/cpp_helpers.h google/protobuf/compiler/cpp/cpp_names.h '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler/cpp'
71 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler/ruby'
72 /usr/bin/install -c -m 644 google/protobuf/compiler/ruby/ruby_generator.h '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler/ruby'
73 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler/python'
74 /usr/bin/install -c -m 644 google/protobuf/compiler/python/python_generator.h google/protobuf/compiler/python/python_pyi_generator.h '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler/python'
75 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/util'
76 /usr/bin/install -c -m 644 google/protobuf/util/delimited_message_util.h google/protobuf/util/field_comparator.h google/protobuf/util/field_mask_util.h google/protobuf/util/json_util.h google/protobuf/util/message_differencer.h google/protobuf/util/time_util.h google/protobuf/util/type_resolver.h google/protobuf/util/type_resolver_util.h '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/util'
77 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/io'
78 /usr/bin/install -c -m 644 google/protobuf/io/coded_stream.h google/protobuf/io/gzip_stream.h google/protobuf/io/io_win32.h google/protobuf/io/printer.h google/protobuf/io/strtod.h google/protobuf/io/tokenizer.h google/protobuf/io/zero_copy_stream.h google/protobuf/io/zero_copy_stream_impl.h google/protobuf/io/zero_copy_stream_impl_lite.h '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/io'
79 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler/csharp'
80 /usr/bin/install -c -m 644 google/protobuf/compiler/csharp/csharp_doc_comment.h google/protobuf/compiler/csharp/csharp_generator.h google/protobuf/compiler/csharp/csharp_names.h google/protobuf/compiler/csharp/csharp_options.h '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler/csharp'
81 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler/php'
82 /usr/bin/install -c -m 644 google/protobuf/compiler/php/php_generator.h '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler/php'
83 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/stubs'
84 /usr/bin/install -c -m 644 google/protobuf/stubs/bytestream.h google/protobuf/stubs/callback.h google/protobuf/stubs/casts.h google/protobuf/stubs/common.h google/protobuf/stubs/hash.h google/protobuf/stubs/logging.h google/protobuf/stubs/macros.h google/protobuf/stubs/map_util.h google/protobuf/stubs/mutex.h google/protobuf/stubs/once.h google/protobuf/stubs/platform_macros.h google/protobuf/stubs/port.h google/protobuf/stubs/status.h google/protobuf/stubs/stl_util.h google/protobuf/stubs/stringpiece.h google/protobuf/stubs/strutil.h google/protobuf/stubs/template_util.h '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/stubs'
85 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler/java'
86 /usr/bin/install -c -m 644 google/protobuf/compiler/java/java_generator.h google/protobuf/compiler/java/java_kotlin_generator.h google/protobuf/compiler/java/java_names.h '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler/java'
87 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf'
88 /usr/bin/install -c -m 644 google/protobuf/port.h google/protobuf/port_def.inc google/protobuf/port_undef.inc google/protobuf/reflection.h google/protobuf/reflection_ops.h google/protobuf/repeated_field.h google/protobuf/repeated_ptr_field.h google/protobuf/service.h google/protobuf/source_context.pb.h google/protobuf/struct.pb.h google/protobuf/text_format.h google/protobuf/timestamp.pb.h google/protobuf/type.pb.h google/protobuf/unknown_field_set.h google/protobuf/wire_format.h google/protobuf/wire_format_lite.h google/protobuf/wrappers.pb.h '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf'
89 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler/objectivec'
90 /usr/bin/install -c -m 644 google/protobuf/compiler/objectivec/objectivec_generator.h google/protobuf/compiler/objectivec/objectivec_helpers.h '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler/objectivec'
91 /bin/mkdir -p '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler'
92 /usr/bin/install -c -m 644 google/protobuf/compiler/code_generator.h google/protobuf/compiler/command_line_interface.h google/protobuf/compiler/importer.h google/protobuf/compiler/parser.h google/protobuf/compiler/plugin.h google/protobuf/compiler/plugin.pb.h '/root/fangjun/software/protobuf-3.20.1/include/google/protobuf/compiler'
93make[2]: Leaving directory '/ceph-fj/fangjun/open-source-2/protocol-buffers/protobuf-3.20.1/src'
94make[1]: Leaving directory '/ceph-fj/fangjun/open-source-2/protocol-buffers/protobuf-3.20.1/src'
./code/tree-log.txt (Installed files)
1.
2|-- bin
3| `-- protoc
4|-- include
5| `-- google
6| `-- protobuf
7| |-- any.h
8| |-- any.pb.h
9| |-- any.proto
10| |-- api.pb.h
11| |-- api.proto
12| |-- arena.h
13| |-- arena_impl.h
14| |-- arenastring.h
15| |-- arenaz_sampler.h
16| |-- compiler
17| | |-- code_generator.h
18| | |-- command_line_interface.h
19| | |-- cpp
20| | | |-- cpp_file.h
21| | | |-- cpp_generator.h
22| | | |-- cpp_helpers.h
23| | | `-- cpp_names.h
24| | |-- csharp
25| | | |-- csharp_doc_comment.h
26| | | |-- csharp_generator.h
27| | | |-- csharp_names.h
28| | | `-- csharp_options.h
29| | |-- importer.h
30| | |-- java
31| | | |-- java_generator.h
32| | | |-- java_kotlin_generator.h
33| | | `-- java_names.h
34| | |-- js
35| | | `-- js_generator.h
36| | |-- objectivec
37| | | |-- objectivec_generator.h
38| | | `-- objectivec_helpers.h
39| | |-- parser.h
40| | |-- php
41| | | `-- php_generator.h
42| | |-- plugin.h
43| | |-- plugin.pb.h
44| | |-- plugin.proto
45| | |-- python
46| | | |-- python_generator.h
47| | | `-- python_pyi_generator.h
48| | `-- ruby
49| | `-- ruby_generator.h
50| |-- descriptor.h
51| |-- descriptor.pb.h
52| |-- descriptor.proto
53| |-- descriptor_database.h
54| |-- duration.pb.h
55| |-- duration.proto
56| |-- dynamic_message.h
57| |-- empty.pb.h
58| |-- empty.proto
59| |-- explicitly_constructed.h
60| |-- extension_set.h
61| |-- extension_set_inl.h
62| |-- field_access_listener.h
63| |-- field_mask.pb.h
64| |-- field_mask.proto
65| |-- generated_enum_reflection.h
66| |-- generated_enum_util.h
67| |-- generated_message_bases.h
68| |-- generated_message_reflection.h
69| |-- generated_message_tctable_decl.h
70| |-- generated_message_tctable_impl.h
71| |-- generated_message_util.h
72| |-- has_bits.h
73| |-- implicit_weak_message.h
74| |-- inlined_string_field.h
75| |-- io
76| | |-- coded_stream.h
77| | |-- gzip_stream.h
78| | |-- io_win32.h
79| | |-- printer.h
80| | |-- strtod.h
81| | |-- tokenizer.h
82| | |-- zero_copy_stream.h
83| | |-- zero_copy_stream_impl.h
84| | `-- zero_copy_stream_impl_lite.h
85| |-- map.h
86| |-- map_entry.h
87| |-- map_entry_lite.h
88| |-- map_field.h
89| |-- map_field_inl.h
90| |-- map_field_lite.h
91| |-- map_type_handler.h
92| |-- message.h
93| |-- message_lite.h
94| |-- metadata.h
95| |-- metadata_lite.h
96| |-- parse_context.h
97| |-- port.h
98| |-- port_def.inc
99| |-- port_undef.inc
100| |-- reflection.h
101| |-- reflection_ops.h
102| |-- repeated_field.h
103| |-- repeated_ptr_field.h
104| |-- service.h
105| |-- source_context.pb.h
106| |-- source_context.proto
107| |-- struct.pb.h
108| |-- struct.proto
109| |-- stubs
110| | |-- bytestream.h
111| | |-- callback.h
112| | |-- casts.h
113| | |-- common.h
114| | |-- hash.h
115| | |-- logging.h
116| | |-- macros.h
117| | |-- map_util.h
118| | |-- mutex.h
119| | |-- once.h
120| | |-- platform_macros.h
121| | |-- port.h
122| | |-- status.h
123| | |-- stl_util.h
124| | |-- stringpiece.h
125| | |-- strutil.h
126| | `-- template_util.h
127| |-- text_format.h
128| |-- timestamp.pb.h
129| |-- timestamp.proto
130| |-- type.pb.h
131| |-- type.proto
132| |-- unknown_field_set.h
133| |-- util
134| | |-- delimited_message_util.h
135| | |-- field_comparator.h
136| | |-- field_mask_util.h
137| | |-- json_util.h
138| | |-- message_differencer.h
139| | |-- time_util.h
140| | |-- type_resolver.h
141| | `-- type_resolver_util.h
142| |-- wire_format.h
143| |-- wire_format_lite.h
144| |-- wrappers.pb.h
145| `-- wrappers.proto
146|-- lib
147| |-- libprotobuf-lite.a
148| |-- libprotobuf-lite.la
149| |-- libprotobuf-lite.so -> libprotobuf-lite.so.31.0.1
150| |-- libprotobuf-lite.so.31 -> libprotobuf-lite.so.31.0.1
151| |-- libprotobuf-lite.so.31.0.1
152| |-- libprotobuf.a
153| |-- libprotobuf.la
154| |-- libprotobuf.so -> libprotobuf.so.31.0.1
155| |-- libprotobuf.so.31 -> libprotobuf.so.31.0.1
156| |-- libprotobuf.so.31.0.1
157| |-- libprotoc.a
158| |-- libprotoc.la
159| |-- libprotoc.so -> libprotoc.so.31.0.1
160| |-- libprotoc.so.31 -> libprotoc.so.31.0.1
161| |-- libprotoc.so.31.0.1
162| `-- pkgconfig
163| |-- protobuf-lite.pc
164| `-- protobuf.pc
165`-- tree-log.txt
166
16718 directories, 146 files
Install with cmake
make protocol-buffers
cd protocol-buffers
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.20.1/protobuf-all-3.20.1.tar.gz
tar xvf protobuf-all-3.20.1.tar.gz
cd protobuf-all-3.20.1
mkdir my-build
cd my-build
cmake -Dprotobuf_BUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/ceph-fj/fangjun/software/protobuf-3.20.1-cmake/ ../cmake 2>&1 | tee cmake-configure-shared-lib.log
make -j10 2>&1 | tee make-shared.log
make install 2>&1 | tee make-shared-install.log
cd $HOME/software/protobuf-3.20.1-cmake
tree . > tree-cmake-log.txt