Re: [PATCH] BUILD: script to clean the build files
Michael Schonberg <mschonberg@...>
On 11/08/2011 12:41 PM, Jacobraj Benet wrote:
A script has been added to clear off all the build related files and this script would be triggered on dist clean command from Makefile.Your mail client is not encoding the patch correctly. It is definitely converting tabs to spaces which breaks the Makefile and has other formatting issues as well. If you can't get your email client to send the patch correctly, it is probably best to include a plain text attachment in addition to the in-line patch. See: http://kerneltrap.org/Linux/Email_Clients_and_Patches. I have also had good luck with git-send-email; however, you will likely need a gmail account or something similar which you can configure to send email as jbenet@.... Try to keep the margin for your description at 80 characters. Signed-off-by: Jacobraj Benet <jbenet@... <mailto:jbenet@...>>This should be: sh ./clearBuildFiles.sh". Note that your mailer changed the tab to a space here as well. You could also add "#!/bin/sh" to the script and make sure that the executable bit is set. We will also need to provide an alternative to the shell script when we reintroduce windows support. I suspect that Python might be a good choice since we already depend on it for regression tests. It also depends on what tools we choose for windows builds. In any event the shell script is fine for the moment. The patch fails to add this as a new file. We should have something like: --- /dev/null +++ b/clearBuildFiles.sh If you are using git-diff to generate the patch, you need to add the new file, commit your changes to your local repository and use "git diff HEAD^" to generate the patch. If you format your checkin comment properly and setup git with the correct configuration, git-format-patch works very well. If you use diff you need to pass "-N" for new files to get applied correctly by git-apply or git-am. I will try to add some additional instructions to the web site. Your email client did something funky here with config.h.in. Also, automake provides "distclean" and "maintainer-clean" targets that do a lot of the work for you. Something like this might provide a good starting point: ----- diff --git a/Makefile b/Makefile index 24c7555..b98dd94 100644 --- a/Makefile +++ b/Makefile @@ -49,3 +49,19 @@ common-clean: install: common-install mama-install clean: common-clean mama-clean + +mama-distclean: + cd mama/c_cpp ; make distclean; cd - + +common-distclean: + cd common/c_cpp ; make distclean -j1 -l80 ; cd - + +distclean: common-distclean mama-distclean + +cleanclean: distclean + cd mama/c_cpp ; make maintainer-clean; cd - + cd common/c_cpp ; make maintainer-clean; cd - + + + + ---- With this your script can be a lot smaller. Also describe briefly how you verified the fix. Regards, -Mike
|
|
[PATCH] BUILD: script to clean the build files
Jacobraj Benet <JBenet@...>
A script has been added to clear off all the build related files and this script would be triggered on dist clean command from Makefile. This script basically clears all the build files, which makes it easy to merge and also check for any difference between the local files and the files in the repository. Signed-off-by: Jacobraj Benet <jbenet@...> ----
Jacobraj Benet NYSE Technologies +1 312 442 7956
Please consider the environment before printing this email. Visit our website at http://www.nyse.com
|
|
[PATCH] BUILD: configure should fail by default with no bridge
Michael Schonberg <mschonberg@...>
From: Mike Schonberg <mikeschonberg@...>
Although it should be possible to build without a messaging or payload bridge, this is not normally the desired result. To follow the principal of least astonishment, configure for MAMA should fail if it fails to find a middleware or payload bridge, unless passed parameters explicitly requesting a build without them. Add --without-middleware-bridge and --without-payload-bridge arguments to configure.ac for MAMA. Tested the following permutations: --with-avis | --without-payload-bridge | --without-middleware-bridge | result ------------------------------------------------------------------------------- Y | N | N | pass Y | Y | N | fail Y | N | Y | fail Y | Y | Y | fail N | Y | Y | pass N | Y | N | fail N | N | Y | fail N | N | N | fail Signed-off-by: Michael Schonberg <mschonberg@...> --- mama/c_cpp/configure.ac | 52 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 52 insertions(+), 0 deletions(-) diff --git a/mama/c_cpp/configure.ac b/mama/c_cpp/configure.ac index 1bae611..d081d30 100644 --- a/mama/c_cpp/configure.ac +++ b/mama/c_cpp/configure.ac @@ -47,6 +47,10 @@ AC_PROG_CXX AC_PROG_LEX AC_PROG_CC +# make sure that we configure bridges or specifically build without them +mwbridge=false +payloadbridge=false + # Check whether to use built-in library archiver if C++ compiler is Sun/Forte if CXXbase=`echo ${CXX} | ${ac_cv_prog_AWK} '{ print $1; }'` ; \ test "x${build_vendor}" = "xsun" -a "x`basename ${CXXbase}`" = "xCC" @@ -199,6 +203,9 @@ AC_ARG_WITH( LDFLAGS="$LDFLAGS -L$AVIS_HOME/lib" with_avis=true mama_platform=avis + mama_payload=avis + mwbridge=true + payloadbridge=true ], [ AC_MSG_ERROR([Valid Avis installation not found! You may need to copy avis_client_config.h from platforms/gnu_auotmake to $AVIS_HOME/include/avis)]) @@ -272,6 +279,51 @@ AC_ARG_WITH( AM_CONDITIONAL(WITH_TESTTOOLS, test x$with_testtools = xtrue) ################################################## +# NO BRIDGES: --no-middleware-bridge --no-payload-bridge +# +# If we get here and the build is not configured for a bridge we need to ensure +# that we really want to build without them. +# +################################################## + +# --without-middleware-bridge +AC_ARG_WITH([middleware-bridge], + [AS_HELP_STRING([--without-middleware-bridge], + [Build OpenMAMA with no middleware bridge.])], + [], + [with_middleware_bridge=yes]) + +# --without-payload-bridge +AC_ARG_WITH([payload-bridge], + [AS_HELP_STRING([--without-payload-bridge], + [Build OpenMAMA with no payload bridge.])], + [], + [with_payload_bridge=yes]) + + +# Trying to build without a message bridge but --without-middleware-bridge +# not specified +if test x${mwbridge} = xfalse -a x$with_middleware_bridge = xyes; then + AC_MSG_ERROR([No middleware bridge specified! If this is intentional specify --without-middleware-bridge]) +fi + +# Trying bo build without a middleware bridge but bridge specified +if test x${mwbridge} = xtrue -a x$with_middleware_bridge = xno; then + AC_MSG_ERROR([--without-middleware-bridge specified with ${mama_platform}]) +fi + +# Trying to build without a payload bridge but --without-payload-bridge +# not specified +if test x${payloadbridge} = xfalse -a x$with_payload_bridge = xyes; then + AC_MSG_ERROR([No payload bridge specified! If this is intentional specify --without-payload-bridge]) +fi + +# Trying bo build without a payload bridge but bridge specified +if test x${mwbridge} = xtrue -a x$with_payload_bridge = xno; then + AC_MSG_ERROR([--without-payload-bridge specified with ${mama_payload}]) +fi + +################################################## # # VERSION FILE GENERATION # -- 1.7.5.4
|
|
Re: Writing an AMQP bridge
Michael Schonberg <mschonberg@...>
2011/11/2 Raphael Cohn <raphael.cohn@...>:
OpenMAMA looks like it's got the potential to solve a substantial hole inAn AMQP bridge would be great. I was hoping that someone would develop one sooner rather than later. We considered AMQP when we we looking for an open source middleware; however, we already had an Elvin/Avis bridge and we were short on time. We have found that it is usually not too difficult to implement bridges around exiting C messaging APIs. Please let me know through the mailing list if you require any assistance. I will be more than happy to assist you in any way possible. OpenMAMA provides data dictionary support on top of the payload bridge as part of the API. Usually it does not require any additional effort. What else needs to be defined as part of this profile? I also interested in any potential enhancements to OpenMAMA that a complete AMQP bridge might require. We'd also be interested in helping write a Java wrapper, to provide aWe already have a full JNI wrapper for OpenMAMA, and we should be releasing it in the near future: http://www.openmama.org/what-is-openmama/openmama-roadmaps. It wraps the C API so it supports all middleware and payload bridges. Introductions over,I look forward to working with you on this. Regards, Michael Schonberg OpenMAMA Maintainer mschonberg@...
|
|
Writing an AMQP bridge
Raph Cohn
OpenMAMA looks like it's got the potential to solve a substantial hole
in messaging. In particular, it makes a superb way to write portable C
applications that use MQ.
We've been looking at the documentation and source, and are interested in working with the OpenMAMA community to develop an AMQP 1-0 bridge. We currently have an active open source project for a C client for AMQP 1-0, libamqp (https://github.com/libamqp) It looks like it would be quite possible to integrate this into OpenMAMA. The challenge is that we'd also need to define a small 'profile' for AMQP 1-0 vendors to support the full fidelity of OpenMAMA (eg data dictionaries) - we've done some work on how this might be possible. Ideally this would need the buy in from the other AMQP vendors. However, OpenMAMA steering group members and AMQP membership is somewhat aligned, so I'm sure that this is possible. We'd also be interested in helping write a Java wrapper, to provide a sensible, cross-platform alternative to JMS. As a first pass, this could use BridJ to deliver most functionality (http://code.google.com/p/bridj/). In our experience it can achieve about 90% of JNI's performance, and, with modification to use Sun specifics (eg Unsafe), can be used in a most un-Java, but efficient, manner. For the final 10% one is almost better off compiling a special JVM. Introductions over, Raph Raphael Cohn Chief Architect raphael.cohn@... StormMQ Limited UK Office: Gateshead int'l Business Centre, Mulgrave Terrace, Gateshead, NE8 1AN, United Kingdom Telephone: +44 845 3712 567 Registered office: 16 Anchor Street, Chelmsford, Essex, CM2 0JY, United Kingdom StormMQ Limited is Registered in England and Wales under Company Number 07175657 StormMQ.com
|
|
Re: Make problem - Ubuntu 11.10
Mike Schonberg <mschonberg@...>
Although we do most of our testing on Redhat and SUSE, OpenMAMA will build on Ubuntu. From Your errors, it appears that you do not have flex installed. You will also need uuid-dev. See http://www.openmama.org/users/build-openmama for a list of prerequisites for building OpenMAMA. Regards, -Mike Please consider the environment before printing this email. Visit our website at http://www.nyse.com **************************************************** Note: The information contained in this message and any attachment to it is privileged, confidential and protected from disclosure. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to 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 the sender immediately by replying to the message, and please delete it from your system. Thank you. NYSE Euronext.
|
|
Re: openMAMA bridge documentation
Mike Schonberg <mschonberg@...>
Jon,
Currently there is no document describing how to write message or payload bridges; however, it is definitely something that we intend to provide in the near future. For the moment the AVI bridge is a simple bridge implementation that you may use as an example.
If you don’t mind my asking. For what middleware do you want a bridge?
In the future, send these questions to the openmama-dev mailing list so others can benefit from the discussion.
Regards, -Mike
From: jon dyte [mailto:jon.dyte@...]
Hi Mike
I've downloaded openMama.
I'm looking for a document which describes writing yr own bridge to plug into openMama.
Does such a thing exist?
Many thanks
Jon
Please consider the environment before printing this email. Visit our website at http://www.nyse.com
|
|
Make problem - Ubuntu 11.10
Kyle Redelinghuys <awesomistguy@...>
Hi there
I am trying to compile the OpenMAMA software on Ubuntu 11.10 but am having trouble doing so. After ./configure, sudo make throws an error. This is the error I am getting: /usr/bin/ld: cannot find -lwombatcommon collect2: ld returned 1 exit status make[5]: *** [libmama.la] Error 1 make[5]: Leaving directory `/home/user/Software/OpenMAMA/mama/c_cpp/src/c' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/home/user/Software/OpenMAMA/mama/c_cpp/src/c' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/user/Software/OpenMAMA/mama/c_cpp/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/user/Software/OpenMAMA/mama/c_cpp' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/user/Software/OpenMAMA/mama/c_cpp' What can I install to get this working? Or will this software only work on Redhat/SUSE distributions? Apologies for mailing direct, searching revealed no answers. Thanks Kyle
|
|
[RFC] BUILD: Add --mama-no-msg-bridge and --mama-no-payload-bridge options to MAMA configure.ac
Mike Schonberg <mschonberg@...>
Currently, OpenMAMA builds without complaints if Avis is not installed. In
itself, this is not a bad thing; however, this may not be the expected behavior. There are situations where building without middleware or payload bridges is desired. For example, a middleware vendor supplies a bridge shared object, and the user wants to use this shared object with their own build. These scenarios are not common ones and should be the exception, not the rule. I think that the build should fail if configure fails to find the default (Avis) middleware and payloads unless the caller passes parameters explicitly requesting a build with no payload or middleware bridges. The parameters will be: --mama-no-msg-bridge --mama-no-payload-bridge If they are not present and no middleware or payload bridges are found, Configure will fail. -Mike Please consider the environment before printing this email. Visit our website at http://www.nyse.com **************************************************** Note: The information contained in this message and any attachment to it is privileged, confidential and protected from disclosure. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to 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 the sender immediately by replying to the message, and please delete it from your system. Thank you. NYSE Euronext.
|
|
[PATCH] Added additional build dependencies to README
Michael Schonberg <mschonberg@...>
Added the following depenencies to the README file:
* flex * autoconf * automake * libtool * uuid-dev These are based on what additional packages needed to be installed over a clean Ubuntu 11.10 installation. Changed the requiment for a C99 compiler to "gcc/g++". The unit tests require a c++ compiler, and it is better to recommend a specific compiler that works. We can add others if they are known to work. Signed-off-by: Michael Schonberg <mschonberg@...> --- README | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/README b/README index df67156..68a443e 100644 --- a/README +++ b/README @@ -39,7 +39,12 @@ package (as described below): * GNU-compatible Make or gmake * POSIX-standard shell - * C99 compiler + * gcc/g++ + * flex + * autoconf + * automake + * libtool + * uuid-dev To use OpenMama you will need a middleware/payload. An example middleware bridge and payload is included for Avis which can be -- 1.7.5.4
|
|
Testing archives
Jeff Licquia <jeff@...>
This is a test message to ensure that archives are now working properly.
|
|