Please login or register to access secure site features.

Note: By continuing to use DevConnect Program Services you agree to our latest Registered Member Terms.

Sign in using DevConnect ID

Forgot password?

Trouble logging in?

Submit a ticket for Registration Support.

I have an SSO ID

sign in

Don't have a DevConnect or SSO ID ?

Create a DevConnect account or join the program.

register now
Forum Index » AE Services General (Archive - Oct 2013 and earlier) » Advisory to Developers of TSAPI Applications for Linux   XML
Author Message

Joined: 20/06/2005 14:06:52
Messages: 877
Location: Thornton, CO

Current versions (minimally up through Release 6.1 and perhaps beyond) of the TSAPI Linux Client libraries ( and improperly export symbols that are not part of the Telephony Services API. For example, the shared object file is statically linked with liblog4cxx.a, libapr-1.a, and libaprutil-1.a, and the symbols from all three of these libraries are exported. If your application references symbols from any of these libraries, then depending upon how your application was linked, the linker may resolve those symbols to instead of the libraries where the symbols are actually defined. This creates two possible problems for your application:

1.   The symbols that are improperly exported by current versions of the TSAPI Linux Client libraries may not be exported by future versions of the libraries. Although your application may work fine with current versions of the TSAPI Linux Client libraries, users may experience symbol lookup errors for unresolved symbols when trying to run your application with future versions of the TSAPI Linux Client libraries.

2.   The symbols that are improperly exported by current versions of the TSAPI Linux Client libraries may be incompatible with symbols that are resolved at run time, causing your application to crash.

To avoid these problems, developers of TSAPI applications for Linux are urged to adhere to the following guidelines:

--   When linking your application, always use the -l option to explicitly identify all of the libraries used by your application.

--   When linking your application, place the command-line options for the TSAPI Linux Client libraries (-lcsta and -lattpriv) *after* the command-line options for any other libraries. This will ensure that the linker resolves any symbols improperly exported by the TSAPI Client libraries to the libraries where they are actually defined.

For example, use:

g++ -o myapp -I/usr/include/nts myapp.cpp \
-llog4cxx -lapr-1 -laprutil-1 -lcsta -lattpriv


g++ -o myapp -I/usr/include/nts myapp.cpp \
-lcsta -lattpriv -llog4cxx -lapr-1 -laprutil-1


Joined: 27/03/2006 16:10:11
Messages: 1

Thank you for the info! You do an incredible job at keeping this forum up to date. It is really appreciated.
Go to: