docs/88454: [patch] Porter's Handbook: Update sec. on Shared Libraries
Volker Stolz
vs at FreeBSD.org
Thu Nov 3 14:30:28 UTC 2005
>Number: 88454
>Category: docs
>Synopsis: [patch] Porter's Handbook: Update sec. on Shared Libraries
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-doc
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Thu Nov 03 14:30:12 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Volker Stolz
>Release: FreeBSD 4.11-STABLE i386
>Organization:
Lehrstuhl für Informatik II; RWTH Aachen Universität
>Environment:
System: FreeBSD menelaos.informatik.rwth-aachen.de 4.11-STABLE FreeBSD 4.11-STABLE #23: Fri Jan 14 09:26:11 CET 2005 root at menelaos.informatik.rwth-aachen.de:/usr/obj/usr/src/sys/MENELAOS i386
>Description:
Clarify unexpected consequences of setting LDCONFIG_DIRS.
Please review, I hope I got the markup right (compiling works).
>How-To-Repeat:
>Fix:
--- shlibs.diff begins here ---
Index: book.sgml
===================================================================
RCS file: /home/dcvs/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml,v
retrieving revision 1.625
diff -u -u -r1.625 book.sgml
--- book.sgml 2 Nov 2005 21:43:56 -0000 1.625
+++ book.sgml 3 Nov 2005 14:22:43 -0000
@@ -3869,6 +3869,16 @@
<programlisting>INSTALLS_SHLIB= yes
LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar</programlisting>
+ <para>Remember that non-standard directories will not be passed to
+ <literal>/sbin/ldconfig</literal> on a reboot! If any port really
+ needs this to work, install a startup-script as
+ <literal>x11/kdelibs3</literal> does. Please double-check, often
+ this is not necessary at all or can be avoided through
+ <literal>-rpath</literal> or setting <makevar>LD_RUN_PATH</makevar>
+ during linking (see <literal>lang/moscow_ml</literal> for an example),
+ or through a shell-wrapper which sets <makevar>LD_LIBRARY_PATH</makevar>
+ before invoking the binary, like <literal>www/mozilla</literal> does.</para>
+
<para>Note that content of <makevar>LDCONFIG_DIRS</makevar> is passed
through &man.sed.1; just like the rest of <filename>pkg-plist</filename>,
so <makevar>PLIST_SUB</makevar> substitutions also apply here. It is
--- shlibs.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-doc
mailing list