В Ubuntu 18.04.02 Server Edition я скачал отсюда Protobuf-Releases protobuf-all-3.10.0.zip и, следуя указаниям здесь ProtocolBuffersReadme Я установил в /usr / local / lib / библиотеки:
(base) marco@pc:/usr/local/lib$ ls -lah | grep "libproto*"
-rw-r--r-- 1 root root 14M Oct 25 11:27 libprotobuf-lite.a
-rwxr-xr-x 1 root root 1011 Oct 25 11:27 libprotobuf-lite.la
lrwxrwxrwx 1 root root 26 Oct 25 11:27 libprotobuf-lite.so -> libprotobuf-lite.so.21.0.0
lrwxrwxrwx 1 root root 26 Oct 25 11:27 libprotobuf-lite.so.21 -> libprotobuf-lite.so.21.0.0
-rwxr-xr-x 1 root root 5.3M Oct 25 11:27 libprotobuf-lite.so.21.0.0
-rw-r--r-- 1 root root 88M Oct 25 11:27 libprotobuf.a
-rwxr-xr-x 1 root root 976 Oct 25 11:27 libprotobuf.la
lrwxrwxrwx 1 root root 21 Oct 25 11:27 libprotobuf.so -> libprotobuf.so.21.0.0
lrwxrwxrwx 1 root root 21 Oct 25 11:27 libprotobuf.so.21 -> libprotobuf.so.21.0.0
-rwxr-xr-x 1 root root 34M Oct 25 11:27 libprotobuf.so.21.0.0
-rw-r--r-- 1 root root 136M Oct 25 11:27 libprotoc.a
-rwxr-xr-x 1 root root 992 Oct 25 11:27 libprotoc.la
lrwxrwxrwx 1 root root 19 Oct 25 11:27 libprotoc.so -> libprotoc.so.21.0.0
lrwxrwxrwx 1 root root 19 Oct 25 11:27 libprotoc.so.21 -> libprotoc.so.21.0.0
-rwxr-xr-x 1 root root 45M Oct 25 11:27 libprotoc.so.21.0.0
(base) marco@pc:/usr/local/lib$
Следуя этим указаниям: https://developers.google.com/protocol-buffers/docs/cpptutorial Я попытался скомпилировать протобуфер в следующем примере:
(base) marco@pc:~/protobuf-3.10.0/examples$ protoc -I=/usr/local/include -cpp_out=.
$SRC_DIR/addressbook.proto
protoc: error while loading shared libraries: libprotoc.so.22: cannot open shared object file: No
such file or directory
Обновления:
1) marco@pc:~$ which protoc
/usr/bin/protoc
(base) marco@pc:/usr/bin$ ls -lah | grep protoc
-rwxr-xr-x 1 root root 374K Oct 24 19:41 protoc
(base) marco@pc:/usr/bin$ ldd protoc
linux-vdso.so.1 (0x00007fffc7fc6000)
libprotoc.so.22 => not found
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(0x00007f23bfea9000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
(0x00007f23bfc91000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007f23bfa72000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f23bf681000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f23bf2e3000)
/lib64/ld-linux-x86-64.so.2 (0x00007f23c0436000)
Как решить проблему?
Обновление 2: Благодаря @Botje у меня появился второй, неизвестный мне, protoc в / usr / protoc. После удаления второй, который я установил ранее, "заново появился" и работал просто отлично
Marco