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

Reply via email to