On 9/25/2011 8:54 PM, Albert Chin wrote:
It is listed as "static" because cmake always uses a
path/to/libmodman.sl when invoking the linker.

CMake prior to 2.6 always used the -L and -l split.  That led to endless
problems with search path ordering, static v. shared searches, etc. that
made it very hard to ensure use of the proper library.  Starting in 2.6
we always use the full path except in a few special cases.  Since then
we have been unaware of this behavior on HP.

We really need a way to hand the linker a full path to use a specific
library without causing that path to end up in the binary.  This works on
all other platforms AFAIK.  What if one uses

  -l:/path/to/libfoo.sl

instead of just

  /path/to/libfoo.sl

?

What we need to do to accomplish that: When relinking, currently
cmake relinks libraries and executables prior to installing them.
This accomplishes nothing on HP-UX, to change the path, the
libraries must be found in the install directory.

How can that possibly work with DESTDIR installations?  How can HP
tools ever produce relocatable binaries?  Is -L -l the only way?

How can we change
so that relinking happens after install, and replaces the installed
shared libraries and executables? I have no idea which source files
to even begin looking in.

That would require major overhaul of the internals to achieve.  Since
we support installation of one binary to multiple locations it is not
even a well-defined problem.

-Brad
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to