User Tools

Site Tools


wiki:development:build-howto-mswin:x2goclient

This is an old revision of the document!


Build X2GoClient for MS Windows

X2Go Client for Windows need several programs to be able running on Windows

  • PulseAudio Server for sound support (optional)
  • X-Server (VcXsrv)

All this programs can be build from source, downloaded from our server or from their projects sites. You can also copy that components from X2Go Client install directory.

nxproxy

you can download nxproxy, and it libraries here

If you want build nxproxy from source, you need install and configure cygwin first.

Installing cygwin

Download and startCygwin installer

Choose your cygwin directory. For example c:\cygwin. Follow installer instructions.

on installer page “Select Packages” you can select programs and libraries that should be installed in your cygwin environment. For building of nxproxy you will need:

  • autoconf
  • automake
  • gcc4
  • gcc4-g++
  • git
  • libX11-devel
  • libjpeg-devel
  • libmpfr4
  • make
  • mc
  • zlib-devel
  • wget

Installing libpng

You will need a libpng12 to build nxproxy. This version of libpng is not available on current version of cygwin. You should install it manually.

Open a cygwin shell. Go to the src directory

$cd /usr/src

get a libpng12 from project site

$wget http://downloads.sourceforge.net/project/libpng/libpng12/1.2.50/libpng-1.2.50.tar.gz
$tar -xzvf libpng-1.2.50.tar.gz
$cd libpng-1.2.50

build and install libpng

$./configure --prefix=/usr/
$make && make install

Building nxproxy

open a cygwin shell and change to your build directory. In this example d:\Build will be used

$cd /cygdrive/d/Build

get a nx-libs sources

$git clone git://code.x2go.org/nx-libs.git
$cd nx-libs

build nxcomp

$cd nxcomp
$autoconf
$./configure
$make
$cd ..

build nxproxy

$cd nxproxy
$autoconf
$./configure
$make
$strip nxproxy.exe
$cd ..

nxproxy binary (nxproxy.exe) is ready. Now you can copy it in to the installation directory of x2goclient. To be able to run nxproxy you should also copy needed libraries in this directory:

from nxcomp directory (d:\Build\nx-libs\nxcomp) - cygXcomp.dll

from cygwin directory (c:\cygwin\bin):

  • cyggcc_s-1.dll
  • cygjpeg-8.dll
  • cygpng-3.dll
  • cygstdc++-6.dll
  • cygwin1.dll
  • cygz.dll

Open SSH Server

X2Go Client for Windows using modified Cygwin Open SSH Server for file sharing. You can download it here

If you want to build it from source, you should install Cygwin first.

After that run Cygwin installer (setup.exe), navigate to “Select Packages” page and install packages, you need to build Open SSH Server:

  • libedit
  • libedit-devel
  • libkrb5-devel
  • libncurses-devel
  • openssl-devel
  • libwrap-devel
  • patch

For openssh you should install both, binary and source packages (toggle “Src” checkbox beside of package name). Source package will be installed in /usr/src directory in your Cygwin installation.

Copy openssh tarball to your build directory. In this example d:\Build will be used

$cp /usr/src/openssh-6.1p1.tar.gz /cygdrive/d/Build/

Extract sources and change to openssh source directory

$cd /cygdrive/d/Build/
$tar -xzvf openssh-6.1p1.tar.gz
$cd openssh-6.1p1

Get and apply patch, which allow use Open SSH Server with X2Go Client

$wget http://code.x2go.org/releases/source/openssh-cygwin/openssh-6.0p1-2.x2go.patch
$patch.exe < openssh-6.0p1-2.x2go.patch

Build Open SSH Server

$./configure --libexecdir=/usr/sbin --with-kerberos5=/usr --with-tcp-wrappers --with-libedit --with-xauth=/usr/bin/xauth --build=mingw32
$make
$strip *.exe

Open SSH Server binaries are ready. Now you can copy them in to the installation directory of x2goclient:

  • sftp.exe
  • sftp-server.exe
  • ssh-keygen.exe
  • sshd.exe

To be able to run Open SSH Server you should also copy needed programs and libraries from cygwin directory (c:\cygwin\bin):

  • sh.exe
  • cygasn1-8.dll
  • cygcom_err-2.dll
  • cygcrypt-0.dll
  • cygcrypto-1.0.0.dll
  • cygedit-0.dll
  • cyggcc_s-1.dll
  • cyggssapi-3.dll
  • cygheimbase-1.dll
  • cygheimntlm-0.dll
  • cyghx509-5.dll
  • cygiconv-2.dll
  • cygintl-8.dll
  • cygkafs-0.dll
  • cygkrb5-26.dll
  • cygncursesw-10.dll
  • cygreadline7.dll
  • cygroken-18.dll
  • cygsqlite3-0.dll
  • cygssp-0.dll
  • cygwin1.dll
  • cygwind-0.dll
  • cygwrap-0.dll
  • cygz.dll

Some of this libraries are also used by nxproxy. Open SSH Server and nxproxy should be built using same version of Cygwin.

wiki/development/build-howto-mswin/x2goclient.1363614919.txt.gz · Last modified: 2013/03/18 13:55 by ncryer