This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
wiki:development:build-howto-macos:x2goclient [2012/06/26 11:37] ionic |
wiki:development:build-howto-macos:x2goclient [2015/02/07 21:44] ionic [Build/Install X2Go Client using Homebrew] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | wiki-writing-todo (FIXME) | + | ===== Build X2Go Client using MacPorts ===== |
+ | X2Go Client is available from MacPorts, maintained by Clemens Lang, who currently also builds the official X2Go Client DMGs. | ||
- | ===== Variables | + | 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 14: | 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 43: | Line 96: | ||
- | ==== NX libraries | + | === NX libraries === |
Prepare $NX_BASE_DIR. | Prepare $NX_BASE_DIR. | ||
Line 55: | Line 108: | ||
< | < | ||
- | # git clone git:// | + | $ wget http:// |
+ | $ tar xzf nx-libs-< | ||
+ | $ mv nx-libs-< | ||
</ | </ | ||
Line 65: | Line 120: | ||
</ | </ | ||
- | ===== Dependencies | + | ==== Dependencies ==== |
* for optional sound support: PulseAudio | * for optional sound support: PulseAudio | ||
Line 128: | Line 183: | ||
</ | </ | ||
+ | |||
+ | === libssh === | ||
+ | |||
+ | == Dependencies == | ||
+ | |||
+ | libssh uses CMake to configure the source build. Please download and install CMake from [[http:// | ||
+ | |||
+ | == Download == | ||
+ | |||
+ | Download the source package from [[http:// | ||
+ | |||
+ | Put it into $X2GO_DIST_SRC. | ||
+ | |||
+ | Unpack the source. | ||
+ | |||
+ | < | ||
+ | # tar -xzvf libssh-...tar.gz | ||
+ | # cd libssh-... | ||
+ | </ | ||
+ | |||
+ | == Configuration == | ||
+ | |||
+ | Create a build subdir. | ||
+ | |||
+ | < | ||
+ | # mkdir build | ||
+ | # cd build | ||
+ | </ | ||
+ | |||
+ | Configure libssh. | ||
+ | |||
+ | Again, substitute variables. If you don't need multiarch support, replace " | ||
+ | |||
+ | < | ||
+ | # cmake -D " | ||
+ | </ | ||
+ | |||
+ | == Building == | ||
+ | |||
+ | Build the source. | ||
+ | |||
+ | < | ||
+ | # make | ||
+ | </ | ||
+ | |||
+ | Install libssh. | ||
+ | |||
+ | < | ||
+ | # make install | ||
+ | </ | ||
+ | |||
+ | Remove the shared libraries (we only need the static one.) | ||
+ | |||
+ | < | ||
+ | # rm " | ||
+ | </ | ||
**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" | ||
</ | </ |