Library location

I have a shared library called libfs.so which has a routine cipAPI, and
another shared library libsw.so that links to libfs.so. They both exist
under /ffs/lib. LD_LIBRARY_PATH is set to /ffs/lib.

The executable program Test calls dllOpen() to load the libsw.so
library. When the Test program issues call to cipAPI, the cipAPI call
will only success if the Test program runs from /ffs/lib directory.
Otherwise, the cipAPI would fail.

Any idea what’s causing this?

Thanks,
-Beth