Damian Maguire <d.maguire@...>
For what it’s worth, I agree with Frank’s take here. I was looking at some of Dmitri’s questions last night and had to modify my own test environment to be able to recreate some of them
– there’s clearly just too many factors for a project like ours to handle sensibly.
A side note on this – where we’re having to do something particularly unusual (such as copying header files around, or modifying includes), it might be beneficial for us to take the time
to understand why. If it’s a problem with the way we use the libraries, that should probably be something we fix in OpenMAMA; If it’s a problem with the third party, we should probably see if we can either commit a fix upstream to the projects themselves,
or at least raise a bug with them to see if it can be resolved (something we can point to the next time someone asks). Making our own changes and hiding them away is probably not the spirit of open source collaboration we’re going for.
Cheers,
D
Damian Maguire, Senior Sales Engineer
Desk (Direct): +4428 9568 0298
Adelaide Exchange | 24-26 Adelaide Street | Belfast | UK | BT2 8GD
SR.LABS Proven
High Speed Electronic Trading Solutions

From:
<openmama-dev-bounces@...> on behalf of Dmitri Fedorov <dfedorov.solace@...>
Date: Tuesday, May 10, 2016 at 11:06 PM
To: Frank Quinn <fquinn.ni@...>
Cc: openmama-dev <openmama-dev@...>
Subject: Re: [Openmama-dev] question about building on Windows
This approach makes sense to me because my goal from the beginning was to assign proper values to EVENT_HOME, PROTON_HOME and AVIS_HOME.
Here is a branch I fixed to build with VS2015, I did not try it on other platforms (and I won't):
Solace Systems accepts no liability for the content of this email, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. Any views or opinions
presented in this email are solely those of the author and do not necessarily represent those of Solace Systems.
toggle quoted message
Show quoted text
On 10 May 2016 at 16:50, Frank Quinn < fquinn.ni@...> wrote:
Hi Dmitri,
Honestly, the more I deal with these issues (which seem to come up in a different form every time someone tries to build on windows), the more I think this step by step thing that we do for dependencies needs a serious descope.
There are too many moving parts and I think OpenMAMA is trying to do too much: between 3rd party code, windows SDKs, VS versions, release vs debug builds and architectures. Instead I think we should list the library and header locations we expect for the
dependency along with high level instructions on how to build (I.e build using solution files).
The issue you hit there is literally nothing to do with OpenMAMA - its a bug with libevent in your build stack - so rather than update our documentation to support every possible permutation, or specify one which we still need to constantly update, I think
we should just keep it vague. I'd be interested to see if the community has any thoughts on this too.
Really the only things that are relevant to OpenMAMA are those directory paths.
Cheers,
Frank
I've fixed the error, no big deal, my intention here is to understand if a) I'm not following instructions properly or b) the instructions need to be updated.
You're the only person who can tell me if this is the case a)
If this is the case b) then I'll figure it out, fix it up and share the instructions that work.
On 10 May 2016 at 15:54, Frank Quinn <fquinn.ni@...> wrote:
*sigh* most recent response was from memory rather than anything else. When I get a chance to look I can verify. It reads like you could just comment out the duplicate definition though.
Same error using the VS project file:
1>c:\program files (x86)\windows kits\10\include\10.0.10240.0\ucrt\time.h(39): error C2011: 'timespec': 'struct' type redefinition
1> c:\projects\ext\libevent-release-1.4.15-stable\compat\sys\_libevent_time.h(52): note: see declaration of 'timespec'
I'm going to try changing 1.4.15 project file, if you confirm that looks like VS2015 specific issue and you didn't have these problems on version VS2010/2012/2013
Dmitri Fedorov
Solace Systems accepts no liability for the content of this email, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. Any views or opinions
presented in this email are solely those of the author and do not necessarily represent those of Solace Systems.
On 10 May 2016 at 14:35, Frank Quinn <fquinn.ni@...> wrote:
Don't use nmake use the libevent 1.x project file instead. That will build libevent.lib
Now I'm puzzled by the other dependency: libevent.
The OpenMAMA Wiki page you referred to suggests to build 1.4.x as libevent_code.lib, but openmama\mama\c_cpp\src\c\bridge\avis\avis.vcxproj refers to libevent.lib, how is it going to work?
What version of libevent do I need to build: 1.4.15 or 2.0.22?
It looks to me that the recommended version 1.4.X fails be build, OpenMAMA refers to the library that is not what's being build.
I was able to build 2.0.22 with "nmake /F Makefile.nmake libevent_core.lib", but I cannot build 1.4.15:
C:\Projects\ext\libevent-release-1.4.15-stable>nmake /F Makefile.nmake libevent_core.lib
Microsoft (R) Program Maintenance Utility Version 14.00.23506.0
Copyright (C) Microsoft Corporation. All rights reserved.
cl /Iinclude /Icompat /IWIN32-Code /DWIN32 /DHAVE_CONFIG_H /I. /Ox /W3 /wd4996 /nologo /c ev
C:\Program Files (x86)\Windows Kits\10\include\10.0.10586.0\ucrt\time.h(39): error C2011: 'timespec'
: 'struct' type redefinition
compat\sys/_libevent_time.h(52): note: see declaration of 'timespec'
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.EXE"' : r
On 9 May 2016 at 14:53, Frank Quinn <f.quinn@...> wrote:
Hi Dmitri,
Looks like a C&P error from when this document was pulled across – see original instructions here:
http://wiki.openmama.org/index.php/Building_Libevent
Last time I built on windows though I don’t think I needed this step anymore, so maybe that was only
for Visual Studio 2008 which is what I was using when I originally created those instructions.
Try going ahead without it and let me know how you get on so I can update documentation Instead try
building with the libevent solution file in the WIN32-Prj subdirectory.
Cheers,
Frank
Frank Quinn, Principal Software Engineer
Tel:
+44 (0) 28 9568 0209 (Ext: 3592)
24-26 Adelaide Street, Belfast, Northern Ireland, BT2 8GD
www.srtechlabs.com
SR.LABS Proven
High Speed Electronic Trading Solutions
From:
openmama-dev-bounces@... [mailto:openmama-dev-bounces@...]
On Behalf Of Dmitri Fedorov
Sent: 09 May 2016 19:41
To: openmama-dev <openmama-dev@...>
Subject: [Openmama-dev] question about building on Windows
In Wiki page on building under Windows for libevent:
There is the following sentence I have a question about, please:
> At this point there is an additional step which is required in order to work
> around a bug in the libevent libraries. Once the nmake command has
> completed, navigate to the ''include'' directory. Open the file ''event.h'', and
> add #include along with the other includes (yes - after compilation... don't
> ask). When complete, save the file and exit.
I'm puzzled by this instruction:
> add #include along with the other includes
Could someone explain it to me, please?
Add where? Add what, an empty #include?
Dmitri Fedorov
Solace Systems accepts no liability for the content of this email, or for the consequences of any actions taken on the basis of the information provided, unless
that information is subsequently confirmed in writing. Any views or opinions presented in this email are solely those of the author and do not necessarily represent those of Solace Systems.
The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication
is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. SR Labs LLC
_______________________________________________
Openmama-dev mailing list
Openmama-dev@...
https://lists.openmama.org/mailman/listinfo/openmama-dev
The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication
is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. SR Labs LLC
|