rtusage.md 2.55 KB
Newer Older
1 2 3 4 5 6 7 8
## shared library names
Shared library full names are built by the loader using the format:
>  < *path* >/lib< *module name* >< *module version* >.so

1.  the < *module name* > is defined at development time, it comes from the `modname`  argument of the `load_module_shlib` call.
1.  the < *module version* > and < *path* > optional  parameters, are defined at run-time, depending on the configuration.

## loader parameters
Francois TABURET's avatar
Francois TABURET committed
9
The loader is using the [configuration module](../../../config/DOC/config.md), 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. 
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
### Global loader 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. |

### library specific loader parameters
| 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.|

### loader configuration examples

The following configuration file example just reproduce the default loader parameters:
```c
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:
```bash
[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

```

Francois TABURET's avatar
Francois TABURET committed
50
[loader home page](../loader.md)