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
Last revision Both sides next revision
wiki:development:build-howto-macos:x2goclient [2013/09/26 08:45]
sunweaver
wiki:development:build-howto-macos:x2goclient [2015/02/07 21:44]
ionic [Build/Install X2Go Client using Homebrew]
Line 1: Line 1:
-====== ​Build X2GoClient ​on MacOS ======+====== ​Building X2Go Client ​on Mac OS ======
  
-===== Build X2Go Client using Mac Ports =====+===== Build X2Go Client using MacPorts ​=====
  
-As X2Go Client is already in Mac Ports (thanks to Clemens Lang) it is possible to install all dependencies via Mac Ports.+X2Go Client is available from MacPorts, maintained by Clemens Lang, who currently also builds the official X2Go Client DMGs.
  
-**Steps:**+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:​
  
-  - Install Mac Ports on your Mac OS system 
-  - Take a look at the dependency list (in a terminal shell) 
-  - And install those dependencies 
 <​code>​ <​code>​
-$ port echo depof:​x2goclient +$ sudo port install depof:​x2goclient ​dylibbundler
-$ sudo port install depof:​x2goclient+
 </​code>​ </​code>​
  
-Once the dependencies are installed, ​you need to install dylibbundler and tweak its file permissions:​+Once the dependencies are installed, tweak some file permissions:​
  
 <​code>​ <​code>​
-$ sudo port install dylibbundler 
 $ sudo chmod u+w /​opt/​local/​lib/​libcrypto.1.0.0.dylib /​opt/​local/​lib/​libssl.1.0.0.dylib $ sudo chmod u+w /​opt/​local/​lib/​libcrypto.1.0.0.dylib /​opt/​local/​lib/​libssl.1.0.0.dylib
 </​code>​ </​code>​
  
-If you omit the file permission tweak, dylibbundler will fail.+If you omit the file permission tweak, dylibbundler will fail to bundle OpenSSL with X2Go Client.
  
 At last, checkout X2Go Client from Git: At last, checkout X2Go Client from Git:
Line 30: Line 36:
  
 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. 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:+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_MAX_SDK'',​ ''​QMAKE_MACOSX_DEPLOYMENT_TARGET''​ and the ''​CONFIG''​ line that contains the target architectures. Once done, run
  
 <​code>​ <​code>​
Line 37: Line 43:
 </​code>​ </​code>​
  
 +to generate ''​x2goclient.dmg''​.
            
-===== Build X2Go Client ​from Scratch ​(w/o Mac Ports) ===== +===== 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 ==== ==== Variables ====
  
Line 50: 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 |
Line 91: 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 224: 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.txt · Last modified: 2015/08/27 01:43 by ionic