This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
wiki:development:build-howto-macos:x2goclient [2012/06/26 11:37] ionic |
wiki:development:build-howto-macos:x2goclient [2015/08/27 01:43] (current) ionic Fix QMAKE_MAX_SDK => QMAKE_MAC_SDK typo. |
||
|---|---|---|---|
| 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" | ||
| </ | </ | ||