[X2Go-Dev] Cross-Compiling X2Go Client for Windows

Henning Heinold h.heinold at tarent.de
Thu Jul 2 15:09:44 CEST 2015


On Thu, Jul 02, 2015 at 08:59:35AM -0400, Michael DePaulo wrote:
> Hi Heinz,
> 
> At the X2Go Gathering 2015, I gave a talk on X2Go Client for Windows
> development:
> https://docs.google.com/presentation/d/1GxTHN4AiSRLtfbiQqRycMjrAn3OL_xWk0x3_p-Nop2k/edit?usp=sharing
> 
> Although many components such as nxproxy have to be built with
> separate build systems and thus will have to be built manually, I
> would like there to be a more reproducible way to build X2Go Client
> itself (x2goclient.git -> x2goclient.exe & x2gohelper.exe). I love
> tools like pbuilder and mock for Linux.
> 
> 2 possible solutions for this (cross-compilation environments) that
> look promising are:
> http://mxe.cc
> http://win-builds.org
> 
> However, I think Mike#1 said that you told him there was a need to
> build X2Go Client for Windows via a Windows machine (the WinBuilder
> VM) rather than a cross-compilation environment. Can you explain the
> reason for that?
> 
> Note that I am frequently updating this page:
> http://wiki.x2go.org/doku.php/wiki:development:build-howto-mswin:x2goclient
> 
> I see 4 potential obstacles to using a cross-compilation environment:
> 
> 1. We configure Qt for static builds (the Qt libraries are included
> withing x2goclient.exe):
> http://wiki.x2go.org/doku.php/wiki:development:build-howto-mswin:x2goclient#configuring_qt
> However, I doubt there is a need to configure Qt for static builds. If
> we have to distribute some Qt DLLs, so be it.,

With my mxe builds I have configured it non statical and it works. Even posted
a patch to mxe so the language stuff works right for us.
> 
> Note that OpenSSL support in Qt should not be a problem; it is safe to
> assume that all the cross-compilation environments support that.
> 
> 2. We have to use a version of libssh that is patched for Pageant
> support (upstream libssh wants to do redesign how they handle SSH
> agents before they accept the patch):
> http://wiki.x2go.org/doku.php/wiki:development:build-howto-mswin:x2goclient#installing_libssh
> 
> 3. We would need to package libraries for the cross-compilation environments.
> For example, MXE lacks libssh.

I already have tackled that and will try to send an upstream patch to mxe folks.

See: https://github.com/tarent/mxe/commit/b4743512d272636a2a7cfa950acf1e650df25162

> 
> 4. At the end of the build, we need to combine all the 3rd party
> components (built with separate build systems) into the NSIS
> installer.
> This should be feasible though; MXE supports NSIS for example.
> 
> -Mike#2

Reminds me to share my nsis working stuff with mike so we have some more option
in the installer for enterprise stuff like configuring a default session from
cmdline. Usefull for AD rollouts.

Bye Henning


More information about the x2go-dev mailing list