Last active
April 2, 2024 16:48
-
-
Save xiaom/8264691 to your computer and use it in GitHub Desktop.
install mosh locally
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# this script does absolutely ZERO error checking. however, it worked | |
# for me on a RHEL 6.3 machine on 2012-08-08. clearly, the version numbers | |
# and/or URLs should be made variables. cheers, [email protected] | |
mkdir mosh | |
cd mosh | |
ROOT=`pwd` | |
echo "===================================" | |
echo "about to set up everything in $ROOT" | |
echo "===================================" | |
mkdir build | |
mkdir install | |
cd build | |
curl -O http://protobuf.googlecode.com/files/protobuf-2.4.1.tar.gz | |
curl -O http://cloud.github.com/downloads/keithw/mosh/mosh-1.2.2.tar.gz | |
tar zxvf protobuf-2.4.1.tar.gz | |
tar zxvf mosh-1.2.2.tar.gz | |
echo "=================" | |
echo "building protobuf" | |
echo "=================" | |
cd $ROOT/build/protobuf-2.4.1 | |
./configure --prefix=$HOME/local --disable-shared | |
make install | |
echo "=============" | |
echo "building mosh" | |
echo "=============" | |
cd $ROOT/build/mosh-1.2.2 | |
export PROTOC=$HOME/local/bin/protoc | |
export protobuf_CFLAGS=-I$HOME/local/include | |
export protobuf_LIBS=$HOME/local/lib/libprotobuf.a | |
./configure --prefix=$HOME/local | |
make install | |
echo "===" | |
echo "if all was successful, binaries are now in $ROOT/install/mosh/bin" | |
echo "===" |
@paulirish I was getting the same error. And I installed it by following your suggestion. However, when I run 'mosh', I had another error, 'Bareword "AI_NUMERICHOST" not allowed while "strict subs" in use at ~/mosh/bin/mosh line 489'. Any idea how to solve this problem?
This following code worked for me. I applied the export CXXFLAGS="$CXXFLAGS -fPIC"
as paulirish mentioned. However, I used libprotobuf.a
instead of libprotobuf.so
because I got weird errors whenever I tried to use libprotobuf.so
. If you still can't use mosh after running the following code, try using the --server option in mosh.
mkdir mosh
cd mosh
ROOT=`pwd`
echo "==================================="
echo "about to set up everything in $ROOT"
echo "==================================="
mkdir build
mkdir install
cd build
curl -O https://codeload.github.com/google/protobuf/tar.gz/v3.4.0
curl -O https://mosh.org/mosh-1.3.2.tar.gz
tar zxvf v3.4.0
tar zxvf mosh-1.3.2.tar.gz
echo "================="
echo "building protobuf"
echo "================="
cd $ROOT/build/protobuf-3.4.0
export CXXFLAGS="$CXXFLAGS -fPIC"
./autogen.sh
./configure --prefix=$HOME/local --disable-shared
make install
echo "============="
echo "building mosh"
echo "============="
cd $ROOT/build/mosh-1.3.2
export PROTOC=$HOME/local/bin/protoc
export protobuf_CFLAGS=-I$HOME/local/include
export protobuf_LIBS=$HOME/local/lib/libprotobuf.a
./autogen.sh
./configure --prefix=$HOME/local
make install
echo "==="
echo "if all was successful, binaries are now in $ROOT/install/mosh/bin"
echo "==="
@jzhan039 I'm having the same issue. Did you ever solve it?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Current URLs
troubleshooting
I was getting this error:
/usr/bin/ld: /home/me/local/lib/libprotobuf.a(common.o): relocation R_X86_64_32S against `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' can not be used when making a shared object; recompile with -fPIC
I ended up solving it with:
later, turns out my binaries (
mosh
,mosh-client
,mosh-server
,protoc
) were installed into$HOME/local/bin/
and I had to both add that to the PATH, and manually tell my client where to find the server binaries it with the
--server
option