qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chuck Rolke <cro...@redhat.com>
Subject Re: Trouble building the .Net bindings in Windows.
Date Thu, 14 Aug 2014 13:19:21 GMT
----- Original Message -----
> From: "erikb" <erik.beumer@redcrater.co.nz>
> To: users@qpid.apache.org
> Sent: Wednesday, August 13, 2014 10:28:51 PM
> Subject: Trouble building the .Net bindings in Windows.
> 
> Good day.
> I've spent a day and a bit trying to get all the bits together that is
> required to build the QPID .net bindings. I cannot believe that it has to be
> this complicated and that there isn't a simple windows installation
> available for the latest version.
> 
> Anyway... I've installed all the prerequisites mentioned in the
> Install-Windows document under the "What to install section". When I (try
> to) configure cmake, I get the following error:
> "CMake Error at src/CMakeLists.txt:90 (message):
>   Can't locate ruby, needed to generate amqp 0-10 framing code."
> I do have ruby installed. In fact I went to a lot of trouble to find a
> windows installed for V1.9.3, as the document mentioned it needed to be
> pre-version 2.
> 
> My end goal is to build a .net client that can send messages to a broker
> published by a 3rd party. I need to get the QPID libraries working as I've
> already tried rabbitMQ, which was oh so easy to install, but wouldn't even
> connect to the broker (possibly because the broker is using the latest code,
> which isn't compatible with rabbitMQ)
> 
> Any help or suggestions would be appreciated.
> 

Understood. First make sure that the various tools are available on your path.
In my environment I have:

==========
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

D:\>showpath

current PATH environment

c:\ruby\bin
C:\Windows\system32
C:\Windows
C:\Windows\System32\Wbem
C:\Windows\System32\WindowsPowerShell\v1.0\
C:\Program Files (x86)\CMake 2.8\bin
c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\
c:\Program Files\Microsoft SQL Server\100\Tools\Binn\
c:\Program Files\Microsoft SQL Server\100\DTS\Binn\
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\
C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\
C:\Program Files (x86)\doxygen\bin
C:\Program Files (x86)\Git\cmd
C:\Program Files\TortoiseSVN\bin
D:\software\apache-maven-3.1.1\bin
c:\Program Files (x86)\CMake 2.8\bin
C:\cygwin\bin
c:\perl\bin
d:\users\crolke\bin
c:\apache-ant-1.8.0\bin
c:\program files\nant-0.85\bin
c:\python26
c:\program files\7-zip
C:\Program Files (x86)\OpenVPN\bin
d:\software\nant-0.92\bin
C:\Program Files (x86)\NUnit 2.5.3\bin\net-2.0


D:\>ruby --version
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]

D:\>cmake --version
cmake version 2.8.12.2

D:\>perl --version
This is perl, v5.10.1 (*) built for i686-cygwin-thread-multi-64int

D:\>python --version
Python 2.6.1

D:\>7z --help
7-Zip [64] 4.65  Copyright (c) 1999-2009 Igor Pavlov  2009-02-03
==========

Next, if you've installed any tools in "C:\Program Files\..." then you may 
have issues with the spaces in the path name. This trips up cmake's
FindXXX functions which *should* work but they don't. Note that
my ruby, python, cgywin, and perl are installed so that there's no
spaces in the path to their bin directories.

With these settings I would expect the basic qpid/cpp cmake to
generate a usable qpid-cpp.sln solution.
---
Building the .NET bindings limits your choice of version of 
Visual Studio. For .NET 2.0 you must use Visual Studio 2008 and
for .NET 4.0 you must use Visual Studio 2010. The reasoning
behind this restriction is that cmake does not generate .NET
solutions and projects. The .NET solutions and projects are hard
coded into the source checkout. The demand to upgrade to VS 2012
or VS 2013 is growing slowly so support for them may be added
over the next year. We accept contributed solutions to problems
like this!

Note that nant is not an answer to the .NET binding solutions and
projects because the binding is a /CLR interop layer between
the user's .NET managed code and the underlying qpid unmanaged code.

========
Do you have boost? You'll need a boost that supports the C++
compiler (Visual Studio C++ runtime) version, architecture (32- or
64-bit), and debug or release.

Please see http://people.apache.org/~chug/boost-win-1.47/ for some
boost versions that work with qpid and .NET.

========
Do you need AMQP 1.0? If so then you need yet another layer of
software provided by http://qpid.apache.org/proton/index.html

Qpid cmake does not have a FindProton that works on windows and 
the process is to cmake/make/install proton into an install 
directory that is shared by qpid.

I have a pair of command procedures that I use all the time to build
a shared proton/qpid pair. http://people.apache.org/~chug/proton-win/

By having qpid use the same install directory of an installed proton
the qpid build finds proton and compiles support for AMQP 1.0.

========
Hopefully this gets you started.

-Chuck




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Mime
View raw message