X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=BUILD;h=24e604f2a2ed5677166b23e64231b7bdb7da5f0b;hb=fa09c30e9450c45853311c6f07a621e1b9218ff0;hp=17ed7435224072c986bda76d7ca53c332266345c;hpb=b0ba22eb7deafbe43f7dac0e9d6abd8d4484c3bf;p=ric-plt%2Flib%2Frmr.git diff --git a/BUILD b/BUILD index 17ed743..24e604f 100644 --- a/BUILD +++ b/BUILD @@ -54,7 +54,8 @@ the configuration: -DMAN_PREFIX= Supply a path where man pages are installed (default: /usr/share/man) -DPACK_EXTERNALS=1 Include external libraries used to build in the run-time package -DPRESERVE_PTYPE=1 Do not change the processor type when naming deb packages - -DSKIP_EXTERNALS=1 Do not use Nano/NNG submodules when building; uee installed packages + -DSKIP_EXTERNALS=1 Do not use Nano/NNG submodules when building; use installed packages + (See caution in the 'Libraries' section below) Packages @@ -70,7 +71,7 @@ Resulting package names are illustrated in the CI section below. Continuous Integration Build Use the Dockerfile in the ci/ subdirectory. This installs all the required tools, then builds RMR and executes the unit and -programm tests. If tests pass, then an image is created in the +program tests. If tests pass, then an image is created in the local registry with both run-time and development packages. To support the distribution of package(s) created during the @@ -121,7 +122,7 @@ libraries (.e.g -L) on the command line, or via environment variables (e.g.. C_INCLUDE_PATH, LD_LIBRARY_PATH, LIBRARY_PATH). It may also be necessary to have the library directory defined in the environment at run time. It is difficult to know what -each system needs, but the following linker ooptions work when +each system needs, but the following linker options work when libraries are installed in the system spots: -lrmr_nng -lnng -lpthread @@ -134,7 +135,7 @@ a different spot (e.g. in $HOME/usr): Libraries RMR supports only NNG as the underlying transport. Nanomsg -support was dropped in starting with version 1.0.45 as Nanomsg +support was dropped starting with version 1.0.45 as Nanomsg has reached end of life. The package generation and install will produce a single RMR library: librmr_nng. RMR is designed to support different underlying transport mechanisms, which @@ -142,9 +143,19 @@ might require separate libraries, and thus the library name is given a suffix of _nng to reflect the transport mechanism in use. +NNG version with a commit ID of 906d5ea1b3d67bece941d8a4e0a049e5f6c65051 +is required to build RMR. That version (as yet untagged) adds a +new error state which we must trap. While application environments +are encouraged to also build and install at least this version of +NNG, RMR is still compatable back to the version tagged as 1.1.1. +If you opt to build with the -DSKIP_EXTERNALS=1 flag set, you must +ensure that this version of NNG is present in your build environment. +If you do not set this flag, the proper NNG source will be used +automatically. + Regardless of transport mechanism supported by an RMR library, -the RMR API will be identical, thus it is possible for an appliction -to shift mechanisms simply by referencing a differnt library (should +the RMR API will be identical, thus it is possible for an application +to shift mechanisms simply by referencing a different library (should multiple RMR libraries become available).