Rafael Sousa (Ext_Altior) schrieb:
> Ok, I found out how to change the Makefile in order to change the name
> of the library to libxerces-c.so, but that still doen't work. When I
> try to run the programs, they still search for libxerces-c.so.27.
>
> So putting it simple: How can I avoid this? When I run the programs
> that use Xerces' library, I want them to search for libxerces-c.so,
> not libxerces-c.so.27...
Hi Rafael,
it sounds like you have a combination of libxerces-c.so.27 and some
symbolic links lying around somewhere in your -L linker path. The linker
then matches libxerces-c.so, finds it to be a symbolic link and then
links against the target library (which has the nasty suffix).
I'd suggest, you remove libxerces-c.so from your /usr/local/lib, /usr/lib
or what else is contained in your standard linker path. Then place your
self-made libxerces-c.so library to a place where the linker can find it
(e.g. in the current directory, adding -L. to the linker options) and
recompile all dependend programs.
When starting/testing the programs against your shared library, you must
take care that the directory the library resides in is part of the
LD_LIBRARY_PATH. Otherwise it can't be found at runtime.
Cheers,
Axel