on master help sign in
Update and clean up Install page for Meson
ca00457Keaton Dunsford
docs/using/install.md+135−34
@@ -12,11 +12,11 @@ Installing Urbit is easy. It just takes a few minutes to get an
12instance up and running on the network.
12instance up and running on the network.
13
13
14Urbit is designed to run on any Unix box with an internet connection.
14Urbit is designed to run on any Unix box with an internet connection.
15−Debian (jessie), Mac OS X, FreeBSD and Fedora all work well.
15+macOS, Ubuntu/Debian, FreeBSD, and Fedora all work well.
16
16
17If you run into trouble installing Urbit, please let us know via
17If you run into trouble installing Urbit, please let us know via
18email, [questions@urbit.org](mailto:questions@urbit.org), or on the
18email, [questions@urbit.org](mailto:questions@urbit.org), or on the
19−forum: [urbit.org/fora](https://urbit.org/fora). You can also chat
19+forum: [fora.urbit.org](https://fora.urbit.org). You can also chat
20with us at [urbit.org/stream](https://urbit.org/stream).
20with us at [urbit.org/stream](https://urbit.org/stream).
21
21
22> Urbit is alpha software. It’s not yet completely stable, its crypto
22> Urbit is alpha software. It’s not yet completely stable, its crypto
@@ -41,57 +41,157 @@ gmp
41libcurl
41libcurl
42libsigsegv
42libsigsegv
43libtool
43libtool
44+libuv
45+meson
46+ninja
44openssl
47openssl
45python2
48python2
46ragel
49ragel
47re2c
50re2c
48```
51```
49
52
50−Which can usually be installed with the following one-liners:
53+### Instructions
54+
55+First, you'll install the required dependencies to build Urbit from source. Then, you'll clone the Urbit source code, hosted on Github. Next, you'll bootstrap the Git submodules needed for the build. Lastly, you'll run a [Meson](https://github.com/mesonbuild/meson) build on the Urbit source to create your Urbit binary for your host operating system. Then, finally, you'll be able to boot your urbit.
56+
57+For your host OS platform and relevant package installer, run the respective Bash shell commands listed below in a fresh terminal window to get Urbit installed:
58+
59+> For those new to the command line, see:
60+>
61+> - Mac: [Introduction to the Mac OS X Command Line](http://blog.teamtreehouse.com/introduction-to-the-mac-os-x-command-line)
62+> - Linux: [An Introduction to the Linux Terminal](https://www.digitalocean.com/community/tutorials/an-introduction-to-the-linux-terminal)
63+
64+#### macOS
65+
66+##### Homebrew
67+
68+> [Homebrew installation guide](https://treehouse.github.io/installation-guides/mac/homebrew)
51
69
52```
70```
53−# macOS (Homebrew) https://treehouse.github.io/installation-guides/mac/homebrew
71+# Bash
54−# Linuxbrew http://linuxbrew.sh/
72+
73+brew update
55−$ brew install autoconf automake cmake gcc git gmp libsigsegv libtool meson ninja pkg-config python2 openssl re2c
74+brew install autoconf automake cmake gcc git gmp libsigsegv libtool meson ninja pkg-config python2 openssl re2c
75+git clone https://github.com/urbit/urbit
76+cd urbit
77+./scripts/bootstrap
78+./scripts/build
79+sudo install -m 0755 ./build/urbit /usr/local/bin
80+urbit
81+```
56
82
57−# macOS (Macports)
83+##### Macports
58−$ sudo port install autoconf automake cmake gmp libsigsegv openssl
59
84
60−# Ubuntu or Debian
85+```
86+# Bash
87+
88+sudo port selfupdate
61−$ sudo apt-get install autoconf automake cmake exuberant-ctags g++ git libcurl4-gnutls-dev libgmp3-dev libncurses5-dev libsigsegv-dev libssl-dev libtool make openssl python ragel re2c zlib1g-dev
89+sudo port install autoconf automake cmake gmp libsigsegv meson openssl
90+git clone https://github.com/urbit/urbit
91+cd urbit
92+./scripts/bootstrap
93+./scripts/build
94+sudo install -m 0755 ./build/urbit /usr/local/bin
95+urbit
96+```
62
97
63−# Fedora
98+#### Linux
64−$ sudo dnf install autoconf automake cmake ctags gcc gcc-c++ git gmp-devel libcurl-devel libsigsegv-devel libtool ncurses-devel openssl openssl-devel python2 ragel re2c
65
99
66−# FreeBSD
100+##### Linuxbrew
67−$ pkg install autoconf automake cmake curl gcc git gmake gmp libsigsegv libtool python ragel re2c
68
101
69−# Arch
102+> [Linuxbrew](http://linuxbrew.sh/)
70−$ pacman -S autoconf automake cmake curl gcc git gmp libsigsegv libtool ncurses openssl python ragel re2c
71
103
72−# AWS
104+```
105+# Bash
106+
107+brew update
73−$ sudo yum install --enablerepo epel autoconf automake cmake ctags gcc gcc-c++ git gmp-devel libcurl-devel libsigsegv-devel libtool ncurses-devel openssl-devel python re2c
108+brew install autoconf automake cmake gcc git gmp libsigsegv libtool meson ninja pkg-config python2 openssl re2c
109+git clone https://github.com/urbit/urbit
110+cd urbit
111+./scripts/bootstrap
112+./scripts/build
113+sudo install -m 0755 ./build/urbit /usr/local/bin
114+urbit
74```
115```
75
116
76−### Clone and make
117+##### Ubuntu or Debian
77
118
78−Once your dependencies are installed the rest is easy:
119+```
120+# Bash
121+
122+sudo apt-get update
123+sudo apt-get install autoconf automake cmake exuberant-ctags g++ git libcurl4-gnutls-dev libgmp3-dev libncurses5-dev libsigsegv-dev libssl-dev libtool make meson openssl python ragel re2c zlib1g-dev
124+git clone https://github.com/urbit/urbit
125+cd urbit
126+./scripts/bootstrap
127+./scripts/build
128+sudo install -m 0755 ./build/urbit /usr/local/bin
129+urbit
130+```
131+
132+##### Fedora
133+
134+```
135+# Bash
136+
137+sudo dnf upgrade
138+sudo dnf install autoconf automake cmake ctags gcc gcc-c++ git gmp-devel libcurl-devel libsigsegv-devel libtool meson ncurses-devel openssl openssl-devel python2 ragel re2c
139+git clone https://github.com/urbit/urbit
140+cd urbit
141+./scripts/bootstrap
142+./scripts/build
143+sudo install -m 0755 ./build/urbit /usr/local/bin
144+urbit
145+```
146+
147+##### FreeBSD
79
148
80```
149```
150+# Bash
151+
152+pkg upgrade
153+pkg install autoconf automake cmake curl gcc git gmake gmp libsigsegv libtool meson python ragel re2c
81−$ git clone https://github.com/urbit/urbit
154+git clone https://github.com/urbit/urbit
82−$ cd urbit
155+cd urbit
83−$ ./scripts/bootstrap
156+./scripts/bootstrap
84−$ ./scripts/build
157+./scripts/build
158+sudo install -m 0755 ./build/urbit /usr/local/bin
159+urbit
85```
160```
86
161
87−After running the build script, your Urbit executable is in `build/urbit`.
162+##### Arch
88−Install it wherever you'd like.
89
163
90```
164```
165+# Bash
166+
167+pacman -Syu
168+pacman -S autoconf automake cmake curl gcc git gmp libsigsegv libtool meson ncurses openssl python ragel re2c
169+git clone https://github.com/urbit/urbit
170+cd urbit
171+./scripts/bootstrap
172+./scripts/build
91−$ sudo install -m 0755 build/urbit /usr/local/bin
173+sudo install -m 0755 ./build/urbit /usr/local/bin
174+urbit
92```
175```
93
176
94−Test that it works:
177+##### AWS
178+
179+```
180+# Bash
181+
182+sudo yum update
183+sudo yum install --enablerepo epel autoconf automake cmake ctags gcc gcc-c++ git gmp-devel libcurl-devel libsigsegv-devel libtool meson ncurses-devel openssl-devel python re2c
184+git clone https://github.com/urbit/urbit
185+cd urbit
186+./scripts/bootstrap
187+./scripts/build
188+sudo install -m 0755 ./build/urbit /usr/local/bin
189+urbit
190+```
191+
192+### Test for successful installation
193+
194+After running your installed `urbit` command, check to see if the following output was printed:
95
195
96```
196```
97$ urbit
197$ urbit
@@ -145,14 +245,15 @@ Simple Usage:
145 urbit <myplanet or mycomet> to restart an existing urbit
245 urbit <myplanet or mycomet> to restart an existing urbit
146```
246```
147
247
248+If so, then you're ready to boot your urbit. If not, check that you entered each Bash command correctly for your host OS platform. If you're still experiencing issues, feel free to drop into [Urbit chat](https://urbit.org/stream) for troubleshooting help.
249+
148### Boot your urbit
250### Boot your urbit
149
251
150−And you're done! If you're running Urbit on a normal modern PC or Mac, or
252+You've now installed the Urbit binary. If you're running Urbit on a normal modern PC or Mac, or
151−on a large cloud instance, move onto the next [setup](../setup/) section to
253+on a large cloud instance, move onto the next [setup](../setup/) section.
152−boot your urbit.
153
254
154−If you're running Urbit in the cloud on a small instance, however, read
255+If you're running Urbit in the cloud on a small instance, read
155−the below section, as you may need to additionally configure swap space.
256+the below section, as you may need to additionally configure swap space, then continue.
156
257
157### (Set up swap)
258### (Set up swap)
158
259
@@ -164,7 +265,7 @@ configuration is smaller than this, and you need to manually configure a
164swapfile.
265swapfile.
165
266
166Digital Ocean has a post on adding swap
267Digital Ocean has a post on adding swap
167−[here](https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04).
268+[here](https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04).
168For Amazon there’s a StackOverflow thread
269For Amazon there’s a StackOverflow thread
169[here](http://stackoverflow.com/questions/17173972/how-do-you-add-swap-to-an-ec2-instance).
270[here](http://stackoverflow.com/questions/17173972/how-do-you-add-swap-to-an-ec2-instance).
170
271