Subject: RE: Bug#642: Changes in X2Go Client for Windows to enable it conform to Visual Studio's stricter type checking

From: "George Trakatelis" <[email-masked]>
Date: Thu, 4 Dec 2014 03:20:02 +0200

Hi Michael, 

I attached a triple-patch to help you build libssh-0.6.3 using VS2010's IDE.

> When I try to "generate" the VS2010 project files under CMake 3.0.2, I get
these 2 errors: 
> 
> You have called ADD_LIBRARY for library ssh_threads_shared without any
source files. 
> This typically indicates a problem with your CMakeLists.txt file 
> 
> CMake Error: CMake cannot determine linker language for target: 
> ssh_threads_shared 

To fix that I had to alter src/threads/CMakeLists.txt as explained in 
http://comments.gmane.org/gmane.network.ssh.libssh.general/1783

If you compiled now, you would get the following error: 
'error C1083: Cannot open include file: 'sys/time.h': No such file or
directory' 
So I also patched libcrypto.c 

That would be enough, if one planned to build libssh with VS2013 (builds
just fine). 

Unfortunately, VS2010 is missing the isblank() function, 
so to accommodate for that I had to patch ConfigureChecks.cmake. 
For more information on C99 library support in Visual Studio, please see 
http://blogs.msdn.com/b/vcblog/archive/2013/07/19/c99-library-support-in-vis
ual-studio-2013.aspx

> It doesn't matter anymore, but I was referring to this:
> http://www.libssh.org/files/win32/0.5/
> Which is linked to from here:
> http://www.libssh.org/get-it/

Apparently, the provided old .lib file lacks ssh_channel_accept_forward
support (it is unpatched). 

> It sounds like libssh 0.5 is too old. Let's not worry about it since we
have 0.6.3 working. 

I agree. 

Please note that I patched the libssh-0.6.3 source. 
To summarize things (correct me if I'm wrong): 

----------------------------------------------------------------------------
----------------------------------
| Patch applied                                              | libssh-0.6.3
|
----------------------------------------------------------------------------
----------------------------------
| implement-support-for-putty-s-pageant-0.6.3-de62963.patch  |
libssh-0.6.3-de62963-pageant-support          |
| libssh-0.6.3-pthread.c.relativepaths.patch                 |
libssh-0.6.3-762055b-pageant-support-mingw482 |
| libssh-0.6.3-vs2010.patch                                  |
libssh-0.6.3-you_name_it                      |
----------------------------------------------------------------------------
----------------------------------

I also attached a new release build with zlib support (please rename .doc to
.zip). 

George