Skip to main content
Summary By setting the environment variable IT_SHLIB_VERBOSE, the loading of each plugin will be logged to standard output.
Article Number 29386
Environment Orbix C 6.3.X All Supported Platforms
Question/Problem Description

How can I get more information about libraries loading in my application?
What does IT_SHLIB_VERBOSE do?

Clarifying Information
Error Message
Defect/Enhancement Number
Cause
Resolution Orbix is built using the ART architecture. ART, the Adaptive Runtime Technology is Orbix's modular, distributed architecture which supports dynamic deployment and configuration of services and application code. Using the ART architecture, C libraries can be loaded dynamically as needed by an application. 

By setting the IT_SHLIB_VERBOSE variable we can trace which plugin libraries are loaded and when they are loaded. When this environment variable is set the Orbix services and applications will log information messages to the standard output each time a shared library is loaded. Also, using this setting it is much easier to trace any errors from a shared library which can not be found.

In a Windows environment set this by setting IT_SHLIB_VERBOSE = 1 as an environment variable or from the command prompt with set IT_SHLIB_VERBOSE=1.

 In a Unix environment set this using the commands:
IT_SHLIB_VERBOSE=1
export IT_SHLIB_VERBOSE


When IT_SHLIB_VERBOSE is set a log message will be made each time that a shared library is loaded. A library may be loaded because it is mandatory such as it_arm. A library may be loaded from the orb_plugins or bindings configuration in the Orbix configuration. For example, it_iiop is normally configured to be used from the Orbix configuration. A library may also be loaded from a specified configuration scope or application. A library may be loaded because it is a prerequisite for a library which is being loaded. For example loading it_iiop will cause it_atli2 to also be loaded. A library may also be loaded when a certain module is referenced in a program. For example, using a POA  programming  object will cause the it_poa class to be loaded.

Example:
bash-2.05a$ IT_SHLIB_VERBOSE=1
bash-2.05a$ export IT_SHLIB_VERBOSE
bash-2.05a$ ./myProcess

[IT_Shlib_Init, thread 1] it_ifc.5:initializing ...
[IT_Shlib_Init, thread 1] it_ifc.5:patch level: 2
 
[IT_Shlib_Init, thread 1] it_ifc.5:initialization complete.
[IT_Shlib_Init, thread 1] it_art.5:initializing ...
[IT_Shlib_Init, thread 1] it_art.5:patch level: 2
 
[IT_Shlib_Init, thread 1] it_art.5:initialization complete.
[IT_Shlib_Init, thread 1] it_admin.5:initializing ...
[IT_Shlib_Init, thread 1] it_admin.5:patch level: 1
 


Workaround
Notes
Attachment
Created date: 29 February 2012
Last Modified: 13 February 2013
Last Published: 14 March 2012
First Published date: 09 March 2012

#Orbix
#KnowledgeDocs