Changeset b3c16f12


Ignore:
Timestamp:
09/19/2022 05:47:19 AM (19 months ago)
Author:
Xi Ruoyao <xry111@…>
Branches:
11.3, 12.0, 12.1, kea, ken/TL2024, ken/inkscape-core-mods, ken/tuningfonts, lazarus, lxqt, plabs/newcss, plabs/python-mods, python3.11, qt5new, rahul/power-profiles-daemon, renodr/vulkan-addition, trunk, xry111/llvm18, xry111/xf86-video-removal
Children:
3c3e0ffb
Parents:
7027897
Message:

la-files: some reword

  • libtool is usually internally shipped and system libtool is not used. Or we can simply patch system libtool to stop installing .la files...
  • Add a paragraph about static library. Prevent anyone from thinking "oh I need static libraries and I'll keep those .la files".
  • Mention that .la file may mistakenly include library names or paths not valid after installation.
  • Move a </literal> into the correct location.
File:
1 edited

Legend:

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

    r7027897 rb3c16f12  
    2525    <para>
    2626
    27       In LFS we installed a package, libtool, that is used by many packages to
     27      In LFS and BLFS, many packages use a internally shipped libtool copy to
    2828      build on a variety of Unix platforms.  This includes platforms such as
    2929      AIX, Solaris, IRIX, HP-UX, and Cygwin as well as Linux.  The origins of
     
    4040      url="https://en.wikipedia.org/wiki/Executable_and_Linkable_Format">
    4141      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.
     42      dynamic libraries, information needed to complete the task is embedded
     43      in the files.  Both the linker and the program loader can query the
     44      appropriate files and properly link or execute the program.
    4545
    4646    </para>
    4747
    4848    <para>
     49      Static libraries are rarely used in LFS and BLFS.  And, nowadays most
     50      packages store the information needed for linking against a static
     51      library into a .pc file, instead of relying on libtool.
     52      A <command>pkg-config --static --libs</command> command will output
     53      the sufficient flags for the linker to link against a static library
     54      without any libtool magic.
     55    </para>
    4956
    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" extension 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 
     57    <para>
     58      The problem is that libtool usually creates one or more text files for
     59      package libraries called libtool archives.  These small files have a
     60      ".la" extension and contain information that is similar to that embedded
     61      in the libraries or pkg-config files.  When building a package that
     62      uses libtool, the process automatically looks for these files.
     63      Sometimes a .la file can contains the name or path of a static library
     64      used during build but not installed, then the build process will break
     65      because the .la file refers to something nonexistent on the system.
     66      Similarly, if a package is updated and no longer uses the .la file,
     67      then the build process can break with the old .la files.
    5768    </para>
    5869
     
    135146    done
    136147  done
    137 done
     148done</literal>
    138149
    139150EOF
    140151
    141 chmod +x /usr/sbin/remove-la-files.sh</literal></userinput></screen>
     152chmod +x /usr/sbin/remove-la-files.sh</userinput></screen>
    142153
    143154    <para condition="html" role="usernotes">
Note: See TracChangeset for help on using the changeset viewer.