Monday, September 17, 2012

How to Compile libssh2 for Windows with MinGW

libssh2 is a client-side C library implementing the SSH2 protocol, according to the definition on libssh2.org. I am compiling libssh2 because it enables me to build applications for transferring files securely between Unix/Linux sites and Windows machines. Although there seems to be a way to build libssh2 with Visual Studio, this post focuses on using MinGW. If you haven't set up MinGW yet, just follow one of these posts on how to install MinGW.





First, I compiled zlib. I downloaded zlib source code from zlib.net, unpack the tarball, and typed the following commands:



make -f win32/Makefile.gcc
make install -f win32/Makefile.gcc BINARY_PATH=/mingw/bin INCLUDE_PATH=/mingw/include LIBRARY_PATH=/mingw/lib


Then, I compiled OpenSSL as shown in this post. For your information, libgcrypt can be used instead of OpenSSL (See this post). I typed the following commands to build OpenSSL.



./Configure -DHAVE_STRUCT_TIMESPEC -L/mingw/lib -lz -lws2_32 --prefix=/mingw zlib mingw
make
make install


I downloaded the latest libssh2 tarball from libssh2.org and unpacked it. I typed the configure as follows:



./configure --prefix=/mingw --with-libz --with-openssl --disable-examples-build


libssh2_configure

Then, I typed make.



make
make install


Somehow, only the static library was generated, but that's okay. I think that's because openssl was only compiled statically.



No comments:

Post a Comment

About This Blog

KBlog logo This blog is about current events and issues concerning general population. Thanks for visiting the blog and posting your comments.

© Contents by KBlog

© Blogger template by Emporium Digital 2008

Followers

Total Pageviews

icon
Powered By Blogger