On Solaris I think the best option for packages which have a directory structure like:

package/bin
package/lib

is to link the executables with:
-R$ORIGIN/../lib

(In a Makefile use: LDFLAGS = -R\$$ORIGIN/../lib)

This means the package can installed anywhere and still pick up the
correct libraries.

Using LD_LIBRARY_PATH or crle is bad practice.

On Linux you can get similar results by linking with:

-Wl,-zorigin,-rpath,$ORIGIN/../lib

(In a Makefile use: LDFLAGS = -Wl,-zorigin,-rpath,\$$ORIGIN/../lib)

The use of $ORIGIN is an unfortunate design choice because of $ having a special meaning in shells and make. In can be hard or impossible to work out the correct level of quoting required with configure scripts so it is often easiest just to edit the Makefiles after they have been generated by the configure script. libtool is a real pain: I have not yet worked out how to get libtool to use $ORIGIN in the RUNPATH.


Nick

James Kosin wrote:
-----Original Message-----
From: Daniel Eischen [mailto:[EMAIL PROTECTED] Sent: Friday, August 22, 2008 3:34 PM
To: James Kosin
Cc: Brian H. Nelson; samba@lists.samba.org
Subject: RE: [Samba] [ANNOUNCE] Samba 3.2.2 Available for Download

Using -rpath/-R is the norm for Solaris packages.  Samba
already is built with knowledge of where it is installed
and where its lib, data, var, etc directories reside.

What is _not_ the norm, is having to set LD_LIBRARY_PATH in
order for your applications to work.  Take a look at all
the packages at sunfreeware.com - they are all built for
/usr/local and, at least from hundred or so packages I've
installed from there, none require LD_LIBRARY_PATH to work
when their libraries are in /usr/local/lib.

--
DE

Actually, I'll have to check to see if Michael back-ported the configure
option to specify the destination directory for the libraries.  The
default seems to be in the %prefix/lib/samba directory with many
packages moving them to the %prefix/lib directory and keeping the rest
in the %prefix/lib/samba structure.

James K.


--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/listinfo/samba

Reply via email to