|Subject:||Re: [Chicken-users] Building Chicken on x86_64 system: all well|
|Date:||Tue, 25 Jul 2006 09:13:15 -0700|
On Jul 25, 2006, at 8:18 AM, Brandon J. Van Every wrote:
John Cowan wrote:<snip>Brandon J. Van Every scripsit:
Is the install location of a linked library different from the build location of that library? (Probably yes.) If the -L location of a library linked to a chicken executable at build time changes at install time then LD_LIBRARY_PATH will be necessary to find the library at the installed location.
Possibly use '-rpath' which will set the eventual install location of the library or add the pathname to the runtime library search path of an executable.
(FYI: -rpath is a libtool arg for specifying the runtime path for a library at link time. It sets the search path for a library or executable. Looks like the CMake *_RPATH stuff is their mechanism for passing this information on to the linker, and not a real environment variable like LD_LIBRARY_PATH. '-R' is similar to -rpath but adds the pathname to the library's dependecies, it doesn't say where the library will actually be installed, as -rpath does.)
Sorry, I haven't been following the CMake discussion too closely so forgive me if the above is well known by now.
I don't think you want to give -setup special permissions. Certainly I don't think setting the owner/group to root, for example, is good idea.2) chicken-setup needs to be run by root.
The need to run -setup as root probably stems from its desire to write into a directory for which it doesn't have permission. Ex: Trying to write into '/usr/local/lib' which is most likely owned by 'root' and w/o world write permission. Unless the programming attempting the write is run as if the user is 'root' then the write attempt will fail.
I know you want direction on what to set in the CMake build. But on a properly setup unix system an attempt by a user mode (non-privileged) program to modify a public directory will (and should) fail. Installation of executables in public areas is a sysadmin task.
Perhaps '/usr/local/lib/chicken' can be made w/ wider permissions. This would still rqr to run the 'mkdir' & 'chmod' as root but -setup could then run as a normal user.
Or just not install chicken into a shared area. Create a new one where the user has permissions, like, say, $HOME. (Probably not what most people want, but it is safe.)
(What I did was modify the permissions of /usr/local/* to indicate myself as owner, so installation of 3rd-party stuff is easy. I do not suggest this, very bad security protocol.)
Description: This is a digitally signed message part
|[Prev in Thread]||Current Thread||[Next in Thread]|