----- Original Message ----- > From: "erikb" <[email protected]> > To: [email protected] > 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: [email protected] For additional commands, e-mail: [email protected]
