Installation on Linux

3 Minute Read

Download pre-packaged OpenMAMA from the OpenMAMA GitHub releases page:

$ wget

Install it with rpm:

$ sudo rpm --install openmama-6.2.1-1.el7.centos.x86_64.rpm

Files will be installed into /opt/openmama directory:

$ ls /opt/openmama
bin config COPYING data examples includes lib

Configuring of the installation means editing and referring the configuration file at /opt/openamama/config.

If you would try to run any of the files in the OpenMAMA bin directory, you will get error “cannot open shared object file”. This is because all OpenMAMA shared libraries are located in /opt/openmama/lib and need to be referred to explicitly.

$ export LD_LIBRARY_PATH=/opt/openmama/lib
$ /opt/openmama/bin/mamasubscriberc –help
This sample application demonstrates how to subscribe and process mamaMsg’s from a basic subscription.

The most important configuration parameter of OpenMAMA is the middleware bridge.

Bridge is what communicates with a specific messaging broker, and different bridges implementation details are hidden by OpenMAMA interfaces and entities. This is what makes OpenMAMA so powerful: applications are written without being coupled to specific messaging brokers.

Out-of-box refers to the Apache Qpid middleware bridge, and most of the OpenMAMA sample applications by default refer to a different (proprietary) bridge, but we’re going to use the Solace middleware bridge that enables communication with a Solace messaging.

The Solace middleware bridge is currently unavailable for public download. For access, please contact Solace Customer Support.

$ wget <…location...>/solopenmama_bridge_Linux26-x86_64_opt_7.3.0.7.tar.gz

Untar it into a dedicated location and append this location lib directory to LDLIBRARYPATH.

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<…>/solopenmama_bridge/lib

The Solace middleware bridge implementation has a dependency on Solace Messaging API for C. The C API library can be downloaded here.

$ wget <…location…>/solclient_Linux26-x86_64_opt_7.3.0.7.tar.gz

Untar it into a dedicated location and append this location lib directory to LDLIBRARYPATH.

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<…>/solclient/lib

Use ldd to verify dependencies:

$ ldd topicPublishOne =>  (0x00007ffcf53d4000) => not found => /lib64/ (0x00007f38bc75d000)
    /lib64/ (0x00007f38bcb3a000)

$ export LD_LIBRARY_PATH=/opt/openmama/lib
$ ldd topicPublishOne =>  (0x00007ffe429fd000) => /opt/openmama/lib/ (0x00007f9ed356d000) => /lib64/ (0x00007f9ed3191000) => /lib64/ (0x00007f9ed2e8f000) => /lib64/ (0x00007f9ed2c87000) => /lib64/ (0x00007f9ed2a82000) => /lib64/ (0x00007f9ed2866000)
    /lib64/ (0x00007f9ed3810000)

If you have any problems installing OpenMAMA, ask OpenMAMA developers and users at Gitter OpenMAMA room.

On This Page
Spraint is the proper name for otter dung