Mosh 1.4.0-3 in extra not working because of linking issues

mosh-client: error while loading shared libraries: libprotobuf.so.23: cannot open shared object file: No such file or directory
Died at /usr/bin/mosh line 320.

I also tried linking the libprotobuf.so.23 to the existing libprotobuf.so, but this did not solve the issue. For me I solved the issue by rebuilding using the mosh git repo.

I think you should update. All branches have the same version of protobuf and mosh.

Today I ran the full system upgrade and the issue remains the same. I tried also reinstalling mosh which did not help.

Which version did you install?

This is given for my install:

$ mosh --version
osh 1.4.0 [build mosh-1.4.0-dirty]
Copyright 2012 Keith Winstein <mosh-devel@mit.edu>
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ pamac info mosh
ame                  : mosh
Version               : 1.4.0-3
Description           : Mobile shell, surviving disconnects with local echo and line editing
URL                   : https://mosh.org/
Licenses              : GPL3
Repository            : extra
Installed Size        : 674.1 kB
Groups                : --
Depends On            : libutempter openssh openssl perl-io-tty protobuf
Optional Dependencies : --
Required By           : --
Optional For          : --
Provides              : --
Replaces              : --
Conflicts With        : --
Packager              : Antonio Rojas <arojas@archlinux.org>
Build Date            : Thu Jun 29 18:36:38 2023
Install Date          : Tue Jul  4 17:29:52 2023
Install Reason        : Explicitly installed
Validated By          : Signature
Backup files          : --

The exactly same (see title of the thread). After reinstalling also protobuf (23.4-1) now both the version from git and the version installed from extra are not working anymore, now giving

mosh-client: error while loading shared libraries: libprotobuf.so.32: cannot open shared object file: No such file or directory
Died at /usr/bin/mosh line 320.

(with 32 instead of 23) and soft linking to libprotobuf.so.32 to libprotobuf.so also did not help.

Now the manual installation failed at the ./configure step with

/usr/include/absl/base/policy_checks.h:79:2: error: #error "C++ versions less than C++14 are not supported."
   79 | #error "C++ versions less than C++14 are not supported."
      |  ^~~~~
In file included from conftest.pb.h:11:
/usr/include/google/protobuf/port_def.inc:205:15: error: static assertion failed: Protobuf only supports C++14 and newer.
  205 | static_assert(PROTOBUF_CPLUSPLUS_MIN(201402L), "Protobuf only supports C++14 and newer.");
...
configure: error: Could not build output generated by protoc (/usr/bin/protoc).
Check that protoc matches the installed protobuf headers and libraries.

which looks like that actually the protobuf package is not fitting the currently installed gcc-libs 13.1.1-1, but I found an issue on here: protobuf 23.3 no longer supports c++11 · Issue #1278 · mobile-shell/mosh · GitHub. The solution is to run before

export CPPFLAGS=-std=c++17

Then .configure, make and make install ran well and finally I can use my build of mosh again. But still not the one from the extra repository.

Edit: Very strange, now also the mosh from extra does not complain anymore and runs just fine.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.