source: chapter05/stripping.xml@ c2863e6

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 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since c2863e6 was c2863e6, checked in by Pierre Labastie <pieere@…>, 4 years ago

Add remarks about .la files telling that they are potentially harmful

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

  • Property mode set to 100644
File size: 1.9 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="ch-tools-stripping">
9 <?dbhtml filename="stripping.html"?>
10
11 <title>Stripping</title>
12
13 <para>The steps in this section are optional, but if the LFS partition is
14 rather small, it is beneficial to learn that unnecessary items can be removed.
15 The executables and libraries built so far contain about 70 MB of unneeded
16 debugging symbols. Remove those symbols with:</para>
17
18<screen><userinput>strip --strip-debug /tools/lib/*
19/usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
20
21 <para>These commands will skip a number of files, reporting that it does not
22 recognize their file format. Most of these are scripts instead of binaries.
23 Also use the system strip command to include the strip binary in /tools.</para>
24
25 <para>Take care <emphasis>not</emphasis> to use
26 <parameter>--strip-unneeded</parameter> on the libraries. The static
27 ones would be destroyed and the toolchain packages would need to be
28 built all over again.</para>
29
30 <para>To save more, remove the documentation:</para>
31
32<screen><userinput>rm -rf /tools/{,share}/{info,man,doc}</userinput></screen>
33
34 <para>The libtool .la files are only useful when linking with static
35 libraries. They are unneeded, and potentially harmful, when using dynamic
36 shared libraries, specially when using also non-autotools build systems.
37 Remove those files now:</para>
38
39<screen><userinput>find /tools/{lib,libexec} -name \*.la -delete</userinput></screen>
40
41 <para>At this point, you should have at least 3 GB of free space in
42 <envar>$LFS</envar> that can be used to build and install Glibc and Gcc in
43 the next phase. If you can build and install Glibc, you can build and install
44 the rest too.</para>
45
46</sect1>
Note: See TracBrowser for help on using the repository browser.