User Tools

Site Tools


wiki:development:build-howto-macos:x2goclient

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
wiki:development:build-howto-macos:x2goclient [2013/03/08 13:31]
127.0.0.1 external edit
wiki:development:build-howto-macos:x2goclient [2013/09/26 10:01]
eugenesan
Line 1: Line 1:
-====== Build X2GoClient on MacOS ======+====== Building X2Go Client on Mac OS ======
  
-wiki-writing-todo (FIXME)+===== Build/Install X2Go Client using Homebrew =====
  
 +As X2Go Client and it's dependencies are already in Homebrew (thanks to Clemens Lang and Eugene San).
  
-===== Variables =====+We assume you've already installed Homebrew. 
 +If not please invoke:<code>$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"</code> 
 +For more information regarding Homebrew head to http://brew.sh 
 + 
 +It is possible to install X2goClient in one command: <code>$ brew install x2goclient</code> 
 + 
 +===== Build X2Go Client using Mac Ports ===== 
 + 
 +As X2Go Client is already in Mac Ports (thanks to Clemens Lang) it is possible to install all dependencies via Mac Ports. 
 + 
 +**Steps summarized:** 
 + 
 +  - Install Mac Ports on your Mac OS system 
 +  - Take a look at the dependency list (in a terminal shell) 
 +  - And install those dependencies 
 +  - Install dylibbundler 
 +  - Get X2Go Client from X2Go Git 
 +  - Build X2Go Client 
 + 
 +So, first install the X2Go Client dependencies: 
 + 
 +<code> 
 +$ port echo depof:x2goclient 
 +$ sudo port install depof:x2goclient 
 +</code> 
 + 
 +Then install dylibbundler: 
 + 
 +<code> 
 +$ sudo port install dylibbundler 
 +</code> 
 + 
 +Once the dependencies are installed, tweak some file permissions: 
 + 
 +<code> 
 +$ sudo chmod u+w /opt/local/lib/libcrypto.1.0.0.dylib /opt/local/lib/libssl.1.0.0.dylib 
 +</code> 
 + 
 +If you omit the file permission tweak, dylibbundler will fail to build/bundle X2Go Client. 
 + 
 +At last, checkout X2Go Client from Git: 
 +<code> 
 +$ git clone git://code.x2go.org/x2goclient.git 
 +</code> 
 + 
 +If you want to build a specific version of X2Go Client, select that version with ''git checkout <version>''. If you want to look around what versions are available, use ''git tag'' which will present you a list of valid version tags to use for checkout. 
 +       
 +In the X2Go Client source directory, simply run the ''macbuild.sh'' script: 
 + 
 +<code> 
 +$ ./macbuild.sh 
 +</code> 
 + 
 +      
 +===== Build X2Go Client from Scratch (w/o Mac Ports) ===== 
 +                    
 +==== 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 "set" them to whatever value you want to (in your head), just don't change them half-way through the building process. The "default value" is merely a suggestion. 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 "set" them to whatever value you want to (in your head), just don't change them half-way through the building process. The "default value" is merely a suggestion.
Line 14: Line 71:
 | $X2GO_DIST_INST | Installation directory of x2goclient dependencies | $X2GO_DIST_SRC/inst | | $X2GO_DIST_INST | Installation directory of x2goclient dependencies | $X2GO_DIST_SRC/inst |
 | $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-git |+| $NX_LIBS_SRC | Directory containing the NX libs source tree | $NX_BASE_DIR/nx-libs-src |
 | $NX_DIST_SRC | Directory containing NX libs dependencies source trees | $NX_BASE_DIR/dist | | $NX_DIST_SRC | Directory containing NX libs dependencies source trees | $NX_BASE_DIR/dist |
 | $NX_DIST_INST | Installation directory of NX libs dependencies | $NX_DIST_SRC/inst | | $NX_DIST_INST | Installation directory of NX libs dependencies | $NX_DIST_SRC/inst |
  
-===== 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 100:
  
  
-==== NX libraries ====+=== NX libraries ===
  
 Prepare $NX_BASE_DIR. Prepare $NX_BASE_DIR.
Line 55: Line 112:
  
 <code> <code>
-# git clone git://code.x2go.org/nx-libs.git nx-libs-git+$ wget http://code.x2go.org/releases/source/nx-libs/nx-libs-<version>-lite.tar.gz 
 +$ tar xzf nx-libs-<version>-lite.tar.gz 
 +$ mv nx-libs-<version> nx-libs-src
 </code> </code>
  
Line 65: Line 124:
 </code> </code>
  
-===== Dependencies =====+==== Dependencies ====
  
   * for optional sound support: PulseAudio   * for optional sound support: PulseAudio
Line 76: Line 135:
     * nx-binaries     * nx-binaries
  
-==== Qt4 ====+=== Qt4 ===
  
 Qt4 is a hard dependency. Qt4 is a hard dependency.
Line 83: Line 142:
 If you decide to build from source, follow these instructions, else skip to the NX part. If you decide to build from source, follow these instructions, else skip to the NX part.
  
-=== Download ===+== Download ==
  
 Download the source package from [[http://qt.nokia.com/downloads/downloads#qt-lib|the official Qt site]] (.tar.gz recommended.) Download the source package from [[http://qt.nokia.com/downloads/downloads#qt-lib|the official Qt site]] (.tar.gz recommended.)
Line 97: Line 156:
 </code> </code>
  
-=== 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 114: Line 173:
  
  
-=== 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 129: Line 188:
  
  
-==== libssh ====+=== libssh ===
  
-=== Dependencies ===+== Dependencies ==
  
 libssh uses CMake to configure the source build. Please download and install CMake from [[http://cmake.org/cmake/resources/software.html|the official CMake repository]]. libssh uses CMake to configure the source build. Please download and install CMake from [[http://cmake.org/cmake/resources/software.html|the official CMake repository]].
  
-=== Download ===+== Download ==
  
 Download the source package from [[http://www.libssh.org/files/|the libssh repository]]. Note that currently 0.5.2 is buggy, at least on Mac OS X. Please use 0.5.1 for now. Download the source package from [[http://www.libssh.org/files/|the libssh repository]]. Note that currently 0.5.2 is buggy, at least on Mac OS X. Please use 0.5.1 for now.
Line 148: Line 207:
 </code> </code>
  
-=== Configuration ===+== Configuration ==
  
 Create a build subdir. Create a build subdir.
Line 165: Line 224:
 </code> </code>
  
-=== Building ===+== Building ==
  
 Build the source. Build the source.
Line 188: Line 247:
 **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 has to be installed from nx-libs.git +**1.  
-Install nxproxy from git**+Install nxproxy from the nx-libs-lite tarball**
  
 <code> <code>
-git clone git://code.x2go.org/nxproxy +wget http://code.x2go.org/releases/source/nx-libs/nx-libs-<version>-lite.tar.gz 
-cd nxproxy +tar xzf nx-libs-<version>-lite.tar.gz 
-autoconf  +cd nx-libs-<version> 
-$ ./configure --prefix=/usr +$ PREFIX=/usr make
-make+
 $ su -c "make install" $ su -c "make install"
 </code> </code>
wiki/development/build-howto-macos/x2goclient.txt · Last modified: 2015/08/27 01:43 by ionic