qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chuck Rolke (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-6266) qpid-cpp-0.30 Build Fail - Org.Apache.Qpid.Messaging.dll
Date Wed, 10 Dec 2014 21:01:12 GMT

    [ https://issues.apache.org/jira/browse/QPID-6266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14241716#comment-14241716
] 

Chuck Rolke commented on QPID-6266:
-----------------------------------

Building qpid-cpp on windows is a definite challenge. As time marches on the suite of cmake-boost-qpid-proton-visual_studio
must all progress together. Typical issues are cmake version X or Boost version Y doesn't
have support for Visual Studio version Z. Qpid includes various source code changes to accomodate
cmake, boost, Proton, and Visual Studio in its various releases. Until the INSTALL-WINDOWS
gets an update here are some of my notes.

1. Pre built kits. Here are some Org.Apache.Qpid.Messaging kits already made.
See https://github.com/ChugR/Apache.NMS-vendor.Apache.QPID
See https://github.com/ChugR/Apache.NMS-vendor.Apache.QPID/tree/master/Apache.QPID/0.28.0.16239/src
This kit builds QPID 0.28 and PROTON 0.7. The scripts that made the kit are included.

2. Pre built Boost
See http://people.apache.org/~chug/ There are boost-win-1.xx folders that have the boost builds.
Boost is great but it's a major hurdle to use outside of a linux distribution.

3. Building Proton and Qpid from source
See http://people.apache.org/~chug/proton-win/ for the scripts I use on a daily basis building
from source code checkouts.

4. Here are some instructions and hints on building Proton and Qpid with Visual Studio 2012.
{noformat}
Proton
======
Building Proton is straightforward and has few dependencies. 
That said, the trick for building a Proton that can be included by 
Qpid is by using a shared install directory.

Qpid
====
Building Qpid has more issues with dependencies such as Boost and Proton. 
With some careful attention these issues may be solved directly.

Pre build setup:
================
I have some resources on my Apache personal page that will help you.

1. Download a VS2012 Boost from:
   http://people.apache.org/~chug/boost-win-1.53/
   Select the 32-bit or 64-bit version to fit your needs.

   Be careful that virus scanners do not prevent boost downloads.
   I do all my qpid development on a drive that is not part of
   antivirus protection.

2. Download some build scripts from:
   http://people.apache.org/~chug/proton-win/

   Assume that your builds are in these folders:
      Qpid    - D:\qpid
      Proton  - D:\proton

   The scripts are named with .bat.txt suffixes to enable downloads without
   having virus scanners or system protections prevent the download. Once
   these files are downloaded, rename them to simple .bat

   When done you should have
      D:\qpid\build_qpid.bat
      D:\proton\build_proton.bat

3. Edit build_qpid.bat to set MY_BOOST_ROOT to hold the specific locations where
your boost libraries are stored on your build system.

4. The build_qpid script requires that you do NOT define BOOST_ROOT in your
environment. Windows-based cmake has trouble differentiating between 32-bit
and 64-bit boost installations. In my experience it is best to allow the
build scripts to define Boost on the fly. Please undefine BOOST_ROOT before
executing these scripts.

Ready to build
==============
You are now ready to build. Here is the important theory behind these scripts:

1. You must build proton first since qpid will share the proton install directory.

2. The build_proton script requires the root path for where it
will place the installed proton. To work with the build_qpid script
this path is the name of the directory in which the build_qpid.bat
script exists: D:\qpid

3. These scripts use a regular pattern for naming build/install,
visual studio version, and architecture folders. This is somewhat arbitrary but
it keeps things regular and simple. For both proton and qpid the folders are
named:
   build_2008_x86   install_2008_x86
   build_2008_x64   install_2008_x64
   build_2010_x86   install_2010_x86
   build_2010_x64   install_2010_x64
   build_2012_x86   install_2012_x86
   build_2012_x64   install_2012_x64

Running the build
=================

1. Build proton. (32-bit x86 is shown here. For 64-bit choose 'x64' instead)
    D:
    cd \proton
    build_proton D:\qpid 2012 x86

2. Proton build result. After a successful build you should have
    D:\proton\build_2012_x86
    D:\qpid\install_2012_x86

    Note: proton is installed in the qpid directory. The proton folder has
    only proton build folders and no install folders.

3. Build qpid
   D:
   cd \qpid
   build_qpid 2012 x86

   Observe during the cmake part of the build that Proton is found and that
   AMQP 1.0 support is included. Ignore the 0.7/0.8 version warnings:

   -- Found Proton: optimized;D:/Users/svn/qpid/install_2010_x86/lib/qpid-proton.lib;
      debug;D:/Users/svn/qpid/install_2010_x86/lib/qpid-protond.lib (found version "0.8")
      CMake Warning at src/amqp.cmake:28 (message):
         Qpid proton 0.8 is not a tested version and might not be compatible, 0.7 is
         highest tested; build may not work

4. Qpid build result. After a successful build you should have
    D:\proton\build_2012_x86
    D:\qpid\build_2012_x86
    D:\qpid\install_2012_x86

5. In folder D:\qpid\build_2012_x86 execute the procedure 
   start-devenv-messaging-msvc10-x64-64-bit.bat
   This puts Boost in your path, defines QPID_BUILD_ROOT, and then 
   launches the org.apache.qpid.messaging.sln
{noformat}


> qpid-cpp-0.30 Build Fail - Org.Apache.Qpid.Messaging.dll
> --------------------------------------------------------
>
>                 Key: QPID-6266
>                 URL: https://issues.apache.org/jira/browse/QPID-6266
>             Project: Qpid
>          Issue Type: Bug
>          Components: Dot Net Client
>    Affects Versions: 0.30
>         Environment: Windows XP (x86)
> Windows 7 ( x64).  
> Visual Studios 2008, 2010
>            Reporter: Fred Cheng
>            Assignee: Chuck Rolke
>   Original Estimate: 120h
>  Remaining Estimate: 120h
>
> The build instructions in the file INSTALL-WINDOWS in qpid-cpp-0.30 does not work.  For
example, the file said to install 
> 1. CMake 2.4 
> 2. "cmake -i -G "Visual Studio 9 2008"
> The problem is the CMake 2.4 does not support "Visual Studio 9 2008"
> A second example is that the command -i  for cmake has been depreciated in current version
of cmake.  
> The file README-winsdk.txt also appears to be outdated.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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


Mime
View raw message