[CMake] bootstrap query

William S Fulton wsf at fultondesigns.co.uk
Tue Jun 6 12:38:10 EDT 2006


William A. Hoffman wrote:
> At 04:06 AM 6/2/2006, Ian.Appru at ubs.com wrote:
> 
>> Hi 
>>
>> Is there some way to get the bootstrap build of cmake 2.4.2 to use rpaths for a gcc build? 
>>
>> I don't want to force in-house users of cmake to set an LD_LIBRARY_PATH. 
> 
> CMake does not have any shared libraries so it should not require
> rpath or LD_LIBRARY_PATH to be set.  It sounds like you have a poorly
> configured machine, any libraries cmake is linking to, should be system libraries
> like libc, and libcurses, but all of those should be configured so users
> should not need to set LD_LIBRARY_PATH.
> 

If you use a C++ compiler that is not the default compiler on a system
and it is installed on a network location, then the executable ought to
be built using rpath so that the shared objects, like libc, can be found
(off the network). This isn't an uncommon approach to building and
distributing software in a company with many machines and many packages
to support. Otherwise it means installing just about everything on all
machines to ensure compatibility across the board or patching every
machine each time a new version of gcc is released. This just isn't
feasible for large networks of computers.

Anyway, one solution to solving the problem is to use the LD_RUN_PATH
environment variable, so that when the linker links it has a runpath to
build into the executable to point to all the dependent shared objects.
Users won't need to set up LD_LIBRARY_PATH and libc etc needn't be
installed on the machine.

William


More information about the CMake mailing list