Build Instructions

Michael edited this page Jun 2, 2015 · 31 revisions

Most of this is noted in the main README. But here are some additional bits.

As of Mosh 1.2, Boost is no longer needed.

OSX

  • Should be in ports as "mosh" and homebrew as "mobile-shell"
  • Tested on Snow Leopard and Lion
  • clang++ works. (export CXX=clang++)
  • You may need a newer autoconf to build from master. But the tarballs are fine.

Manually: (adapt as needed)

brew install protobuf
brew install boost
brew install pkg-config
brew install automake

git clone https://github.com/keithw/mosh.git
cd mosh
./autogen.sh
./configure
make
make install

Athena

You don't need to build here. It's in the mosh_project locker. --server='athrun mosh_project mosh-server'

Debian 6.0 Stable (squeeze)

Nobody's packaged mosh for Debian stable yet. In lieu of doing so myself, here is the quick list of packages I found I needed to install before mosh would compile, and run:

apt-get install protobuf-compiler libprotobuf-dev libutempter-dev libboost-dev libio-pty-perl libssl-dev pkg-config autoconf

Notes:

  • libio-pty-perl is not needed for compilation/installation, just runtime
  • I installed all of the libboost-*1.42-dev pkgs as well, but I'm guessing libboost-dev is the minimum needed

Ubuntu

sudo apt-get install automake libtool g++ protobuf-compiler libprotobuf-dev libboost-dev libutempter-dev libncurses5-dev zlib1g-dev libio-pty-perl libssl-dev pkg-config

git clone https://github.com/keithw/mosh.git
cd mosh
./autogen.sh
./configure
make
make install

Notes:

  • libio-pty-perl is not needed for compilation/installation, just runtime
  • mosh-server and mosh-client will be in src/frontend/

Amazon Linux AMI

There are now packages in the EPEL repository for Amazon Linux AMI images. You can install with one command like this:

sudo yum --enablerepo=epel install -y mosh

(although, this is broken as of Amazon Linux version 2013.03)

---> Package mosh.x86_64 0:1.2.3-1.el6 will be installed
--> Processing Dependency: libprotobuf.so.6()(64bit) for package: mosh-1.2.3-1.el6.x86_64
--> Finished Dependency Resolution
Error: Package: mosh-1.2.3-1.el6.x86_64 (epel)
           Requires: libprotobuf.so.6()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Note that you'll also have to open up UDP ports 60000-61000. On EC2, you can do this through the AWS management console under EC2 > Security Groups.