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
wiki:development:build-howto-macos:x2goclient [2012/06/26 13:02]
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:
-====== Build X2GoClient on MacOS ======+====== Building X2Go Client on Mac OS ======
  
-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 ''sudo port install x2goclient''
 + 
 +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: 
 + 
 +<code> 
 +$ sudo port install depof:x2goclient 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 bundle OpenSSL with 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. Depending on your OS and your needs, you might want to adjust the lines mentioning ''QMAKE_MAC_SDK'', ''QMAKE_MACOSX_DEPLOYMENT_TARGET'' and the ''CONFIG'' line that contains the target architectures. Once done, run 
 + 
 +<code> 
 +$ ./macbuild.sh 
 +</code> 
 + 
 +to generate ''x2goclient.dmg''
 +      
 +===== Build/Install X2Go Client using Homebrew ===== 
 + 
 +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://brew.sh|Homebrew website]]. 
 + 
 +It is possible to install X2Go Client in one command: <code>$ brew install x2goclient</code> 
 +      
 +      
 +===== 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 "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 67:
 | $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 96:
  
  
-==== NX libraries ====+=== NX libraries ===
  
 Prepare $NX_BASE_DIR. Prepare $NX_BASE_DIR.
Line 55: Line 108:
  
 <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 120:
 </code> </code>
  
-===== Dependencies =====+==== Dependencies ====
  
   * for optional sound support: PulseAudio   * for optional sound support: PulseAudio
Line 76: Line 131:
     * nx-binaries     * nx-binaries
  
-==== Qt4 ====+=== Qt4 ===
  
 Qt4 is a hard dependency. Qt4 is a hard dependency.
Line 83: Line 138:
 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 152:
 </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 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 129: Line 184:
  
  
-==== 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 203:
 </code> </code>
  
-=== Configuration ===+== Configuration ==
  
 Create a build subdir. Create a build subdir.
Line 165: Line 220:
 </code> </code>
  
-=== Building ===+== Building ==
  
 Build the source. Build the source.
Line 182: Line 237:
  
 <code> <code>
-# rm "$X2GO_DIST_INST/lib/libssh*.dylib"+# rm "$X2GO_DIST_INST/lib/"libssh*.dylib
 </code> </code>
  
Line 188: 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 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.1340715739.txt.gz · Last modified: 2013/03/08 13:31 (external edit)