Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • introduction/important/la-files.xml

    r8558044 r3f2db3a6  
    99  <?dbhtml filename="la-files.html"?>
    1010
    11   <sect1info>
    12     <date>$Date$</date>
    13   </sect1info>
    1411
    1512  <title>About Libtool Archive (.la) files</title>
     
    2118
    2219  <sect2 role="package">
    23     <title>Files with a .la extention</title>
     20    <title>Files with a .la extension</title>
    2421
    2522    <para>
    2623
    27       In LFS we installed a package, libtool, that is used by many packages to
     24      In LFS and BLFS, many packages use a internally shipped libtool copy to
    2825      build on a variety of Unix platforms.  This includes platforms such as
    2926      AIX, Solaris, IRIX, HP-UX, and Cygwin as well as Linux.  The origins of
     
    4037      url="https://en.wikipedia.org/wiki/Executable_and_Linkable_Format">
    4138      Executable and Linkable Format (ELF)</ulink> for executables and
    42       libraries, information needed to complete the task is embedded in the
    43       files.  At run time the program loader can query the appropriate files
    44       and properly load and execute the program.
     39      dynamic libraries, information needed to complete the task is embedded
     40      in the files.  Both the linker and the program loader can query the
     41      appropriate files and properly link or execute the program.
    4542
    4643    </para>
    4744
    4845    <para>
     46      Static libraries are rarely used in LFS and BLFS.  And, nowadays most
     47      packages store the information needed for linking against a static
     48      library into a .pc file, instead of relying on libtool.
     49      A <command>pkg-config --static --libs</command> command will output
     50      the sufficient flags for the linker to link against a static library
     51      without any libtool magic.
     52    </para>
    4953
    50        The problem is that libtool usually creates one or more text files for
    51        package libraries called libtool archives.  These small files have a
    52        ".la" extention and contain information that is similar to that embedded
    53        in the libraries.  When building a package that uses libtool, the
    54        process automatically looks for these files.  If a package is updated
    55        and no longer uses the .la file, then the build process can break.
    56 
     54    <para>
     55      The problem is that libtool usually creates one or more text files for
     56      package libraries called libtool archives.  These small files have a
     57      ".la" extension and contain information that is similar to that embedded
     58      in the libraries or pkg-config files.  When building a package that
     59      uses libtool, the process automatically looks for these files.
     60      Sometimes a .la file can contains the name or path of a static library
     61      used during build but not installed, then the build process will break
     62      because the .la file refers to something nonexistent on the system.
     63      Similarly, if a package is updated and no longer uses the .la file,
     64      then the build process can break with the old .la files.
    5765    </para>
    5866
     
    135143    done
    136144  done
    137 done
     145done</literal>
    138146
    139147EOF
    140148
    141 chmod +x /usr/sbin/remove-la-files.sh</literal></userinput></screen>
     149chmod +x /usr/sbin/remove-la-files.sh</userinput></screen>
    142150
    143151    <para condition="html" role="usernotes">
Note: See TracChangeset for help on using the changeset viewer.