glfs/introduction/important/beyond.xml
Tushar Teredesai dc8a51e7ba Add LDFLAGS note for BBLFS
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@7196 af4574ff-66df-0310-9fd7-8a98e5e911e0
2008-02-25 17:58:32 +00:00

139 lines
5.9 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
]>
<sect1 id="beyond" xreflabel="Going Beyond BLFS">
<?dbhtml filename="beyond.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>Going Beyond BLFS</title>
<para>The packages that are installed in this book are only the tip of the
iceberg. We hope that the experience you gained with the LFS book and
the BLFS book will give you the background needed to compile, install
and configure packages that are not included in this book.</para>
<para>When you want to install a package to a location other than
<filename class='directory'>/</filename>, or
<filename class='directory'>/usr</filename>, you are installing
outside the default environment settings on most machines. The following
examples should assist you in determining how to correct this situation.
The examples cover the complete range of settings that may need
updating, but they are not all needed in every situation.</para>
<itemizedlist>
<listitem>
<para>Expand the <envar>PATH</envar> to include
<filename class='directory'>$PREFIX/bin</filename>.</para>
</listitem>
<listitem>
<para>Expand the <envar>PATH</envar> for
<systemitem class="username">root</systemitem> to include
<filename class='directory'>$PREFIX/sbin</filename>.</para>
</listitem>
<listitem>
<para>Add <filename class='directory'>$PREFIX/lib</filename>
to <filename>/etc/ld.so.conf</filename> or expand
<envar>LD_LIBRARY_PATH</envar> to include it. Before using the latter
option, check out <ulink
url="http://xahlee.org/UnixResource_dir/_/ldpath.html"/>.
If you modify <filename>/etc/ld.so.conf</filename>, remember to update
<filename>/etc/ld.so.cache</filename> by executing
<command>ldconfig</command> as the
<systemitem class="username">root</systemitem> user.</para>
</listitem>
<listitem>
<para>Add <filename class='directory'>$PREFIX/man</filename>
to <filename>/etc/man_db.conf</filename> or expand
<envar>MANPATH</envar>.</para>
</listitem>
<listitem>
<para>Add <filename class='directory'>$PREFIX/info</filename>
to <envar>INFOPATH</envar>.</para>
</listitem>
<listitem>
<para>Add <filename class='directory'>$PREFIX/lib/pkgconfig</filename>
to <envar>PKG_CONFIG_PATH</envar>. Some packages are now installing
<filename class='extension'>.pc</filename> files in
<filename class='directory'>$PREFIX/share/pkgconfig</filename>, so you may
have to include this directory also.</para>
</listitem>
<listitem>
<para>Add <filename class='directory'>$PREFIX/include</filename> to
<envar>CPPFLAGS</envar> when compiling packages that depend on
the package you installed.</para>
</listitem>
<listitem>
<para>Add <filename class='directory'>$PREFIX/lib</filename> to
<envar>LDFLAGS</envar> when compiling packages that depend on a library
installed by the package.</para>
</listitem>
</itemizedlist>
<para>If you are in search of a package that is not in the book, the following
are different ways you can search for the desired package.</para>
<itemizedlist>
<listitem>
<para>If you know the name of the package, then search FreshMeat for
it at <ulink url="http://freshmeat.net/"/>. Also search Google at
<ulink url="http://google.com/"/>. Sometimes a search for the
<filename class='extension'>rpm</filename> at
<ulink url="http://rpmfind.net/"/> or the
<filename class='extension'>deb</filename> at
<ulink url="http://www.debian.org/distrib/packages#search_packages"/> can
also lead to a link to the package.</para>
</listitem>
<listitem>
<para>If you know the name of the executable, but not the package
that the executable belongs to, first try a Google search with the name
of the executable. If the results are overwhelming, try searching for the
given executable in the Debian repository at <ulink
url="http://www.debian.org/distrib/packages#search_contents"/>.</para>
</listitem>
</itemizedlist>
<para>Some general hints on handling new packages:</para>
<itemizedlist>
<listitem>
<para>Many of the newer packages follow the <command>./configure
&amp;&amp; make &amp;&amp; make install</command> process.
Help on the options accepted by configure can be obtained via the
command <command>./configure --help</command>.</para>
</listitem>
<listitem>
<para>Most of the packages contain documentation on compiling and
installing the package. Some of the documents are excellent, some not so
excellent. Check out the homepage of the package for any additional and
updated hints for compiling and configuring the package.</para>
</listitem>
<listitem>
<para>If you are having a problem compiling the package, try
searching the LFS archives at
<ulink url="http://www.&lfs-domainname;/search.html"/> for the error or if
that fails, try searching Google. If everything else fails,
try the blfs-support mailing-list.</para>
</listitem>
</itemizedlist>
<tip>
<para>If you have found a package that is only available in
<filename class='extension'>.deb</filename> or
<filename class='extension'>.rpm</filename>
format, there are two small scripts, <command>rpm2targz</command> and
<command>deb2targz</command> that are available at
<ulink url="&downloads-project;/deb2targz.tar.bz2"/> and
<ulink url="&downloads-project;/rpm2targz.tar.bz2"/> to convert the archives
into a simple <filename>tar.gz</filename> format.</para>
</tip>
</sect1>