Hi Mirko,
Debian is also using the same Filesystem Hierarchy Standard (FHS) as RedHat:
http://www.debian.org/doc/packaging-manuals/fhs/fhs-2.3.html#USRLOCALLOCALHI...
So I don't think it is necessary to differentiate between the two distributions with respect to the location of libraries. In fact, it looks like most distributions are using the FHS these days including Ubuntu and SuSE Linux, at least according to Wikipedia:
http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
Cheers,
Russell
On Tue, 2010-04-13 at 10:20 -0400, Mirko Vukovic wrote:
Hello,
I propose to add the /usr/local/lib and /usr/local/lib64 directories to the libgsl search path.
As RedHat states (http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/ref-guide/s1-filesyste...):
"The /usr/local hierarchy is for use by the system administrator when installing software locally. It needs to be safe from being overwritten when the system software is updated. It may be used for programs and data that are shareable among a group of hosts, but not found in /usr."
For example, the `official' RedHat gsl that comes with software updates from RedHat thas the version 1.10 and lives in /usr/lib64. I need to install the latest ones into /usr/local/lib64.
Here is the modified libgsl definition:
(cffi:define-foreign-library libgsl (:darwin (:or "/opt/local/lib/libgsl.dylib" "/sw/lib/libgsl.dylib" "/usr/local/lib/libgsl.dylib")) (:cygwin (:or "/bin/cyggsl-0.dll")) (:unix (:or "/usr/local/lib64/lib/libgsl.so.0" "/usr/local/lib64/lib/libgsl.so" ;;<--- New "/usr/local/lib/libgsl.so.0" "/usr/local/lib/libgsl.so" ;; <--- New "/usr/lib/libgsl.so.0" "/usr/lib/libgsl.so" "/usr/lib64/libgsl.so.0" "/usr/lib64/libgsl.so" )) (t (:default "libgsl")))
Note that I put the most specific case first. Otherwise the system libraries get loaded.
Generalizing this approach to multiple systems (i.e. Debian, RedHat, others) can result in unmanageable loading rules (I am not familiar with other linux/unix file system conventions). In that case, it may prove useful for the user to set-up a red-hat or debian `feature', and to customize these for their particular setup.
Mirko
Gsll-devel mailing list Gsll-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/gsll-devel