This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
wiki:development:build-howto-macos:x2goclient [2013/09/26 08:32] sunweaver [Build X2GoClient on MacOS] |
wiki:development:build-howto-macos:x2goclient [2015/02/07 21:43] ionic [Build/Install X2Go Client using Homebrew] no curlpipesh on my X2GO wiki! |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
+ | ===== Build X2Go Client using MacPorts ===== | ||
- | ===== Variables | + | X2Go Client is available from MacPorts, maintained by Clemens Lang, who currently also builds the official X2Go Client DMGs. |
+ | |||
+ | If you just want to get a working version of X2Go Client you can just run '' | ||
+ | |||
+ | If you want to build a re-distributable DMG image such as the one available from the website, follow these steps (assuming you already have MacPorts installed): | ||
+ | |||
+ | **Steps summarized: | ||
+ | |||
+ | - Install the dependencies for X2Go Client | ||
+ | - Install the build-time dependency dylibbundler | ||
+ | - Get X2Go Client from X2Go Git | ||
+ | - Build X2Go Client DMG image | ||
+ | |||
+ | So, first install the X2Go Client dependencies and dylibbundler: | ||
+ | |||
+ | < | ||
+ | $ sudo port install depof: | ||
+ | </ | ||
+ | |||
+ | Once the dependencies are installed, tweak some file permissions: | ||
+ | |||
+ | < | ||
+ | $ sudo chmod u+w / | ||
+ | </ | ||
+ | |||
+ | If you omit the file permission tweak, dylibbundler will fail to bundle OpenSSL with X2Go Client. | ||
+ | |||
+ | At last, checkout X2Go Client from Git: | ||
+ | < | ||
+ | $ git clone git:// | ||
+ | </ | ||
+ | |||
+ | If you want to build a specific version of X2Go Client, select that version with '' | ||
+ | |||
+ | In the X2Go Client source directory, simply run the '' | ||
+ | |||
+ | < | ||
+ | $ ./ | ||
+ | </ | ||
+ | |||
+ | to generate '' | ||
+ | |||
+ | ===== Build/ | ||
+ | |||
+ | X2Go Client and it's dependencies are already formulated in Homebrew (thanks to Eugene San). | ||
+ | |||
+ | We assume you've already installed Homebrew. | ||
+ | If not please visit the [[http:// | ||
+ | |||
+ | It is possible to install X2Go Client in one command: < | ||
+ | |||
+ | |||
+ | ===== Build X2Go Client from Scratch ===== | ||
+ | |||
+ | ==== Variables | ||
This document makes use of several variables to address paths in a generic, but distinct way. They are not meant to be used via shell, but for human parsing. No program of the x2go suite actually uses them for anything. You may " | This document makes use of several variables to address paths in a generic, but distinct way. They are not meant to be used via shell, but for human parsing. No program of the x2go suite actually uses them for anything. You may " | ||
Line 12: | Line 67: | ||
| $X2GO_DIST_INST | Installation directory of x2goclient dependencies | $X2GO_DIST_SRC/ | | $X2GO_DIST_INST | Installation directory of x2goclient dependencies | $X2GO_DIST_SRC/ | ||
| $NX_BASE_DIR | Common NX directory | /usr/src/NX | | | $NX_BASE_DIR | Common NX directory | /usr/src/NX | | ||
- | | $NX_LIBS_SRC | Directory containing the NX libs source tree | $NX_BASE_DIR/ | + | | $NX_LIBS_SRC | Directory containing the NX libs source tree | $NX_BASE_DIR/ |
| $NX_DIST_SRC | Directory containing NX libs dependencies source trees | $NX_BASE_DIR/ | | $NX_DIST_SRC | Directory containing NX libs dependencies source trees | $NX_BASE_DIR/ | ||
| $NX_DIST_INST | Installation directory of NX libs dependencies | $NX_DIST_SRC/ | | $NX_DIST_INST | Installation directory of NX libs dependencies | $NX_DIST_SRC/ | ||
- | ===== Get the sources | + | ==== Get the sources ==== |
- | ==== x2goclient | + | === x2goclient === |
Prepare $X2GO_BASE_DIR if need be. | Prepare $X2GO_BASE_DIR if need be. | ||
Line 41: | Line 96: | ||
- | ==== NX libraries | + | === NX libraries === |
Prepare $NX_BASE_DIR. | Prepare $NX_BASE_DIR. | ||
Line 53: | Line 108: | ||
< | < | ||
- | # git clone git:// | + | $ wget http:// |
+ | $ tar xzf nx-libs-< | ||
+ | $ mv nx-libs-< | ||
</ | </ | ||
Line 63: | Line 120: | ||
</ | </ | ||
- | ===== Dependencies | + | ==== Dependencies ==== |
* for optional sound support: PulseAudio | * for optional sound support: PulseAudio | ||
Line 74: | Line 131: | ||
* nx-binaries | * nx-binaries | ||
- | ==== Qt4 ==== | + | === Qt4 === |
Qt4 is a hard dependency. | Qt4 is a hard dependency. | ||
Line 81: | Line 138: | ||
If you decide to build from source, follow these instructions, | If you decide to build from source, follow these instructions, | ||
- | === Download | + | == Download == |
Download the source package from [[http:// | Download the source package from [[http:// | ||
Line 95: | Line 152: | ||
</ | </ | ||
- | === Configuration | + | == Configuration == |
Configure the qt source tree. We will disable unused stuff and build universal (for deployment.) | Configure the qt source tree. We will disable unused stuff and build universal (for deployment.) | ||
Line 112: | Line 169: | ||
- | === Building | + | == Building == |
Run make and pray. Pray strongly. To whomever or whatever you want, just pray. | Run make and pray. Pray strongly. To whomever or whatever you want, just pray. | ||
Line 127: | Line 184: | ||
- | ==== libssh | + | === libssh === |
- | === Dependencies | + | == Dependencies == |
libssh uses CMake to configure the source build. Please download and install CMake from [[http:// | libssh uses CMake to configure the source build. Please download and install CMake from [[http:// | ||
- | === Download | + | == Download == |
Download the source package from [[http:// | Download the source package from [[http:// | ||
Line 146: | Line 203: | ||
</ | </ | ||
- | === Configuration | + | == Configuration == |
Create a build subdir. | Create a build subdir. | ||
Line 163: | Line 220: | ||
</ | </ | ||
- | === Building | + | == Building == |
Build the source. | Build the source. | ||
Line 186: | Line 243: | ||
**Run the following commands as a regular, non-root user. You'll need the root password to install them.** | **Run the following commands as a regular, non-root user. You'll need the root password to install them.** | ||
- | **1. FIXME -> nxproxy | + | **1. |
- | Install nxproxy from git** | + | Install |
< | < | ||
- | $ git clone git:// | + | $ wget http:// |
- | $ cd nxproxy | + | $ tar xzf nx-libs-< |
- | $ autoconf | + | $ cd nx-libs-< |
- | $ ./ | + | $ PREFIX=/usr make |
- | $ make | + | |
$ su -c "make install" | $ su -c "make install" | ||
</ | </ |