Shared library full names are built by the loader using the format:
< path >/lib< module name >< module version >.so
- the < module name > is defined at development time, it comes from the
modname
argument of theload_module_shlib
call. - the < module version > and < path > optional parameters, are defined at run-time, depending on the configuration.
The loader is using the configuration module, and defines global and per library parameters. Global parameters must be specified under the loader section and library specific parameters under a loader.<module name> section. Module specific parameters override the global parameters.
name | type | default | description |
---|---|---|---|
shlibpath |
string of char |
"" |
directory path used to look for shared libraries, may be superseded by the library specific shlibpath . |
maxshlibs |
integer |
10 | Maximum number of shared libraries the loader can manage. |
name | type | default | description |
---|---|---|---|
shlibpath |
string of char |
"" |
directory path used to look for this shared library. |
shlibversion |
string of char |
"" |
version to be used to load this shared library. |
The following configuration file example just reproduce the default loader parameters:
loader :
{
shlibpath = "./";
maxshlibs = 10;
liboai_device :
{
shlibpath = "./";
shlibversion = "";
}
};
If you want to load a device called liboai_device_USRP.so without writting a specific configuration, you can start the softmodem using the following command:
./lte-softmodem -O libconfig:/usr/local/oai/openairinterface5g/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.nbiot.band7.tm1.50PRB.usrpb210.conf:dbgl5 --loader.oai_device.shlibversion _USRP
With this latest example, nn the softmodem logs, you can check that the right device library has been loaded:
[LIBCONFIG] loader.oai_device.shlibpath not found in /usr/local/oai/develop-nb-iot-merge/openairinterface5g/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.nbiot.band7.tm1.50PRB.usrpb210.conf
[LIBCONFIG] loader.oai_device.shlibversion set to default value ""
[LIBCONFIG] loader.oai_device: 1/2 parameters successfully set, (1 to default value)
[CONFIG] shlibversion set to _USRP from command line
[CONFIG] loader.oai_device 1 options set from command line