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
agtlibyumapro_agt.soMandatoryServer implementation code. Several make flags control size and contents of this library. See source README.
db-apilibyumapro_db-api.soOptionalDB-API subsystem implementation. Needed if DB-API service used. Requires WITH_YCONTROL=1.
mgrlibyumapro_mgr.soOptionalyp-shell implementation. Needed if --with-cli=true used. Requires WITH_CLI=1
ncxlibyumapro_ncx.soMandatoryServer implementation code. Several make flags control size and contents of this library. See source README.
sil-salibyumapro_sil-sa.soOptionalSIL-SA subsystem implementation. Needed if SIL-SA service used. Requires WITH_YCONTROL=1
subsys-prolibyumapro_subsys-pro.soMandatorynetconf-subsystem-pro implementation. Needed for ncx-connect protocol.
yclilibyumapro_ycli.soOptionalyp-shell implementation. Needed if --with-cli=true used. Requires WITH_CLI=1
ycontrollibyumapro_ycontrol.soOptionalYControl 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.soOptionalUsed for internal GET2 retrieval regression testing only
libget2-test_sa.so
Optional
Used for internal GET2 SIL-SA retrieval regression testing only
libhooks-test.soOptionalUsed for internal Hooks regression testing only
libietf-interfaces.soOptionalietf-interfaces implementation. MUST REMOVE to use a different implementation. Need --module=ietf-interfaces
libietf-restconf-monitoring.soOptionalietf-restconf-monitoring implementation. Mandatory if --with-restconf=true used. Requires WITH_RESTCONF=1
libietf-yang-library.soMandatoryietf-yang-library implementation. Required for YANG 1.1 and RESTCONF conformance
libif-linux.soOptionalietf-interfaces implementation.  Need --module=ietf-interfaces
libIF-MIB.soOptionalIF-MIB implementation. Use --with-snmp=true and --module=IF-MIB. Requires WITH_SNMP=1
libsil-error.soOptionalsil-error implementation. Can be used in testing to force error and rollback procedures to be tested
libtoaster.soOptionaltoaster implementation. Need --module=toaster
libyp_show-example.soOptionalShow 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.soOptionalExample yp-system APIs. Need to rename to libyp_system.so to be used for real by the server
libyuma-arp.soOptionalyuma-arp implementation. Need --module=yuma-arp
libyuma-interfaces.soOptionalyuma-interfaces implementation. Need --module=yuma-interfaces. DEPRECATED. Use ietf-interfaces instead
libyuma-mysession.soOptionalyuma-mysession implementation. Need --module=yuma-mysession
libyuma-proc.soOptionalyuma-proc implementation. Need --module=yuma-proc