sudo apt install perl protobuf-compiler libprotobuf-dev \
libncurses5-dev zlib1g-dev libutempter-dev libssl-dev
git clone --depth=1 https://github.com/mobile-shell/mosh.git
cd mosh
./autogen.sh
./configure
make && sudo make install
❯ ./autogen.sh
./autogen.sh: 3: exec: autoreconf: not found
Solution:
sudo apt install automake
❯ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for cc... cc
...
...
...
checking for ranlib... ranlib
checking for protoc... no
configure: error: cannot find protoc, the Protocol Buffers compiler
Solution:
sudo apt install protobuf-compiler
or
git clone --depth=1 https://github.com/google/protobuf.git
cd protobuf
./autogen.sh
./configure
make && sudo make install
❯ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for cc... cc
...
...
...
checking for utempter_remove_record in -lutempter... no
configure: WARNING: Unable to find libutempter; utmp entries will not be made.
checking for compress in -lz... no
configure: error: Unable to find zlib.
Solution:
sudo apt install zlib1g-dev
❯ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for cc... cc
...
...
...
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for TINFO... no
checking for TINFO... no
checking curses.h usability... no
checking curses.h presence... no
checking for curses.h... no
checking for NcursesW wide-character library... no
checking for Ncurses library... no
checking for Curses library... no
configure: error: requires either tinfo, NcursesW or Ncurses library
Solution:
sudo apt install libncurses5-dev
❯ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for cc... cc
...
...
...
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for TINFO... yes
checking CommonCrypto/CommonCrypto.h usability... no
checking CommonCrypto/CommonCrypto.h presence... no
checking for CommonCrypto/CommonCrypto.h... no
checking for CRYPTO... no
checking openssl/aes.h usability... no
checking openssl/aes.h presence... no
checking for openssl/aes.h... no
configure: error: OpenSSL crypto library not found
Solution:
sudo apt install libssl-dev
❯ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for cc... cc
...
...
...
checking whether __builtin_bswap64 is declared... yes
checking whether IP_MTU_DISCOVER is declared... yes
checking whether IP_RECVTOS is declared... yes
checking whether __STDC_ISO_10646__ is declared... yes
checking whether IUTF8 is declared... yes
checking for protobuf... yes
checking whether protoc matches protobuf... /usr/local/bin/protoc: error while loading shared libraries: libprotoc.so.23: cannot open shared object file: No such file or directory
no
configure: error: Could not run protoc (/usr/local/bin/protoc).
Solution:
sudo apt install libprotobuf-dev
sudo apt install pkg-config
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = "en_US.UTF-8",
LC_CTYPE = "UTF-8",
LC_TERMINAL = "iTerm2",
LANG = "C.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("C.UTF-8").
Solution:
locale-gen en_US.UTF-8