Changeset a20bfb4 for chapter06


Ignore:
Timestamp:
02/04/2003 05:18:40 AM (22 years ago)
Author:
Gerard Beekmans <gerard@…>
Branches:
10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 12.2, 12.2-rc1, 6.0, 6.1, 6.1.1, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, v4_1, v5_0, v5_1, v5_1_1, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/loongarch-12.2, xry111/mips64el, xry111/multilib, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
Children:
e8ed0379
Parents:
31435ca
Message:

updated findutils + gawk patch explanations

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2423 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

Location:
chapter06
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • chapter06/findutils-inst.xml

    r31435ca ra20bfb4  
    44<title>Installing Findutils</title>
    55
    6 <para>A patch must be applied in order to prevent compilation
    7 errors. The patch fixes a variable conflict and some bad syntax:</para>
     6<para>The Findutils package is quite old and it has problems compiling
     7against newer Glibc versions (Glibc-2.0.x and up). You need to apply the
     8patch which fixes the following issues:</para>
     9
     10<itemizedlist>
     11<listitem><para>Findutils declares a function called basename, but this
     12function name is already used by the C standard libraries. This patch
     13changes the Findutils version of basename function so that it is called
     14basename2 instead.</para></listitem>
     15
     16<listitem><para>Findutils uses an incorrect way to use library files. It
     17declares library functions, to tell the compiler what the name of the
     18function will be when the libraries are linked in. This syntax is invalid
     19and causes compiler warnings/errors. This patch removes this improper
     20syntax.</para></listitem>
     21
     22<listitem><para>Every GNU package is supposed use a macro called _GNU_SOURCE.
     23This macro enables declarations of GNU library extension functions and so the
     24compiler will be able to detect name conflicts between functions more easily.
     25This patch adds this macro to the source code.</para></listitem>
     26</itemizedlist>
    827
    928<para><screen><userinput>patch -Np1 -i ../findutils-&findutils-patch-version;.patch</userinput></screen></para>
    1029
    11 <para>The <userinput>locate</userinput> program from Findutils may
    12 segfault if it encounters a long path name. To correct this, apply
    13 the second patch:</para>
     30<para>There is a bug in locate.c of Findutils that causes a segmentation
     31fault to occur on very long path names. The problem is caused by the
     32get_short() function calculating negative numbers incorrectly. This patch
     33corrects this bug.</para>
    1434
    1535<para><screen><userinput>patch -Np1 -i ../findutils-&findutils-segfault-patch-version;-segfault.patch</userinput></screen></para>
  • chapter06/gawk-inst.xml

    r31435ca ra20bfb4  
    44<title>Installation of Gawk</title>
    55
    6 <para>This package requires its patch to be applied before you can
    7 install it:</para>
     6<para>Before installing the Gawk package you have to apply a patch to it
     7which fixes the following issues:</para>
     8
     9<itemizedlist>
     10<listitem><para>Gawk's default location for libexecdir is <filename
     11class="directory">$prefix/libexecdir/awk</filename>. This location doesn't
     12comply with FHS (FHS never mentions a directory called
     13libexecdir).</para></listitem>
     14
     15<listitem><para>The patch allows us to pass
     16<emphasis>--libexecdir</emphasis> to the configure script (without gawk
     17tacking on /awk to the end), so that we can use a more appropriate location
     18for gawk's libexecdir (<filename class="directory">/usr/bin</filename> in
     19the book).</para></listitem>
     20
     21<listitem><para>The default data directory for gawk is <filename
     22class="directory">$prefix/share/awk</filename>. A package specific
     23directory should be named after the package and the version (gawk-3.1.1
     24instead of awk) because there may be more than one awk interpreter on a
     25system (and more than one version of gawk). The patch changes this to
     26<filename class="directory">$prefix/share/gawk-3.1.1</filename> to be more
     27correct.</para></listitem>
     28
     29<listitem><para>The patch ensures that this directory (<filename
     30class="directory">$prefix/share/gawk-3.1.1</filename>) is removed along
     31with its contents on a make uninstall.</para></listitem>
     32</itemizedlist>
    833
    934<para><screen><userinput>patch -Np1 -i ../gawk-&gawk-patch-version;.patch</userinput></screen></para>
    10 
    11 <para>This patch alters the code that determines the location of the
    12 libexec directory. The patch will allow us to override it by passing
    13 <emphasis>--libexecdir</emphasis> to the configure script.</para>
    1435
    1536<para>Prepare Gawk to be compiled:</para>
Note: See TracChangeset for help on using the changeset viewer.