There are many shared libraries installed on the target.
Not all libraries need to be installed, depending on what features are used in the server.
There are some main libraries used by the server and an SIL or SIL-SA libraries.
By default, the main libraries are installed in the /usr/lib directory.
The operating system is responsible for loading the main libraries, based on linker dependencies.
The LD_LIBRARY_PATH environment variable can be used to specify non-default locations for these libraries.
Main Libraries
Directory | Library | Usage | Description |
agt | libyumapro_agt.so | Mandatory | Server implementation code. Several make flags control size and contents of this library. See source README. |
db-api | libyumapro_db-api.so | Optional | DB-API subsystem implementation. Needed if DB-API service used. Requires WITH_YCONTROL=1. |
mgr | libyumapro_mgr.so | Optional | yp-shell implementation. Needed if --with-cli=true used. Requires WITH_CLI=1 |
ncx | libyumapro_ncx.so | Mandatory | Server implementation code. Several make flags control size and contents of this library. See source README. |
sil-sa | libyumapro_sil-sa.so | Optional | SIL-SA subsystem implementation. Needed if SIL-SA service used. Requires WITH_YCONTROL=1 |
subsys-pro | libyumapro_subsys-pro.so | Mandatory | netconf-subsystem-pro implementation. Needed for ncx-connect protocol. |
ycli | libyumapro_ycli.so | Optional | yp-shell implementation. Needed if --with-cli=true used. Requires WITH_CLI=1 |
ycontrol | libyumapro_ycontrol.so | Optional | YControl protocol implementation. Needed if DB--API, SIL-SA, or YP-HA used. Requires WITH_YCONTROL=1. |
The server will load SIL libraries automatically and dynamically, depending on the --module and --bundle parameters used in the server configuration.
The sil-sa-app subsystem will load SIL-SA libraries automatically and dynamically, depending on the configuration received from the server during the registration process.
There are several SIL libraries loaded by the server depending on the configuration.
The server looks for these libraries using a complex procedure (function: ncxmod_find_sil_file).
The following environment variables and locations are checked in order.
The step is only checked if the environment variable or directory exists.
* 0) Absolute path given [exit if given and not found]
* 1) $YUMAPRO_HOME/target/lib directory
* 2) $YUMAPRO_RUNPATH environment variable
* 3) $YUMAPRO_INSTALL/lib
* 4) $YUMAPRO_INSTALL/lib/yumapro
* 5) /usr/lib64/yumapro directory (LIB64 only)
* 6) /usr/lib/yumapro directory [default install location]
* 7) start-dir/lib
Built-in SIL Libraries
Library | Usage | Description |
libget2-test.so | Optional | Used for internal GET2 retrieval regression testing only |
libget2-test_sa.so | Optional | Used for internal GET2 SIL-SA retrieval regression testing only |
libhooks-test.so | Optional | Used for internal Hooks regression testing only |
libietf-interfaces.so | Optional | ietf-interfaces implementation. MUST REMOVE to use a different implementation. Need --module=ietf-interfaces |
libietf-restconf-monitoring.so | Optional | ietf-restconf-monitoring implementation. Mandatory if --with-restconf=true used. Requires WITH_RESTCONF=1 |
libietf-yang-library.so | Mandatory | ietf-yang-library implementation. Required for YANG 1.1 and RESTCONF conformance |
libif-linux.so | Optional | ietf-interfaces implementation. Need --module=ietf-interfaces |
libIF-MIB.so | Optional | IF-MIB implementation. Use --with-snmp=true and --module=IF-MIB. Requires WITH_SNMP=1 |
libsil-error.so | Optional | sil-error implementation. Can be used in testing to force error and rollback procedures to be tested |
libtoaster.so | Optional | toaster implementation. Need --module=toaster |
libyp_show-example.so | Optional | Show command example for yp-shell. Requires WITH_CLI=1. Need to be renamed to libyp-show.so to be used for real |
libyp_system-example.so | Optional | Example yp-system APIs. Need to rename to libyp_system.so to be used for real by the server |
libyuma-arp.so | Optional | yuma-arp implementation. Need --module=yuma-arp |
libyuma-interfaces.so | Optional | yuma-interfaces implementation. Need --module=yuma-interfaces. DEPRECATED. Use ietf-interfaces instead |
libyuma-mysession.so | Optional | yuma-mysession implementation. Need --module=yuma-mysession |
libyuma-proc.so | Optional | yuma-proc implementation. Need --module=yuma-proc |