Date   

Re: create new bridge

Glenn McClements <gmcclements@...>
 

Hi Nicolas,
There is a wiki page at http://wiki.openmama.org/index.php/OpenMAMA_Bridge_Documentation which give a good introduction to building your own bridge. 

You can also take a look at the sample Avis bridge and there is a development mailing list for questions:
http://lists.openmama.org/mailman/listinfo/openmama-dev

Glenn  

From: Nicolas Huyghe <Nicolas.Huyghe@...>
Date: Wed, 12 Sep 2012 05:18:36 -0500
To: "openmama-users@..." <openmama-users@...>
Subject: [Openmama-users] create new bridge

Hello

 

Is there a document that explains how to create a new bridge?

 

Thanks

_______________________________________________ Openmama-users mailing list Openmama-users@... https://lists.openmama.org/mailman/listinfo/openmama-users



Please consider the environment before printing this e-mail.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.


Handling stale messages

Nicolas Huyghe
 

Hi there,

 

When looking at source code, I see two ways of notifying subscription staleness:  mamaStatus: MAMA_MSG_STATUS_STALE and mamaQuality: MAMA_QUALITY_STALE

 

What is the difference between the two and should both be handled?

 

Thanks

 

-Nicolas


Re: Handling stale messages

Glenn McClements <gmcclements@...>
 

Hi Nicolas,
The main difference is that MAMA_QUALITY_STALE is a property of a mamaSubscription object, while MAMA_MSG_STATUS_STALE is a property of the mamaMsg object - you will receive stale messages whenever a gap is detected, and the subscription will be stale at that point also. The best way to detect whether a particular topic is stale however is to implement the relevant subscription callbacks and you will be automatically notified.

Generally you do not have to do anything to recover from stale subscriptions, as OpenMAMA will attempt to recover automatically, though you may have application specific code that you wish to invoke e.g. some warning propagated to the user. Also note that the concept of a gap and staleness is only for "market data" subscriptions, not "basic" subscriptions. 

The OpenMAMA Developer's Guide, p67-70, gives a good overview of the data quality state machine. 

Glenn 

From: Nicolas Huyghe <Nicolas.Huyghe@...>
Date: Fri, 14 Sep 2012 05:49:31 -0500
To: "openmama-users@..." <openmama-users@...>
Subject: [Openmama-users] Handling stale messages

Hi there,

 

When looking at source code, I see two ways of notifying subscription staleness:  mamaStatus: MAMA_MSG_STATUS_STALE and mamaQuality: MAMA_QUALITY_STALE

 

What is the difference between the two and should both be handled?

 

Thanks

 

-Nicolas

_______________________________________________ Openmama-users mailing list Openmama-users@... https://lists.openmama.org/mailman/listinfo/openmama-users



Please consider the environment before printing this e-mail.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.


Announcing the Tick42 Blp Bridge for OpenMama

Tom Doust
 

 

We are pleased to announce version 1.0 of the Tick42 blp bridge which uses the Bloomberg Open API. This provides OpenMama access to Bloomberg data from Bloomberg Terminal, Server API and Managed B-Pipe data sources.

 

The source code is released under the “GNU Lesser General Public License”

 

I am currently in the process of figuring out how to get the source code into the OpenMama git. In the meantime, a binary release of the bridge is available for download on the tick42 website. Please contact blpBridge@... for details.

 

The attached documents provide an overview of the bridge (Tick42 BLP Bridge for Open Mama.pdf) and a description of how to build the source code (Tick42 BLP Bridge Development environment.pdf)

 

Best regards

 

Tom Doust

 

TOM DOUST | Head of Consultancy                                                                                                         


TICK42

P: +44 (0) 1628 477444 | M: +44 (0) 7710 479924 | E: tom.doust@... | http://www.tick42.com  


 

 


Re: Announcing the Tick42 Blp Bridge for OpenMama (with attached documents this time)

Tom Doust
 

 

 

From: Tom Doust
Sent: 27 September 2012 12:44 PM
To: Openmama-dev@...; 'openmama-users@...'
Subject: Announcing the Tick42 Blp Bridge for OpenMama

 

 

We are pleased to announce version 1.0 of the Tick42 blp bridge which uses the Bloomberg Open API. This provides OpenMama access to Bloomberg data from Bloomberg Terminal, Server API and Managed B-Pipe data sources.

 

The source code is released under the “GNU Lesser General Public License”

 

I am currently in the process of figuring out how to get the source code into the OpenMama git. In the meantime, a binary release of the bridge is available for download on the tick42 website. Please contact blpBridge@... for details.

 

The attached documents provide an overview of the bridge (Tick42 BLP Bridge for Open Mama.pdf) and a description of how to build the source code (Tick42 BLP Bridge Development environment.pdf)

 

Best regards

 

Tom Doust

 

TOM DOUST | Head of Consultancy                                                                                                         


TICK42

P: +44 (0) 1628 477444 | M: +44 (0) 7710 479924 | E: tom.doust@... | http://www.tick42.com  


 

 


dictionary publisher and avis

Nicolas Huyghe
 

Hello

 

I am trying to publish a dictionary over avis. The sample listener (written in C) crashes on reception of the dictionary message (during iteration on the fields of the dictionary message).

 

Can you actually publish/subscribe a dictionary over avis? I also noticed that fields in avis message cannot have a fid and a name at the same time.

 

Thank you

 


Re: dictionary publisher and avis

Ian Bell <IBell@...>
 

Hi

 

Currently avis can’t support the dictionary as the point of the dictionary is to relate fids to names and the avis payload can’t have both.

 

A way to fix this may be to modify the avis bridge so that the name and fid could be passed in a field

 

Ie currently the id string is a fid or a name we could change the id string for the field to contain the name and fid separated by a

particular character if you wan to send both.

 

If the character is not present that it could fall back to looking for a fir or a name.

 

Eg

699_wPriceLevels

 

Ian

 

 

From: openmama-users-bounces@... [mailto:openmama-users-bounces@...] On Behalf Of Nicolas Huyghe
Sent: 12 October 2012 16:40
To: openmama-users@...
Subject: [Openmama-users] dictionary publisher and avis

 

Hello

 

I am trying to publish a dictionary over avis. The sample listener (written in C) crashes on reception of the dictionary message (during iteration on the fields of the dictionary message).

 

Can you actually publish/subscribe a dictionary over avis? I also noticed that fields in avis message cannot have a fid and a name at the same time.

 

Thank you

 




Please consider the environment before printing this e-mail.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.


Transport Listener issue

Nicolas Huyghe
 

Hi everyone,

 

When using avis middleware, the transport listener does not receive any connection events except for disconnect when I shutdown the avis router.

Is that feature not supported with avis? Will other middlewares such as tibco notify the transport listener on successful connection (CONNECT event) ?

 

Thanks

 


Re: Transport Listener issue

Ian Bell <IBell@...>
 

Hi

 

There are a number of transport callback events available through OpenMAMA but not all middlewares support them all.

 

        MAMA_TRANSPORT_CONNECT

        MAMA_TRANSPORT_CONNECT_FAILED

        MAMA_TRANSPORT_RECONNECT

        MAMA_TRANSPORT_DISCONNECT

        MAMA_TRANSPORT_ACCEPT

        MAMA_TRANSPORT_ACCEPT_RECONNECT     

        MAMA_TRANSPORT_PUBLISHER_DISCONNECT

        MAMA_TRANSPORT_QUALITY

        MAMA_TRANSPORT_NAMING_SERVICE_CONNECT

        MAMA_TRANSPORT_NAMING_SERVICE_DISCONNECT

        MAMA_TRANSPORT_WRITE_QUEUE_HIGH_WATER_MARK

        MAMA_TRANSPORT_WRITE_QUEUE_LOW_WATER_MARK

 

The only one connected up in avis is disconnect.

 

When an event like this happens at the middleware layer, it is propagated into the middleware bridge which can then call

one of the following OpenMAMA transport functions which will give the transport callback to the application,

 

 

mamaTransportImpl_invokeTransportCallback

mamaTransportImpl_disconnect

mamaTransportImpl_reconnect

 

If the middleware supports the events and the bridge implementation handles it correctly then you should get transport callbacks for CONNECT.

 

Thanks,

Ian

 

From: openmama-users-bounces@... [mailto:openmama-users-bounces@...] On Behalf Of Nicolas Huyghe
Sent: 17 October 2012 09:09
To: openmama-users@...
Subject: [Openmama-users] Transport Listener issue

 

Hi everyone,

 

When using avis middleware, the transport listener does not receive any connection events except for disconnect when I shutdown the avis router.

Is that feature not supported with avis? Will other middlewares such as tibco notify the transport listener on successful connection (CONNECT event) ?

 

Thanks

 




Please consider the environment before printing this e-mail.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.


Re: Openmama-users Digest, Vol 7, Issue 4

kulbhushan chaskar <kulbhushanchaskar@...>
 

Hi,
    I think accept is also work when avis middle ware u used
 
Regards,
Kulbhushan Chaskar.

On Thu, Oct 18, 2012 at 5:30 PM, <openmama-users-request@...> wrote:
Send Openmama-users mailing list submissions to
        openmama-users@...

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.openmama.org/mailman/listinfo/openmama-users
or, via email, send a message with subject or body 'help' to
        openmama-users-request@...

You can reach the person managing the list at
        openmama-users-owner@...

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Openmama-users digest..."


Today's Topics:

   1. Re: Transport Listener issue (Ian Bell)


----------------------------------------------------------------------

Message: 1
Date: Wed, 17 Oct 2012 19:30:04 +0000
From: Ian Bell <IBell@...>
To: Nicolas Huyghe <Nicolas.Huyghe@...>,
        "openmama-users@..."
        <openmama-users@...>
Subject: Re: [Openmama-users] Transport Listener issue
Message-ID:
        <4657D669CDDCE045A4E14365D61F462D061E8D@...>
Content-Type: text/plain; charset="us-ascii"

Hi

There are a number of transport callback events available through OpenMAMA but not all middlewares support them all.

        MAMA_TRANSPORT_CONNECT
        MAMA_TRANSPORT_CONNECT_FAILED
        MAMA_TRANSPORT_RECONNECT
        MAMA_TRANSPORT_DISCONNECT
        MAMA_TRANSPORT_ACCEPT
        MAMA_TRANSPORT_ACCEPT_RECONNECT
        MAMA_TRANSPORT_PUBLISHER_DISCONNECT
        MAMA_TRANSPORT_QUALITY
        MAMA_TRANSPORT_NAMING_SERVICE_CONNECT
        MAMA_TRANSPORT_NAMING_SERVICE_DISCONNECT
        MAMA_TRANSPORT_WRITE_QUEUE_HIGH_WATER_MARK
        MAMA_TRANSPORT_WRITE_QUEUE_LOW_WATER_MARK

The only one connected up in avis is disconnect.

When an event like this happens at the middleware layer, it is propagated into the middleware bridge which can then call
one of the following OpenMAMA transport functions which will give the transport callback to the application,


mamaTransportImpl_invokeTransportCallback
mamaTransportImpl_disconnect
mamaTransportImpl_reconnect

If the middleware supports the events and the bridge implementation handles it correctly then you should get transport callbacks for CONNECT.

Thanks,
Ian

From: openmama-users-bounces@... [mailto:openmama-users-bounces@...] On Behalf Of Nicolas Huyghe
Sent: 17 October 2012 09:09
To: openmama-users@...
Subject: [Openmama-users] Transport Listener issue

Hi everyone,

When using avis middleware, the transport listener does not receive any connection events except for disconnect when I shutdown the avis router.
Is that feature not supported with avis? Will other middlewares such as tibco notify the transport listener on successful connection (CONNECT event) ?

Thanks


________________________________

Please consider the environment before printing this e-mail.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openmama.org/pipermail/openmama-users/attachments/20121017/76cc1884/attachment-0001.html>

------------------------------

_______________________________________________
Openmama-users mailing list
Openmama-users@...
https://lists.openmama.org/mailman/listinfo/openmama-users


End of Openmama-users Digest, Vol 7, Issue 4
********************************************


mamaMsg_createForWombatMsg

Nicolas Huyghe
 

Hello,

 

I cannot find the function mamaMsg_createForWombatMsg which is described in section 11.2 of the developer’s guide (example 62).

Could you tell me where to find it?

 

Thank you,

 

-Nicolas Huyghe


Re: mamaMsg_createForWombatMsg

Stuart Beattie <SBeattie@...>
 

mamaMsg_create(), mamaMsg_createForPayload(), or mamaMsg_createForPayloadBridge() should be used instead.

 

The function mamaMsg_createForWombatMsg() does not exist in OpenMAMA.  The reference to it in the developer's guide is incorrect and will be removed when it is next updated.

 

From: openmama-users-bounces@... [mailto:openmama-users-bounces@...] On Behalf Of Nicolas Huyghe
Sent: Thursday, October 18, 2012 4:14 PM
To: openmama-users@...
Subject: [Openmama-users] mamaMsg_createForWombatMsg

 

Hello,

 

I cannot find the function mamaMsg_createForWombatMsg which is described in section 11.2 of the developer’s guide (example 62).

Could you tell me where to find it?

 

Thank you,

 

-Nicolas Huyghe




Please consider the environment before printing this e-mail.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.


NO_BRIDGE_IMPL() issue (avis is compiled/linked properly)

Gagan Sidhu <gagan@...>
 

Hi guys,

Currently I'm on OSX and trying to build the openMAMA libs for my system.

I understand that OSX is not officially supported, but the issue I'm experiencing is not specific to this platform.

Specifically, I build and install the avis client, copy the config_h to the suggested directories, and proceed to build mama.

The build and linking goes fine, from what I can see, however the example programs do *not* work.

I have compiled each one using a slightly modified Makefile.sample (no -lrt flag or -Xlinker before the -Bstatic/-Bdynamic).

This issue is very strange, because I saw someone else had a bridge issue but the linked library spit out an error. All I see is:

here's the dump:

GagansMacPro:c Gagan$ make -f Makefile.sample
gcc -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o mamapublisherc mamapublisherc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamasubscriberc.o mamasubscriberc.c
mamasubscriberc.c: In function ‘wildCardMsgCb’:
mamasubscriberc.c:280:56: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
mamasubscriberc.c:285:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
gcc -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o mamasubscriberc mamasubscriberc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamasymbollistsubscriberc.o mamasymbollistsubscriberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o mamasymbollistsubscriberc mamasymbollistsubscriberc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaproxyc.o mamaproxyc.c
mamaproxyc.c: In function ‘subscribeToSymbols’:
mamaproxyc.c:230:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
mamaproxyc.c: In function ‘subscriptionHandlerOnNewRequestCb’:
mamaproxyc.c:354:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
mamaproxyc.c: In function ‘subscriptionHandlerOnRequestCb’:
mamaproxyc.c:422:26: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
mamaproxyc.c:435:26: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o mamaproxyc mamaproxyc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaio.o mamaio.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o mamaio mamaio.o -Bstatic -lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamamultisubscriberc.o mamamultisubscriberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o mamamultisubscriberc mamamultisubscriberc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaftmemberc.o mamaftmemberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o mamaftmemberc mamaftmemberc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
GagansMacPro:c Gagan$ ./mamalistenc
Enter one symbol per line and terminate with a .
Symbol> ,
Symbol> .
Could not open MAMA wmw bridge.
GagansMacPro:c Gagan$ ./mamalistenc -m avis
Enter one symbol per line and terminate with a .
Symbol> .
Could not open MAMA avis bridge.
Thanks,
Gagan Sidhu,
Director, General Analytics (GA) Inc.


Re: NO_BRIDGE_IMPL() issue (avis is compiled/linked properly)

Glenn McClements <gmcclements@...>
 

Hi Gigan,
This looks like the avis bridge lib isn't in being loaded for some reason
(FYI bridge libraries are dynamical *loaded* using dlopen() not
dynamically linked). Is the bridge library and the AVIS in your
DYLD_LIBRARY_PATH? Also putting mamalistenc in full verbose mode may give
more info, i.e:

./mamalistenc -m avis -v -v -v -v

As you said, OSX isn't currently supported but I do know of some people
who have tried in the past and did manage to get something up and running.

Did you make any other changes to get it building on OSX? If so, and
provided other platforms aren't affected of course, then I'd be happy to
apply them. I can't see NYSE ever supporting this in their commercial
distribution as there isn't a demand for it with their customers, but for
the open source project additional platform support can only be a good
thing.

Glenn


On 29/11/2012 17:13, "Gagan Sidhu" <gagan@g-a.ca> wrote:

Hi guys,

Currently I'm on OSX and trying to build the openMAMA libs for my system.

I understand that OSX is not officially supported, but the issue I'm
experiencing is not specific to this platform.

Specifically, I build and install the avis client, copy the config_h to
the suggested directories, and proceed to build mama.

The build and linking goes fine, from what I can see, however the example
programs do *not* work.

I have compiled each one using a slightly modified Makefile.sample (no
-lrt flag or -Xlinker before the -Bstatic/-Bdynamic).

This issue is very strange, because I saw someone else had a bridge issue
but the linked library spit out an error. All I see is:

here's the dump:

GagansMacPro:c Gagan$ make -f Makefile.sample
gcc -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamapublisherc mamapublisherc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic
-lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamasubscriberc.o mamasubscriberc.c
mamasubscriberc.c: In function ŒwildCardMsgCb¹:
mamasubscriberc.c:280:56: warning: cast to pointer from integer of
different size [-Wint-to-pointer-cast]
mamasubscriberc.c:285:13: warning: cast from pointer to integer of
different size [-Wpointer-to-int-cast]
gcc -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamasubscriberc mamasubscriberc.o -Bstatic -lmamaavisimpl -lmama
-Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamasymbollistsubscriberc.o
mamasymbollistsubscriberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamasymbollistsubscriberc mamasymbollistsubscriberc.o -Bstatic
-lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaproxyc.o mamaproxyc.c
mamaproxyc.c: In function ŒsubscribeToSymbols¹:
mamaproxyc.c:230:34: warning: cast to pointer from integer of different
size [-Wint-to-pointer-cast]
mamaproxyc.c: In function ŒsubscriptionHandlerOnNewRequestCb¹:
mamaproxyc.c:354:62: warning: cast to pointer from integer of different
size [-Wint-to-pointer-cast]
mamaproxyc.c: In function ŒsubscriptionHandlerOnRequestCb¹:
mamaproxyc.c:422:26: warning: cast from pointer to integer of different
size [-Wpointer-to-int-cast]
mamaproxyc.c:435:26: warning: cast from pointer to integer of different
size [-Wpointer-to-int-cast]
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamaproxyc mamaproxyc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic
-lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaio.o mamaio.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o mamaio
mamaio.o -Bstatic -lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamamultisubscriberc.o
mamamultisubscriberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamamultisubscriberc mamamultisubscriberc.o -Bstatic -lmamaavisimpl
-lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaftmemberc.o mamaftmemberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamaftmemberc mamaftmemberc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic
-lpthread -lm -ldl
GagansMacPro:c Gagan$ ./mamalistenc
Enter one symbol per line and terminate with a .
Symbol> ,
Symbol> .
Could not open MAMA wmw bridge.
GagansMacPro:c Gagan$ ./mamalistenc -m avis
Enter one symbol per line and terminate with a .
Symbol> .
Could not open MAMA avis bridge.
Thanks,
Gagan Sidhu,
Director, General Analytics (GA) Inc.

_______________________________________________
Openmama-users mailing list
Openmama-users@lists.openmama.org
https://lists.openmama.org/mailman/listinfo/openmama-users

________________________________

Please consider the environment before printing this e-mail.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.


Re: NO_BRIDGE_IMPL() issue (avis is compiled/linked properly)

Gagan Sidhu <gagan@...>
 

Hey Glen,

On 2012-11-29, at 10:58 AM, Glenn McClements <gmcclements@nyx.com> wrote:

Hi Gigan,
This looks like the avis bridge lib isn't in being loaded for some reason
(FYI bridge libraries are dynamical *loaded* using dlopen() not
dynamically linked). Is the bridge library and the AVIS in your
DYLD_LIBRARY_PATH? Also putting mamalistenc in full verbose mode may give
more info, i.e:

./mamalistenc -m avis -v -v -v -v

As you said, OSX isn't currently supported but I do know of some people
who have tried in the past and did manage to get something up and running.
yeah, theoretically speaking there is not much of a difference in the required libs.
I installed avis in /usr/local so /usr/local/include contains the avis folder, and /usr/local/lib contains libavis
I didn't export DYLD_LIBRARY_PATH till now, but it looks like this:

GagansMacPro:c Gagan$ echo $DYLD_LIBRARY_PATH
/opt/openmama/lib:/usr/local/lib:

and changing -lmamaavisimpl to -lavis and re-compiling with Makefile -f sMakefile.sample still gets the same sort of issue.
I've tried -v -v -v -v before because will henry suggested it, but that didn't work:

GagansMacPro:c Gagan$ ./mamalistenc -m avis -v -v -v -v
Enter one symbol per line and terminate with a .
Symbol> .
Could not open MAMA avis bridge.

Given that the verbose output doesn't work, I'm really puzzled as to what is causing the issue.

Is there a way to check that the compiled libraries have everything?

FYI: I am new to the whole "trading" thing. I do not have any avis servers or anything like that setup, just the client installed.

I'm wondering why the examples say tiprv/elvin/one other oen, but do not mention avis? I assume elvin is avis but just slightly different.

In any case, is there a way to check the "integrity" of the libraries first? They must be the issue, as the programs compile fine but are failing to load the bridge.



Did you make any other changes to get it building on OSX? If so, and
provided other platforms aren't affected of course, then I'd be happy to
apply them. I can't see NYSE ever supporting this in their commercial
distribution as there isn't a demand for it with their customers, but for
the open source project additional platform support can only be a good
thing.
I agree, but I want to hold off on sharing those changes until we can ensure the build works properly.
They are small changes here and there, but most definitely should not be the reason for the error.

-gAgan ;)

Glenn


On 29/11/2012 17:13, "Gagan Sidhu" <gagan@g-a.ca> wrote:

Hi guys,

Currently I'm on OSX and trying to build the openMAMA libs for my system.

I understand that OSX is not officially supported, but the issue I'm
experiencing is not specific to this platform.

Specifically, I build and install the avis client, copy the config_h to
the suggested directories, and proceed to build mama.

The build and linking goes fine, from what I can see, however the example
programs do *not* work.

I have compiled each one using a slightly modified Makefile.sample (no
-lrt flag or -Xlinker before the -Bstatic/-Bdynamic).

This issue is very strange, because I saw someone else had a bridge issue
but the linked library spit out an error. All I see is:

here's the dump:

GagansMacPro:c Gagan$ make -f Makefile.sample
gcc -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamapublisherc mamapublisherc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic
-lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamasubscriberc.o mamasubscriberc.c
mamasubscriberc.c: In function ŒwildCardMsgCb¹:
mamasubscriberc.c:280:56: warning: cast to pointer from integer of
different size [-Wint-to-pointer-cast]
mamasubscriberc.c:285:13: warning: cast from pointer to integer of
different size [-Wpointer-to-int-cast]
gcc -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamasubscriberc mamasubscriberc.o -Bstatic -lmamaavisimpl -lmama
-Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamasymbollistsubscriberc.o
mamasymbollistsubscriberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamasymbollistsubscriberc mamasymbollistsubscriberc.o -Bstatic
-lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaproxyc.o mamaproxyc.c
mamaproxyc.c: In function ŒsubscribeToSymbols¹:
mamaproxyc.c:230:34: warning: cast to pointer from integer of different
size [-Wint-to-pointer-cast]
mamaproxyc.c: In function ŒsubscriptionHandlerOnNewRequestCb¹:
mamaproxyc.c:354:62: warning: cast to pointer from integer of different
size [-Wint-to-pointer-cast]
mamaproxyc.c: In function ŒsubscriptionHandlerOnRequestCb¹:
mamaproxyc.c:422:26: warning: cast from pointer to integer of different
size [-Wpointer-to-int-cast]
mamaproxyc.c:435:26: warning: cast from pointer to integer of different
size [-Wpointer-to-int-cast]
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamaproxyc mamaproxyc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic
-lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaio.o mamaio.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o mamaio
mamaio.o -Bstatic -lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamamultisubscriberc.o
mamamultisubscriberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamamultisubscriberc mamamultisubscriberc.o -Bstatic -lmamaavisimpl
-lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaftmemberc.o mamaftmemberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamaftmemberc mamaftmemberc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic
-lpthread -lm -ldl
GagansMacPro:c Gagan$ ./mamalistenc
Enter one symbol per line and terminate with a .
Symbol> ,
Symbol> .
Could not open MAMA wmw bridge.
GagansMacPro:c Gagan$ ./mamalistenc -m avis
Enter one symbol per line and terminate with a .
Symbol> .
Could not open MAMA avis bridge.
Thanks,
Gagan Sidhu,
Director, General Analytics (GA) Inc.

_______________________________________________
Openmama-users mailing list
Openmama-users@lists.openmama.org
https://lists.openmama.org/mailman/listinfo/openmama-users

________________________________

Please consider the environment before printing this e-mail.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.


Re: NO_BRIDGE_IMPL() issue (avis is compiled/linked properly)

Philip Preston <PPreston@...>
 

Gagan

It will compile - but the programs won't work because mac os x does not fully implement posix semaphores, and as such it silently fails. Also it won't load the bridge in the example apps unless you change the LIB_EXTENSION to .dylib (if you haven't already).

The function calls exist for posix unnamed semaphores on mac but return error codes indicate they are not implemented - mama doesn't log the failure cause its not an issue on any of the officially supported os. This stops any of the queues working. You can work around this by implementing named semaphores. I'd made some changes to do this for openmama1 and have got most of moved to a local openmama2, following the breakout of platforms in wombatcommon. Have added a darwin folder with appropriate changes.

Happy to pass it on once I get time to finish / tidy it up. Also had it setup in xcode.

Cheers

Phil

Philip Preston
NYSE Technologies

Adelaide Exchange
24-26 Adelaide St
Belfast, BT2 8GD
United Kingdom

t: +44 (0) 2890 822 091
m: +44 (0) 7903 300307
e: ppreston@nyx.com

NYSE Euronext
Powering the Exchanging World
www.nyse.com/technologies
_

----- Original Message -----
From: Gagan Sidhu [mailto:gagan@g-a.ca]
Sent: Thursday, November 29, 2012 06:08 PM
To: openmama-users@lists.openmama.org <openmama-users@lists.openmama.org>
Subject: Re: [Openmama-users] NO_BRIDGE_IMPL() issue (avis is compiled/linked properly)

Hey Glen,

On 2012-11-29, at 10:58 AM, Glenn McClements <gmcclements@nyx.com> wrote:

Hi Gigan,
This looks like the avis bridge lib isn't in being loaded for some reason
(FYI bridge libraries are dynamical *loaded* using dlopen() not
dynamically linked). Is the bridge library and the AVIS in your
DYLD_LIBRARY_PATH? Also putting mamalistenc in full verbose mode may give
more info, i.e:

./mamalistenc -m avis -v -v -v -v

As you said, OSX isn't currently supported but I do know of some people
who have tried in the past and did manage to get something up and running.
yeah, theoretically speaking there is not much of a difference in the required libs.
I installed avis in /usr/local so /usr/local/include contains the avis folder, and /usr/local/lib contains libavis
I didn't export DYLD_LIBRARY_PATH till now, but it looks like this:

GagansMacPro:c Gagan$ echo $DYLD_LIBRARY_PATH
/opt/openmama/lib:/usr/local/lib:

and changing -lmamaavisimpl to -lavis and re-compiling with Makefile -f sMakefile.sample still gets the same sort of issue.
I've tried -v -v -v -v before because will henry suggested it, but that didn't work:

GagansMacPro:c Gagan$ ./mamalistenc -m avis -v -v -v -v
Enter one symbol per line and terminate with a .
Symbol> .
Could not open MAMA avis bridge.

Given that the verbose output doesn't work, I'm really puzzled as to what is causing the issue.

Is there a way to check that the compiled libraries have everything?

FYI: I am new to the whole "trading" thing. I do not have any avis servers or anything like that setup, just the client installed.

I'm wondering why the examples say tiprv/elvin/one other oen, but do not mention avis? I assume elvin is avis but just slightly different.

In any case, is there a way to check the "integrity" of the libraries first? They must be the issue, as the programs compile fine but are failing to load the bridge.



Did you make any other changes to get it building on OSX? If so, and
provided other platforms aren't affected of course, then I'd be happy to
apply them. I can't see NYSE ever supporting this in their commercial
distribution as there isn't a demand for it with their customers, but for
the open source project additional platform support can only be a good
thing.
I agree, but I want to hold off on sharing those changes until we can ensure the build works properly.
They are small changes here and there, but most definitely should not be the reason for the error.

-gAgan ;)

Glenn


On 29/11/2012 17:13, "Gagan Sidhu" <gagan@g-a.ca> wrote:

Hi guys,

Currently I'm on OSX and trying to build the openMAMA libs for my system.

I understand that OSX is not officially supported, but the issue I'm
experiencing is not specific to this platform.

Specifically, I build and install the avis client, copy the config_h to
the suggested directories, and proceed to build mama.

The build and linking goes fine, from what I can see, however the example
programs do *not* work.

I have compiled each one using a slightly modified Makefile.sample (no
-lrt flag or -Xlinker before the -Bstatic/-Bdynamic).

This issue is very strange, because I saw someone else had a bridge issue
but the linked library spit out an error. All I see is:

here's the dump:

GagansMacPro:c Gagan$ make -f Makefile.sample
gcc -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamapublisherc mamapublisherc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic
-lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamasubscriberc.o mamasubscriberc.c
mamasubscriberc.c: In function ŒwildCardMsgCb¹:
mamasubscriberc.c:280:56: warning: cast to pointer from integer of
different size [-Wint-to-pointer-cast]
mamasubscriberc.c:285:13: warning: cast from pointer to integer of
different size [-Wpointer-to-int-cast]
gcc -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamasubscriberc mamasubscriberc.o -Bstatic -lmamaavisimpl -lmama
-Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamasymbollistsubscriberc.o
mamasymbollistsubscriberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamasymbollistsubscriberc mamasymbollistsubscriberc.o -Bstatic
-lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaproxyc.o mamaproxyc.c
mamaproxyc.c: In function ŒsubscribeToSymbols¹:
mamaproxyc.c:230:34: warning: cast to pointer from integer of different
size [-Wint-to-pointer-cast]
mamaproxyc.c: In function ŒsubscriptionHandlerOnNewRequestCb¹:
mamaproxyc.c:354:62: warning: cast to pointer from integer of different
size [-Wint-to-pointer-cast]
mamaproxyc.c: In function ŒsubscriptionHandlerOnRequestCb¹:
mamaproxyc.c:422:26: warning: cast from pointer to integer of different
size [-Wpointer-to-int-cast]
mamaproxyc.c:435:26: warning: cast from pointer to integer of different
size [-Wpointer-to-int-cast]
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamaproxyc mamaproxyc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic
-lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaio.o mamaio.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o mamaio
mamaio.o -Bstatic -lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamamultisubscriberc.o
mamamultisubscriberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamamultisubscriberc mamamultisubscriberc.o -Bstatic -lmamaavisimpl
-lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaftmemberc.o mamaftmemberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamaftmemberc mamaftmemberc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic
-lpthread -lm -ldl
GagansMacPro:c Gagan$ ./mamalistenc
Enter one symbol per line and terminate with a .
Symbol> ,
Symbol> .
Could not open MAMA wmw bridge.
GagansMacPro:c Gagan$ ./mamalistenc -m avis
Enter one symbol per line and terminate with a .
Symbol> .
Could not open MAMA avis bridge.
Thanks,
Gagan Sidhu,
Director, General Analytics (GA) Inc.

_______________________________________________
Openmama-users mailing list
Openmama-users@lists.openmama.org
https://lists.openmama.org/mailman/listinfo/openmama-users

________________________________

Please consider the environment before printing this e-mail.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
_______________________________________________
Openmama-users mailing list
Openmama-users@lists.openmama.org
https://lists.openmama.org/mailman/listinfo/openmama-users

________________________________

Please consider the environment before printing this e-mail.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.


Re: NO_BRIDGE_IMPL() issue (avis is compiled/linked properly)

Gagan Sidhu <gagan@...>
 

Hi Phil,

On 2012-11-29, at 12:17 PM, Philip Preston <PPreston@nyx.com> wrote:

Gagan

It will compile - but the programs won't work because mac os x does not fully implement posix semaphores, and as such it silently fails. Also it won't load the bridge in the example apps unless you change the LIB_EXTENSION to .dylib (if you haven't already).
which library? Right now they look like this:

GagansMacPro:c Gagan$ ls -lh /usr/local/lib/libavis.*
lrwxr-xr-x 1 root wheel 15B 25 Nov 17:40 /usr/local/lib/libavis.0.0.0.dylib -> libavis.0.dylib
-rwxr-xr-x 1 root wheel 86K 25 Nov 17:40 /usr/local/lib/libavis.0.dylib
-rw-r--r-- 1 root wheel 298K 25 Nov 17:40 /usr/local/lib/libavis.a
lrwxr-xr-x 1 root wheel 15B 25 Nov 17:40 /usr/local/lib/libavis.dylib -> libavis.0.dylib
-rwxr-xr-x 1 root wheel 932B 25 Nov 17:40 /usr/local/lib/libavis.la


GagansMacPro:c Gagan$ ls -lh /opt/openmama/lib
total 41976
-rwxr-xr-x 1 root admin 591K 26 Nov 16:28 libmama.0.0.0.dylib
lrwxr-xr-x 1 root admin 19B 26 Nov 16:28 libmama.0.dylib -> libmama.0.0.0.dylib
-rw-r--r-- 1 root admin 2.0M 26 Nov 16:28 libmama.a
lrwxr-xr-x 1 root admin 19B 26 Nov 16:28 libmama.dylib -> libmama.0.0.0.dylib
-rwxr-xr-x 1 root admin 917B 26 Nov 16:28 libmama.la
-rwxr-xr-x 1 root admin 63K 26 Nov 16:28 libmamaavisimpl.0.0.0.dylib
lrwxr-xr-x 1 root admin 27B 26 Nov 16:28 libmamaavisimpl.0.dylib -> libmamaavisimpl.0.0.0.dylib
-rw-r--r-- 1 root admin 183K 26 Nov 16:28 libmamaavisimpl.a
lrwxr-xr-x 1 root admin 27B 26 Nov 16:28 libmamaavisimpl.dylib -> libmamaavisimpl.0.0.0.dylib
-rwxr-xr-x 1 root admin 1.1K 26 Nov 16:28 libmamaavisimpl.la
-rwxr-xr-x 1 root admin 101K 26 Nov 16:28 libmamaavismsgimpl.0.0.0.dylib
lrwxr-xr-x 1 root admin 30B 26 Nov 16:28 libmamaavismsgimpl.0.dylib -> libmamaavismsgimpl.0.0.0.dylib
-rw-r--r-- 1 root admin 294K 26 Nov 16:28 libmamaavismsgimpl.a
lrwxr-xr-x 1 root admin 30B 26 Nov 16:28 libmamaavismsgimpl.dylib -> libmamaavismsgimpl.0.0.0.dylib
-rwxr-xr-x 1 root admin 1.1K 26 Nov 16:28 libmamaavismsgimpl.la
-rwxr-xr-x 1 root admin 696K 26 Nov 16:28 libmamacpp.0.0.0.dylib
lrwxr-xr-x 1 root admin 22B 26 Nov 16:28 libmamacpp.0.dylib -> libmamacpp.0.0.0.dylib
-rw-r--r-- 1 root admin 3.9M 26 Nov 16:28 libmamacpp.a
lrwxr-xr-x 1 root admin 22B 26 Nov 16:28 libmamacpp.dylib -> libmamacpp.0.0.0.dylib
-rwxr-xr-x 1 root admin 891B 26 Nov 16:28 libmamacpp.la
-rwxr-xr-x 1 root admin 1.6M 26 Nov 16:29 libmamda.0.0.0.dylib
lrwxr-xr-x 1 root admin 20B 26 Nov 16:29 libmamda.0.dylib -> libmamda.0.0.0.dylib
-rw-r--r-- 1 root admin 5.7M 26 Nov 16:29 libmamda.a
lrwxr-xr-x 1 root admin 20B 26 Nov 16:29 libmamda.dylib -> libmamda.0.0.0.dylib
-rwxr-xr-x 1 root admin 865B 26 Nov 16:29 libmamda.la
-rwxr-xr-x 1 root admin 164K 26 Nov 16:30 libmamdanews.0.0.0.dylib
lrwxr-xr-x 1 root admin 24B 26 Nov 16:30 libmamdanews.0.dylib -> libmamdanews.0.0.0.dylib
-rw-r--r-- 1 root admin 879K 26 Nov 16:30 libmamdanews.a
lrwxr-xr-x 1 root admin 24B 26 Nov 16:30 libmamdanews.dylib -> libmamdanews.0.0.0.dylib
-rwxr-xr-x 1 root admin 893B 26 Nov 16:30 libmamdanews.la
-rwxr-xr-x 1 root admin 192K 26 Nov 16:30 libmamdaoptions.0.0.0.dylib
lrwxr-xr-x 1 root admin 27B 26 Nov 16:30 libmamdaoptions.0.dylib -> libmamdaoptions.0.0.0.dylib
-rw-r--r-- 1 root admin 1.8M 26 Nov 16:30 libmamdaoptions.a
lrwxr-xr-x 1 root admin 27B 26 Nov 16:30 libmamdaoptions.dylib -> libmamdaoptions.0.0.0.dylib
-rwxr-xr-x 1 root admin 914B 26 Nov 16:30 libmamdaoptions.la
-rw-r--r-- 1 root admin 387K 26 Nov 16:28 libwombatcommon.a
-rwxr-xr-x 1 root admin 798B 26 Nov 16:28 libwombatcommon.la
-rw-r--r-- 1 root admin 11K 26 Nov 16:28 libwombatcommoncpp.a
-rwxr-xr-x 1 root admin 801B 26 Nov 16:28 libwombatcommoncpp.la
-rw-r--r-- 1 root admin 161K 26 Nov 16:29 mamajni.jar
-rw-r--r-- 1 root admin 161K 26 Nov 16:29 mamajni_2.2.1.1.jar
-rw-r--r-- 1 root admin 352K 26 Nov 16:30 mamda.jar
-rw-r--r-- 1 root admin 352K 26 Nov 16:30 mamda_2.2.1.1_jdk1.7.0_07.jar
-rw-r--r-- 1 root admin 207K 26 Nov 16:30 mamda_2.2.1.1_jdk1.7.0_07_book.jar
-rw-r--r-- 1 root admin 245K 26 Nov 16:30 mamda_2.2.1.1_jdk1.7.0_07_options.jar
-rw-r--r-- 1 root admin 207K 26 Nov 16:30 mamda_book.jar
-rw-r--r-- 1 root admin 245K 26 Nov 16:30 mamda_options.jar


The function calls exist for posix unnamed semaphores on mac but return error codes indicate they are not implemented - mama doesn't log the failure cause its not an issue on any of the officially supported os. This stops any of the queues working. You can work around this by implementing named semaphores. I'd made some changes to do this for openmama1 and have got most of moved to a local openmama2, following the breakout of platforms in wombatcommon. Have added a darwin folder with appropriate changes.
this is correct. usually it would then compile with -DNO_SEM_TIMEDWAIT, however I found someone who wrote code that mimics sem_timedwait for OSX, so I included that header file in wSemaphore.c and that made the issue wrt semaphores and timedwait go away.

Happy to pass it on once I get time to finish / tidy it up. Also had it setup in xcode.
Cool. But *if* that code I'm using is working correctly, then the queue issue wouldn't be the root cause of the errors below, no?

Do I need to edit the source files of mama to ensure it's trying to use .dylibs instead of the unix suffix?

Cheers

Phil

Philip Preston
NYSE Technologies

Adelaide Exchange
24-26 Adelaide St
Belfast, BT2 8GD
United Kingdom

t: +44 (0) 2890 822 091
m: +44 (0) 7903 300307
e: ppreston@nyx.com

NYSE Euronext
Powering the Exchanging World
www.nyse.com/technologies
_

----- Original Message -----
From: Gagan Sidhu [mailto:gagan@g-a.ca]
Sent: Thursday, November 29, 2012 06:08 PM
To: openmama-users@lists.openmama.org <openmama-users@lists.openmama.org>
Subject: Re: [Openmama-users] NO_BRIDGE_IMPL() issue (avis is compiled/linked properly)

Hey Glen,

On 2012-11-29, at 10:58 AM, Glenn McClements <gmcclements@nyx.com> wrote:

Hi Gigan,
This looks like the avis bridge lib isn't in being loaded for some reason
(FYI bridge libraries are dynamical *loaded* using dlopen() not
dynamically linked). Is the bridge library and the AVIS in your
DYLD_LIBRARY_PATH? Also putting mamalistenc in full verbose mode may give
more info, i.e:

./mamalistenc -m avis -v -v -v -v

As you said, OSX isn't currently supported but I do know of some people
who have tried in the past and did manage to get something up and running.
yeah, theoretically speaking there is not much of a difference in the required libs.
I installed avis in /usr/local so /usr/local/include contains the avis folder, and /usr/local/lib contains libavis
I didn't export DYLD_LIBRARY_PATH till now, but it looks like this:

GagansMacPro:c Gagan$ echo $DYLD_LIBRARY_PATH
/opt/openmama/lib:/usr/local/lib:

and changing -lmamaavisimpl to -lavis and re-compiling with Makefile -f sMakefile.sample still gets the same sort of issue.
I've tried -v -v -v -v before because will henry suggested it, but that didn't work:

GagansMacPro:c Gagan$ ./mamalistenc -m avis -v -v -v -v
Enter one symbol per line and terminate with a .
Symbol> .
Could not open MAMA avis bridge.

Given that the verbose output doesn't work, I'm really puzzled as to what is causing the issue.

Is there a way to check that the compiled libraries have everything?

FYI: I am new to the whole "trading" thing. I do not have any avis servers or anything like that setup, just the client installed.

I'm wondering why the examples say tiprv/elvin/one other oen, but do not mention avis? I assume elvin is avis but just slightly different.

In any case, is there a way to check the "integrity" of the libraries first? They must be the issue, as the programs compile fine but are failing to load the bridge.



Did you make any other changes to get it building on OSX? If so, and
provided other platforms aren't affected of course, then I'd be happy to
apply them. I can't see NYSE ever supporting this in their commercial
distribution as there isn't a demand for it with their customers, but for
the open source project additional platform support can only be a good
thing.
I agree, but I want to hold off on sharing those changes until we can ensure the build works properly.
They are small changes here and there, but most definitely should not be the reason for the error.

-gAgan ;)

Glenn


On 29/11/2012 17:13, "Gagan Sidhu" <gagan@g-a.ca> wrote:

Hi guys,

Currently I'm on OSX and trying to build the openMAMA libs for my system.

I understand that OSX is not officially supported, but the issue I'm
experiencing is not specific to this platform.

Specifically, I build and install the avis client, copy the config_h to
the suggested directories, and proceed to build mama.

The build and linking goes fine, from what I can see, however the example
programs do *not* work.

I have compiled each one using a slightly modified Makefile.sample (no
-lrt flag or -Xlinker before the -Bstatic/-Bdynamic).

This issue is very strange, because I saw someone else had a bridge issue
but the linked library spit out an error. All I see is:

here's the dump:

GagansMacPro:c Gagan$ make -f Makefile.sample
gcc -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamapublisherc mamapublisherc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic
-lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamasubscriberc.o mamasubscriberc.c
mamasubscriberc.c: In function ŒwildCardMsgCb¹:
mamasubscriberc.c:280:56: warning: cast to pointer from integer of
different size [-Wint-to-pointer-cast]
mamasubscriberc.c:285:13: warning: cast from pointer to integer of
different size [-Wpointer-to-int-cast]
gcc -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamasubscriberc mamasubscriberc.o -Bstatic -lmamaavisimpl -lmama
-Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamasymbollistsubscriberc.o
mamasymbollistsubscriberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamasymbollistsubscriberc mamasymbollistsubscriberc.o -Bstatic
-lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaproxyc.o mamaproxyc.c
mamaproxyc.c: In function ŒsubscribeToSymbols¹:
mamaproxyc.c:230:34: warning: cast to pointer from integer of different
size [-Wint-to-pointer-cast]
mamaproxyc.c: In function ŒsubscriptionHandlerOnNewRequestCb¹:
mamaproxyc.c:354:62: warning: cast to pointer from integer of different
size [-Wint-to-pointer-cast]
mamaproxyc.c: In function ŒsubscriptionHandlerOnRequestCb¹:
mamaproxyc.c:422:26: warning: cast from pointer to integer of different
size [-Wpointer-to-int-cast]
mamaproxyc.c:435:26: warning: cast from pointer to integer of different
size [-Wpointer-to-int-cast]
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamaproxyc mamaproxyc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic
-lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaio.o mamaio.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o mamaio
mamaio.o -Bstatic -lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamamultisubscriberc.o
mamamultisubscriberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamamultisubscriberc mamamultisubscriberc.o -Bstatic -lmamaavisimpl
-lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaftmemberc.o mamaftmemberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamaftmemberc mamaftmemberc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic
-lpthread -lm -ldl
GagansMacPro:c Gagan$ ./mamalistenc
Enter one symbol per line and terminate with a .
Symbol> ,
Symbol> .
Could not open MAMA wmw bridge.
GagansMacPro:c Gagan$ ./mamalistenc -m avis
Enter one symbol per line and terminate with a .
Symbol> .
Could not open MAMA avis bridge.
Thanks,
Gagan Sidhu,
Director, General Analytics (GA) Inc.

_______________________________________________
Openmama-users mailing list
Openmama-users@lists.openmama.org
https://lists.openmama.org/mailman/listinfo/openmama-users

________________________________

Please consider the environment before printing this e-mail.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
_______________________________________________
Openmama-users mailing list
Openmama-users@lists.openmama.org
https://lists.openmama.org/mailman/listinfo/openmama-users

________________________________

Please consider the environment before printing this e-mail.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.


Re: NO_BRIDGE_IMPL() issue (avis is compiled/linked properly)

Philip Preston <PPreston@...>
 

Ah if you have that semaphore sorted then it may just be the LIB_EXTENSION. That's in port.h in the environment specific folders in wombatcommon. Its set to .so for linux so I'd created a mac specific folder with its own port.h setting the LIB_EXTENSION to dylib.



Philip Preston
NYSE Technologies

Adelaide Exchange
24-26 Adelaide St
Belfast, BT2 8GD
United Kingdom

t: +44 (0) 2890 822 091
m: +44 (0) 7903 300307
e: ppreston@nyx.com

NYSE Euronext
Powering the Exchanging World
www.nyse.com/technologies
_

----- Original Message -----
From: Gagan Sidhu [mailto:gagan@g-a.ca]
Sent: Thursday, November 29, 2012 07:24 PM
To: openmama-users@lists.openmama.org <openmama-users@lists.openmama.org>
Subject: Re: [Openmama-users] NO_BRIDGE_IMPL() issue (avis is compiled/linked properly)


Hi Phil,

On 2012-11-29, at 12:17 PM, Philip Preston <PPreston@nyx.com> wrote:

Gagan

It will compile - but the programs won't work because mac os x does not fully implement posix semaphores, and as such it silently fails. Also it won't load the bridge in the example apps unless you change the LIB_EXTENSION to .dylib (if you haven't already).
which library? Right now they look like this:

GagansMacPro:c Gagan$ ls -lh /usr/local/lib/libavis.*
lrwxr-xr-x 1 root wheel 15B 25 Nov 17:40 /usr/local/lib/libavis.0.0.0.dylib -> libavis.0.dylib
-rwxr-xr-x 1 root wheel 86K 25 Nov 17:40 /usr/local/lib/libavis.0.dylib
-rw-r--r-- 1 root wheel 298K 25 Nov 17:40 /usr/local/lib/libavis.a
lrwxr-xr-x 1 root wheel 15B 25 Nov 17:40 /usr/local/lib/libavis.dylib -> libavis.0.dylib
-rwxr-xr-x 1 root wheel 932B 25 Nov 17:40 /usr/local/lib/libavis.la


GagansMacPro:c Gagan$ ls -lh /opt/openmama/lib
total 41976
-rwxr-xr-x 1 root admin 591K 26 Nov 16:28 libmama.0.0.0.dylib
lrwxr-xr-x 1 root admin 19B 26 Nov 16:28 libmama.0.dylib -> libmama.0.0.0.dylib
-rw-r--r-- 1 root admin 2.0M 26 Nov 16:28 libmama.a
lrwxr-xr-x 1 root admin 19B 26 Nov 16:28 libmama.dylib -> libmama.0.0.0.dylib
-rwxr-xr-x 1 root admin 917B 26 Nov 16:28 libmama.la
-rwxr-xr-x 1 root admin 63K 26 Nov 16:28 libmamaavisimpl.0.0.0.dylib
lrwxr-xr-x 1 root admin 27B 26 Nov 16:28 libmamaavisimpl.0.dylib -> libmamaavisimpl.0.0.0.dylib
-rw-r--r-- 1 root admin 183K 26 Nov 16:28 libmamaavisimpl.a
lrwxr-xr-x 1 root admin 27B 26 Nov 16:28 libmamaavisimpl.dylib -> libmamaavisimpl.0.0.0.dylib
-rwxr-xr-x 1 root admin 1.1K 26 Nov 16:28 libmamaavisimpl.la
-rwxr-xr-x 1 root admin 101K 26 Nov 16:28 libmamaavismsgimpl.0.0.0.dylib
lrwxr-xr-x 1 root admin 30B 26 Nov 16:28 libmamaavismsgimpl.0.dylib -> libmamaavismsgimpl.0.0.0.dylib
-rw-r--r-- 1 root admin 294K 26 Nov 16:28 libmamaavismsgimpl.a
lrwxr-xr-x 1 root admin 30B 26 Nov 16:28 libmamaavismsgimpl.dylib -> libmamaavismsgimpl.0.0.0.dylib
-rwxr-xr-x 1 root admin 1.1K 26 Nov 16:28 libmamaavismsgimpl.la
-rwxr-xr-x 1 root admin 696K 26 Nov 16:28 libmamacpp.0.0.0.dylib
lrwxr-xr-x 1 root admin 22B 26 Nov 16:28 libmamacpp.0.dylib -> libmamacpp.0.0.0.dylib
-rw-r--r-- 1 root admin 3.9M 26 Nov 16:28 libmamacpp.a
lrwxr-xr-x 1 root admin 22B 26 Nov 16:28 libmamacpp.dylib -> libmamacpp.0.0.0.dylib
-rwxr-xr-x 1 root admin 891B 26 Nov 16:28 libmamacpp.la
-rwxr-xr-x 1 root admin 1.6M 26 Nov 16:29 libmamda.0.0.0.dylib
lrwxr-xr-x 1 root admin 20B 26 Nov 16:29 libmamda.0.dylib -> libmamda.0.0.0.dylib
-rw-r--r-- 1 root admin 5.7M 26 Nov 16:29 libmamda.a
lrwxr-xr-x 1 root admin 20B 26 Nov 16:29 libmamda.dylib -> libmamda.0.0.0.dylib
-rwxr-xr-x 1 root admin 865B 26 Nov 16:29 libmamda.la
-rwxr-xr-x 1 root admin 164K 26 Nov 16:30 libmamdanews.0.0.0.dylib
lrwxr-xr-x 1 root admin 24B 26 Nov 16:30 libmamdanews.0.dylib -> libmamdanews.0.0.0.dylib
-rw-r--r-- 1 root admin 879K 26 Nov 16:30 libmamdanews.a
lrwxr-xr-x 1 root admin 24B 26 Nov 16:30 libmamdanews.dylib -> libmamdanews.0.0.0.dylib
-rwxr-xr-x 1 root admin 893B 26 Nov 16:30 libmamdanews.la
-rwxr-xr-x 1 root admin 192K 26 Nov 16:30 libmamdaoptions.0.0.0.dylib
lrwxr-xr-x 1 root admin 27B 26 Nov 16:30 libmamdaoptions.0.dylib -> libmamdaoptions.0.0.0.dylib
-rw-r--r-- 1 root admin 1.8M 26 Nov 16:30 libmamdaoptions.a
lrwxr-xr-x 1 root admin 27B 26 Nov 16:30 libmamdaoptions.dylib -> libmamdaoptions.0.0.0.dylib
-rwxr-xr-x 1 root admin 914B 26 Nov 16:30 libmamdaoptions.la
-rw-r--r-- 1 root admin 387K 26 Nov 16:28 libwombatcommon.a
-rwxr-xr-x 1 root admin 798B 26 Nov 16:28 libwombatcommon.la
-rw-r--r-- 1 root admin 11K 26 Nov 16:28 libwombatcommoncpp.a
-rwxr-xr-x 1 root admin 801B 26 Nov 16:28 libwombatcommoncpp.la
-rw-r--r-- 1 root admin 161K 26 Nov 16:29 mamajni.jar
-rw-r--r-- 1 root admin 161K 26 Nov 16:29 mamajni_2.2.1.1.jar
-rw-r--r-- 1 root admin 352K 26 Nov 16:30 mamda.jar
-rw-r--r-- 1 root admin 352K 26 Nov 16:30 mamda_2.2.1.1_jdk1.7.0_07.jar
-rw-r--r-- 1 root admin 207K 26 Nov 16:30 mamda_2.2.1.1_jdk1.7.0_07_book.jar
-rw-r--r-- 1 root admin 245K 26 Nov 16:30 mamda_2.2.1.1_jdk1.7.0_07_options.jar
-rw-r--r-- 1 root admin 207K 26 Nov 16:30 mamda_book.jar
-rw-r--r-- 1 root admin 245K 26 Nov 16:30 mamda_options.jar


The function calls exist for posix unnamed semaphores on mac but return error codes indicate they are not implemented - mama doesn't log the failure cause its not an issue on any of the officially supported os. This stops any of the queues working. You can work around this by implementing named semaphores. I'd made some changes to do this for openmama1 and have got most of moved to a local openmama2, following the breakout of platforms in wombatcommon. Have added a darwin folder with appropriate changes.
this is correct. usually it would then compile with -DNO_SEM_TIMEDWAIT, however I found someone who wrote code that mimics sem_timedwait for OSX, so I included that header file in wSemaphore.c and that made the issue wrt semaphores and timedwait go away.

Happy to pass it on once I get time to finish / tidy it up. Also had it setup in xcode.
Cool. But *if* that code I'm using is working correctly, then the queue issue wouldn't be the root cause of the errors below, no?

Do I need to edit the source files of mama to ensure it's trying to use .dylibs instead of the unix suffix?

Cheers

Phil

Philip Preston
NYSE Technologies

Adelaide Exchange
24-26 Adelaide St
Belfast, BT2 8GD
United Kingdom

t: +44 (0) 2890 822 091
m: +44 (0) 7903 300307
e: ppreston@nyx.com

NYSE Euronext
Powering the Exchanging World
www.nyse.com/technologies
_

----- Original Message -----
From: Gagan Sidhu [mailto:gagan@g-a.ca]
Sent: Thursday, November 29, 2012 06:08 PM
To: openmama-users@lists.openmama.org <openmama-users@lists.openmama.org>
Subject: Re: [Openmama-users] NO_BRIDGE_IMPL() issue (avis is compiled/linked properly)

Hey Glen,

On 2012-11-29, at 10:58 AM, Glenn McClements <gmcclements@nyx.com> wrote:

Hi Gigan,
This looks like the avis bridge lib isn't in being loaded for some reason
(FYI bridge libraries are dynamical *loaded* using dlopen() not
dynamically linked). Is the bridge library and the AVIS in your
DYLD_LIBRARY_PATH? Also putting mamalistenc in full verbose mode may give
more info, i.e:

./mamalistenc -m avis -v -v -v -v

As you said, OSX isn't currently supported but I do know of some people
who have tried in the past and did manage to get something up and running.
yeah, theoretically speaking there is not much of a difference in the required libs.
I installed avis in /usr/local so /usr/local/include contains the avis folder, and /usr/local/lib contains libavis
I didn't export DYLD_LIBRARY_PATH till now, but it looks like this:

GagansMacPro:c Gagan$ echo $DYLD_LIBRARY_PATH
/opt/openmama/lib:/usr/local/lib:

and changing -lmamaavisimpl to -lavis and re-compiling with Makefile -f sMakefile.sample still gets the same sort of issue.
I've tried -v -v -v -v before because will henry suggested it, but that didn't work:

GagansMacPro:c Gagan$ ./mamalistenc -m avis -v -v -v -v
Enter one symbol per line and terminate with a .
Symbol> .
Could not open MAMA avis bridge.

Given that the verbose output doesn't work, I'm really puzzled as to what is causing the issue.

Is there a way to check that the compiled libraries have everything?

FYI: I am new to the whole "trading" thing. I do not have any avis servers or anything like that setup, just the client installed.

I'm wondering why the examples say tiprv/elvin/one other oen, but do not mention avis? I assume elvin is avis but just slightly different.

In any case, is there a way to check the "integrity" of the libraries first? They must be the issue, as the programs compile fine but are failing to load the bridge.



Did you make any other changes to get it building on OSX? If so, and
provided other platforms aren't affected of course, then I'd be happy to
apply them. I can't see NYSE ever supporting this in their commercial
distribution as there isn't a demand for it with their customers, but for
the open source project additional platform support can only be a good
thing.
I agree, but I want to hold off on sharing those changes until we can ensure the build works properly.
They are small changes here and there, but most definitely should not be the reason for the error.

-gAgan ;)

Glenn


On 29/11/2012 17:13, "Gagan Sidhu" <gagan@g-a.ca> wrote:

Hi guys,

Currently I'm on OSX and trying to build the openMAMA libs for my system.

I understand that OSX is not officially supported, but the issue I'm
experiencing is not specific to this platform.

Specifically, I build and install the avis client, copy the config_h to
the suggested directories, and proceed to build mama.

The build and linking goes fine, from what I can see, however the example
programs do *not* work.

I have compiled each one using a slightly modified Makefile.sample (no
-lrt flag or -Xlinker before the -Bstatic/-Bdynamic).

This issue is very strange, because I saw someone else had a bridge issue
but the linked library spit out an error. All I see is:

here's the dump:

GagansMacPro:c Gagan$ make -f Makefile.sample
gcc -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamapublisherc mamapublisherc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic
-lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamasubscriberc.o mamasubscriberc.c
mamasubscriberc.c: In function ŒwildCardMsgCb¹:
mamasubscriberc.c:280:56: warning: cast to pointer from integer of
different size [-Wint-to-pointer-cast]
mamasubscriberc.c:285:13: warning: cast from pointer to integer of
different size [-Wpointer-to-int-cast]
gcc -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamasubscriberc mamasubscriberc.o -Bstatic -lmamaavisimpl -lmama
-Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamasymbollistsubscriberc.o
mamasymbollistsubscriberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamasymbollistsubscriberc mamasymbollistsubscriberc.o -Bstatic
-lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaproxyc.o mamaproxyc.c
mamaproxyc.c: In function ŒsubscribeToSymbols¹:
mamaproxyc.c:230:34: warning: cast to pointer from integer of different
size [-Wint-to-pointer-cast]
mamaproxyc.c: In function ŒsubscriptionHandlerOnNewRequestCb¹:
mamaproxyc.c:354:62: warning: cast to pointer from integer of different
size [-Wint-to-pointer-cast]
mamaproxyc.c: In function ŒsubscriptionHandlerOnRequestCb¹:
mamaproxyc.c:422:26: warning: cast from pointer to integer of different
size [-Wpointer-to-int-cast]
mamaproxyc.c:435:26: warning: cast from pointer to integer of different
size [-Wpointer-to-int-cast]
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamaproxyc mamaproxyc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic
-lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaio.o mamaio.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o mamaio
mamaio.o -Bstatic -lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamamultisubscriberc.o
mamamultisubscriberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamamultisubscriberc mamamultisubscriberc.o -Bstatic -lmamaavisimpl
-lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaftmemberc.o mamaftmemberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamaftmemberc mamaftmemberc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic
-lpthread -lm -ldl
GagansMacPro:c Gagan$ ./mamalistenc
Enter one symbol per line and terminate with a .
Symbol> ,
Symbol> .
Could not open MAMA wmw bridge.
GagansMacPro:c Gagan$ ./mamalistenc -m avis
Enter one symbol per line and terminate with a .
Symbol> .
Could not open MAMA avis bridge.
Thanks,
Gagan Sidhu,
Director, General Analytics (GA) Inc.

_______________________________________________
Openmama-users mailing list
Openmama-users@lists.openmama.org
https://lists.openmama.org/mailman/listinfo/openmama-users

________________________________

Please consider the environment before printing this e-mail.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
_______________________________________________
Openmama-users mailing list
Openmama-users@lists.openmama.org
https://lists.openmama.org/mailman/listinfo/openmama-users

________________________________

Please consider the environment before printing this e-mail.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
_______________________________________________
Openmama-users mailing list
Openmama-users@lists.openmama.org
https://lists.openmama.org/mailman/listinfo/openmama-users

________________________________

Please consider the environment before printing this e-mail.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.


Re: NO_BRIDGE_IMPL() issue (avis is compiled/linked properly)

Gagan Sidhu <gagan@...>
 

On 2012-11-29, at 12:31 PM, Philip Preston <PPreston@nyx.com> wrote:

Ah if you have that semaphore sorted then it may just be the LIB_EXTENSION. That's in port.h in the environment specific folders in wombatcommon. Its set to .so for linux so I'd created a mac specific folder with its own port.h setting the LIB_EXTENSION to dylib.
worked like a charm! Thanks Phil. My gosh, that's all it was :)

now to figure out how to use this and take over the world mwahahahahahha :)



Philip Preston
NYSE Technologies

Adelaide Exchange
24-26 Adelaide St
Belfast, BT2 8GD
United Kingdom

t: +44 (0) 2890 822 091
m: +44 (0) 7903 300307
e: ppreston@nyx.com

NYSE Euronext
Powering the Exchanging World
www.nyse.com/technologies
_

----- Original Message -----
From: Gagan Sidhu [mailto:gagan@g-a.ca]
Sent: Thursday, November 29, 2012 07:24 PM
To: openmama-users@lists.openmama.org <openmama-users@lists.openmama.org>
Subject: Re: [Openmama-users] NO_BRIDGE_IMPL() issue (avis is compiled/linked properly)


Hi Phil,

On 2012-11-29, at 12:17 PM, Philip Preston <PPreston@nyx.com> wrote:

Gagan

It will compile - but the programs won't work because mac os x does not fully implement posix semaphores, and as such it silently fails. Also it won't load the bridge in the example apps unless you change the LIB_EXTENSION to .dylib (if you haven't already).
which library? Right now they look like this:

GagansMacPro:c Gagan$ ls -lh /usr/local/lib/libavis.*
lrwxr-xr-x 1 root wheel 15B 25 Nov 17:40 /usr/local/lib/libavis.0.0.0.dylib -> libavis.0.dylib
-rwxr-xr-x 1 root wheel 86K 25 Nov 17:40 /usr/local/lib/libavis.0.dylib
-rw-r--r-- 1 root wheel 298K 25 Nov 17:40 /usr/local/lib/libavis.a
lrwxr-xr-x 1 root wheel 15B 25 Nov 17:40 /usr/local/lib/libavis.dylib -> libavis.0.dylib
-rwxr-xr-x 1 root wheel 932B 25 Nov 17:40 /usr/local/lib/libavis.la


GagansMacPro:c Gagan$ ls -lh /opt/openmama/lib
total 41976
-rwxr-xr-x 1 root admin 591K 26 Nov 16:28 libmama.0.0.0.dylib
lrwxr-xr-x 1 root admin 19B 26 Nov 16:28 libmama.0.dylib -> libmama.0.0.0.dylib
-rw-r--r-- 1 root admin 2.0M 26 Nov 16:28 libmama.a
lrwxr-xr-x 1 root admin 19B 26 Nov 16:28 libmama.dylib -> libmama.0.0.0.dylib
-rwxr-xr-x 1 root admin 917B 26 Nov 16:28 libmama.la
-rwxr-xr-x 1 root admin 63K 26 Nov 16:28 libmamaavisimpl.0.0.0.dylib
lrwxr-xr-x 1 root admin 27B 26 Nov 16:28 libmamaavisimpl.0.dylib -> libmamaavisimpl.0.0.0.dylib
-rw-r--r-- 1 root admin 183K 26 Nov 16:28 libmamaavisimpl.a
lrwxr-xr-x 1 root admin 27B 26 Nov 16:28 libmamaavisimpl.dylib -> libmamaavisimpl.0.0.0.dylib
-rwxr-xr-x 1 root admin 1.1K 26 Nov 16:28 libmamaavisimpl.la
-rwxr-xr-x 1 root admin 101K 26 Nov 16:28 libmamaavismsgimpl.0.0.0.dylib
lrwxr-xr-x 1 root admin 30B 26 Nov 16:28 libmamaavismsgimpl.0.dylib -> libmamaavismsgimpl.0.0.0.dylib
-rw-r--r-- 1 root admin 294K 26 Nov 16:28 libmamaavismsgimpl.a
lrwxr-xr-x 1 root admin 30B 26 Nov 16:28 libmamaavismsgimpl.dylib -> libmamaavismsgimpl.0.0.0.dylib
-rwxr-xr-x 1 root admin 1.1K 26 Nov 16:28 libmamaavismsgimpl.la
-rwxr-xr-x 1 root admin 696K 26 Nov 16:28 libmamacpp.0.0.0.dylib
lrwxr-xr-x 1 root admin 22B 26 Nov 16:28 libmamacpp.0.dylib -> libmamacpp.0.0.0.dylib
-rw-r--r-- 1 root admin 3.9M 26 Nov 16:28 libmamacpp.a
lrwxr-xr-x 1 root admin 22B 26 Nov 16:28 libmamacpp.dylib -> libmamacpp.0.0.0.dylib
-rwxr-xr-x 1 root admin 891B 26 Nov 16:28 libmamacpp.la
-rwxr-xr-x 1 root admin 1.6M 26 Nov 16:29 libmamda.0.0.0.dylib
lrwxr-xr-x 1 root admin 20B 26 Nov 16:29 libmamda.0.dylib -> libmamda.0.0.0.dylib
-rw-r--r-- 1 root admin 5.7M 26 Nov 16:29 libmamda.a
lrwxr-xr-x 1 root admin 20B 26 Nov 16:29 libmamda.dylib -> libmamda.0.0.0.dylib
-rwxr-xr-x 1 root admin 865B 26 Nov 16:29 libmamda.la
-rwxr-xr-x 1 root admin 164K 26 Nov 16:30 libmamdanews.0.0.0.dylib
lrwxr-xr-x 1 root admin 24B 26 Nov 16:30 libmamdanews.0.dylib -> libmamdanews.0.0.0.dylib
-rw-r--r-- 1 root admin 879K 26 Nov 16:30 libmamdanews.a
lrwxr-xr-x 1 root admin 24B 26 Nov 16:30 libmamdanews.dylib -> libmamdanews.0.0.0.dylib
-rwxr-xr-x 1 root admin 893B 26 Nov 16:30 libmamdanews.la
-rwxr-xr-x 1 root admin 192K 26 Nov 16:30 libmamdaoptions.0.0.0.dylib
lrwxr-xr-x 1 root admin 27B 26 Nov 16:30 libmamdaoptions.0.dylib -> libmamdaoptions.0.0.0.dylib
-rw-r--r-- 1 root admin 1.8M 26 Nov 16:30 libmamdaoptions.a
lrwxr-xr-x 1 root admin 27B 26 Nov 16:30 libmamdaoptions.dylib -> libmamdaoptions.0.0.0.dylib
-rwxr-xr-x 1 root admin 914B 26 Nov 16:30 libmamdaoptions.la
-rw-r--r-- 1 root admin 387K 26 Nov 16:28 libwombatcommon.a
-rwxr-xr-x 1 root admin 798B 26 Nov 16:28 libwombatcommon.la
-rw-r--r-- 1 root admin 11K 26 Nov 16:28 libwombatcommoncpp.a
-rwxr-xr-x 1 root admin 801B 26 Nov 16:28 libwombatcommoncpp.la
-rw-r--r-- 1 root admin 161K 26 Nov 16:29 mamajni.jar
-rw-r--r-- 1 root admin 161K 26 Nov 16:29 mamajni_2.2.1.1.jar
-rw-r--r-- 1 root admin 352K 26 Nov 16:30 mamda.jar
-rw-r--r-- 1 root admin 352K 26 Nov 16:30 mamda_2.2.1.1_jdk1.7.0_07.jar
-rw-r--r-- 1 root admin 207K 26 Nov 16:30 mamda_2.2.1.1_jdk1.7.0_07_book.jar
-rw-r--r-- 1 root admin 245K 26 Nov 16:30 mamda_2.2.1.1_jdk1.7.0_07_options.jar
-rw-r--r-- 1 root admin 207K 26 Nov 16:30 mamda_book.jar
-rw-r--r-- 1 root admin 245K 26 Nov 16:30 mamda_options.jar


The function calls exist for posix unnamed semaphores on mac but return error codes indicate they are not implemented - mama doesn't log the failure cause its not an issue on any of the officially supported os. This stops any of the queues working. You can work around this by implementing named semaphores. I'd made some changes to do this for openmama1 and have got most of moved to a local openmama2, following the breakout of platforms in wombatcommon. Have added a darwin folder with appropriate changes.
this is correct. usually it would then compile with -DNO_SEM_TIMEDWAIT, however I found someone who wrote code that mimics sem_timedwait for OSX, so I included that header file in wSemaphore.c and that made the issue wrt semaphores and timedwait go away.

Happy to pass it on once I get time to finish / tidy it up. Also had it setup in xcode.
Cool. But *if* that code I'm using is working correctly, then the queue issue wouldn't be the root cause of the errors below, no?

Do I need to edit the source files of mama to ensure it's trying to use .dylibs instead of the unix suffix?

Cheers

Phil

Philip Preston
NYSE Technologies

Adelaide Exchange
24-26 Adelaide St
Belfast, BT2 8GD
United Kingdom

t: +44 (0) 2890 822 091
m: +44 (0) 7903 300307
e: ppreston@nyx.com

NYSE Euronext
Powering the Exchanging World
www.nyse.com/technologies
_

----- Original Message -----
From: Gagan Sidhu [mailto:gagan@g-a.ca]
Sent: Thursday, November 29, 2012 06:08 PM
To: openmama-users@lists.openmama.org <openmama-users@lists.openmama.org>
Subject: Re: [Openmama-users] NO_BRIDGE_IMPL() issue (avis is compiled/linked properly)

Hey Glen,

On 2012-11-29, at 10:58 AM, Glenn McClements <gmcclements@nyx.com> wrote:

Hi Gigan,
This looks like the avis bridge lib isn't in being loaded for some reason
(FYI bridge libraries are dynamical *loaded* using dlopen() not
dynamically linked). Is the bridge library and the AVIS in your
DYLD_LIBRARY_PATH? Also putting mamalistenc in full verbose mode may give
more info, i.e:

./mamalistenc -m avis -v -v -v -v

As you said, OSX isn't currently supported but I do know of some people
who have tried in the past and did manage to get something up and running.
yeah, theoretically speaking there is not much of a difference in the required libs.
I installed avis in /usr/local so /usr/local/include contains the avis folder, and /usr/local/lib contains libavis
I didn't export DYLD_LIBRARY_PATH till now, but it looks like this:

GagansMacPro:c Gagan$ echo $DYLD_LIBRARY_PATH
/opt/openmama/lib:/usr/local/lib:

and changing -lmamaavisimpl to -lavis and re-compiling with Makefile -f sMakefile.sample still gets the same sort of issue.
I've tried -v -v -v -v before because will henry suggested it, but that didn't work:

GagansMacPro:c Gagan$ ./mamalistenc -m avis -v -v -v -v
Enter one symbol per line and terminate with a .
Symbol> .
Could not open MAMA avis bridge.

Given that the verbose output doesn't work, I'm really puzzled as to what is causing the issue.

Is there a way to check that the compiled libraries have everything?

FYI: I am new to the whole "trading" thing. I do not have any avis servers or anything like that setup, just the client installed.

I'm wondering why the examples say tiprv/elvin/one other oen, but do not mention avis? I assume elvin is avis but just slightly different.

In any case, is there a way to check the "integrity" of the libraries first? They must be the issue, as the programs compile fine but are failing to load the bridge.



Did you make any other changes to get it building on OSX? If so, and
provided other platforms aren't affected of course, then I'd be happy to
apply them. I can't see NYSE ever supporting this in their commercial
distribution as there isn't a demand for it with their customers, but for
the open source project additional platform support can only be a good
thing.
I agree, but I want to hold off on sharing those changes until we can ensure the build works properly.
They are small changes here and there, but most definitely should not be the reason for the error.

-gAgan ;)

Glenn


On 29/11/2012 17:13, "Gagan Sidhu" <gagan@g-a.ca> wrote:

Hi guys,

Currently I'm on OSX and trying to build the openMAMA libs for my system.

I understand that OSX is not officially supported, but the issue I'm
experiencing is not specific to this platform.

Specifically, I build and install the avis client, copy the config_h to
the suggested directories, and proceed to build mama.

The build and linking goes fine, from what I can see, however the example
programs do *not* work.

I have compiled each one using a slightly modified Makefile.sample (no
-lrt flag or -Xlinker before the -Bstatic/-Bdynamic).

This issue is very strange, because I saw someone else had a bridge issue
but the linked library spit out an error. All I see is:

here's the dump:

GagansMacPro:c Gagan$ make -f Makefile.sample
gcc -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamapublisherc mamapublisherc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic
-lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamasubscriberc.o mamasubscriberc.c
mamasubscriberc.c: In function ŒwildCardMsgCb¹:
mamasubscriberc.c:280:56: warning: cast to pointer from integer of
different size [-Wint-to-pointer-cast]
mamasubscriberc.c:285:13: warning: cast from pointer to integer of
different size [-Wpointer-to-int-cast]
gcc -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamasubscriberc mamasubscriberc.o -Bstatic -lmamaavisimpl -lmama
-Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamasymbollistsubscriberc.o
mamasymbollistsubscriberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamasymbollistsubscriberc mamasymbollistsubscriberc.o -Bstatic
-lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaproxyc.o mamaproxyc.c
mamaproxyc.c: In function ŒsubscribeToSymbols¹:
mamaproxyc.c:230:34: warning: cast to pointer from integer of different
size [-Wint-to-pointer-cast]
mamaproxyc.c: In function ŒsubscriptionHandlerOnNewRequestCb¹:
mamaproxyc.c:354:62: warning: cast to pointer from integer of different
size [-Wint-to-pointer-cast]
mamaproxyc.c: In function ŒsubscriptionHandlerOnRequestCb¹:
mamaproxyc.c:422:26: warning: cast from pointer to integer of different
size [-Wpointer-to-int-cast]
mamaproxyc.c:435:26: warning: cast from pointer to integer of different
size [-Wpointer-to-int-cast]
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamaproxyc mamaproxyc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic
-lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaio.o mamaio.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o mamaio
mamaio.o -Bstatic -lmamaavisimpl -lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamamultisubscriberc.o
mamamultisubscriberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamamultisubscriberc mamamultisubscriberc.o -Bstatic -lmamaavisimpl
-lmama -Bdynamic -lpthread -lm -ldl
gcc -I/opt/openmama/include -c -o mamaftmemberc.o mamaftmemberc.c
g++ -I/opt/openmama/include -dynamic -L/opt/openmama/lib -o
mamaftmemberc mamaftmemberc.o -Bstatic -lmamaavisimpl -lmama -Bdynamic
-lpthread -lm -ldl
GagansMacPro:c Gagan$ ./mamalistenc
Enter one symbol per line and terminate with a .
Symbol> ,
Symbol> .
Could not open MAMA wmw bridge.
GagansMacPro:c Gagan$ ./mamalistenc -m avis
Enter one symbol per line and terminate with a .
Symbol> .
Could not open MAMA avis bridge.
Thanks,
Gagan Sidhu,
Director, General Analytics (GA) Inc.

_______________________________________________
Openmama-users mailing list
Openmama-users@lists.openmama.org
https://lists.openmama.org/mailman/listinfo/openmama-users

________________________________

Please consider the environment before printing this e-mail.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
_______________________________________________
Openmama-users mailing list
Openmama-users@lists.openmama.org
https://lists.openmama.org/mailman/listinfo/openmama-users

________________________________

Please consider the environment before printing this e-mail.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
_______________________________________________
Openmama-users mailing list
Openmama-users@lists.openmama.org
https://lists.openmama.org/mailman/listinfo/openmama-users

________________________________

Please consider the environment before printing this e-mail.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.


OpenMAMA and Avis building problem

shoyaib
 

Dear Sir/Madam

I am trying to build OpenMAMA and Avis on Ubuntu.  However when i try to compile OpenMAMA and execute the following commands then i found some problems such as "mamajni" and "mamadajni" are not found.

>./configure
>make
>sudo make install

Therefore i have installed Java JDK 7 and Avis client and router library.
I have attached the errors that i have found from the terminal.

I am looking forward to your response.


Thanks

81 - 100 of 233