Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
2.8.0
-
None
-
None
-
OS X 10.3 with xerces-c already installed
Description
If xerces-c is already installed on the system and one compiles xerces-c from source, libxerces-depdom gets linked against the installed libxerces-c rather than the one that is part of the present build process. That's bad...the whole reason I may be (re)building xerces-c is because the one I already have is broken (due to previous local hacking), was built with different options, is a different not-necessarily-compatible version, etc. The same problem may also affect building the various binary programs.
This is all due to a widespread bug in how the "link against libxerces-c" and "link against libxerces-depdom" flags are passed. They are in essence doing "-L/the/build/libdir -lxerces-c", but there is often another -L flag ahead of that in the linker command, so you are always at risk of having "-lxerces-c" find libxerces-c in that other -L dir. The safe way to do this is to link directly against the file ("/the/build/libdir/libxerces-c.whatever") and avoid -l resolution and -L games entirely.