Changeset aebd449
- Timestamp:
- 11/13/2023 11:30:18 PM (7 months ago)
- Branches:
- multilib
- Children:
- 18d1f6f
- Parents:
- fbc1e90 (diff), e3ae067 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter01/changelog.xml
rfbc1e90 raebd449 41 41 --> 42 42 <listitem> 43 <para>2023-11-13</para> 44 <itemizedlist> 45 <listitem> 46 <para>[xry111] - Update to elfutils-0.190. Fixes 47 <ulink url='&lfs-ticket-root;5373'>#5373</ulink>.</para> 48 </listitem> 49 <listitem> 50 <para>[xry111] - Update to vim-9.0.2103. Addresses 51 <ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para> 52 </listitem> 53 <listitem> 54 <para>[xry111] - Update to linux-6.6.1. Fixes 55 <ulink url='&lfs-ticket-root;5369'>#5369</ulink>.</para> 56 </listitem> 57 <listitem> 58 <para>[xry111] - Update to xz-5.4.5. Fixes 59 <ulink url='&lfs-ticket-root;5371'>#5371</ulink>.</para> 60 </listitem> 61 <listitem> 62 <para>[xry111] - Update to iana-etc-20231107. Addresses 63 <ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para> 64 </listitem> 65 <listitem> 66 <para>[xry111] - Update to gawk-5.3.0. Fixes 67 <ulink url='&lfs-ticket-root;5372'>#5372</ulink>.</para> 68 </listitem> 69 <listitem> 70 <para>[xry111] - Update to bash-5.2.21. Fixes 71 <ulink url='&lfs-ticket-root;5375'>#5375</ulink>.</para> 72 </listitem> 73 <listitem> 74 <para>[xry111] - Update to iproute2-6.6.0. Fixes 75 <ulink url='&lfs-ticket-root;5374'>#5374</ulink>.</para> 76 </listitem> 77 </itemizedlist> 78 </listitem> 79 80 <listitem> 43 81 <para>2023-11-01</para> 44 82 <itemizedlist> -
chapter01/whatsnew.xml
rfbc1e90 raebd449 39 39 <para>Automake-&automake-version;</para> 40 40 </listitem>--> 41 < !--<listitem>41 <listitem> 42 42 <para>Bash-&bash-version;</para> 43 </listitem> -->43 </listitem> 44 44 <listitem> 45 45 <para>Bc-&bc-version;</para> … … 90 90 <para>Flit-core-&flit-core-version;</para> 91 91 </listitem>--> 92 < !--<listitem>92 <listitem> 93 93 <para>Gawk-&gawk-version;</para> 94 </listitem> -->94 </listitem> 95 95 <!--<listitem> 96 96 <para>GCC-&gcc-version;</para> … … 132 132 <para>Intltool-&intltool-version;</para> 133 133 </listitem>--> 134 < !--<listitem>134 <listitem> 135 135 <para>IPRoute2-&iproute2-version;</para> 136 </listitem> -->136 </listitem> 137 137 <!--<listitem revision="systemd"> 138 138 <para>Jinja2-&jinja2-version;</para> … … 153 153 <para>Libcap-&libcap-version;</para> 154 154 </listitem>--> 155 < !--<listitem>155 <listitem> 156 156 <para>Libelf-&elfutils-version; (from elfutils)</para> 157 </listitem> -->157 </listitem> 158 158 <!--<listitem> 159 159 <para>Libffi-&libffi-version;</para> … … 267 267 <para>XML::Parser-&xml-parser-version;</para> 268 268 </listitem>--> 269 < !--<listitem>269 <listitem> 270 270 <para>Xz-&xz-version;</para> 271 </listitem> -->271 </listitem> 272 272 <listitem> 273 273 <para>Zlib-&zlib-version;</para> -
chapter02/hostreqs.xml
rfbc1e90 raebd449 55 55 </listitem> 56 56 57 <listitem> 58 <para><emphasis role="strong">Coreutils-7.0</emphasis></para> 57 <!-- In Coreutils-8.1 the nproc program is added. --> 58 <listitem> 59 <para><emphasis role="strong">Coreutils-8.1</emphasis></para> 59 60 </listitem> 60 61 … … 219 220 } 220 221 221 # Coreutils first because -sort needs Coreutils >= 7.0222 ver_check Coreutils sort 7.0 || bail "--version-sort unsupported"222 # Coreutils first because --version-sort needs Coreutils >= 7.0 223 ver_check Coreutils sort 8.1 || bail "Coreutils too old, stop" 223 224 ver_check Bash bash 3.2 224 225 ver_check Binutils ld 2.13.1 … … 260 261 then echo "OK: g++ works"; 261 262 else echo "ERROR: g++ does NOT work"; fi 262 rm -f a.out</literal> 263 rm -f a.out 264 265 if [ "$(nproc)" = "" ]; then 266 echo "ERROR: nproc is not available or it produces empty output" 267 else 268 echo "OK: nproc reports $(nproc) logical cores are available" 269 fi</literal> 263 270 EOF 264 271 -
chapter04/aboutsbus.xml
rfbc1e90 raebd449 38 38 39 39 <note> 40 <para>For many modern systems with multiple processors (or cores) the41 compilation time for a package can be reduced by performing a "parallel42 make" by either setting an environment variable or telling the43 <command>make</command> program how many processors are available. For44 instance, an Intel i5-6500 CPU can support four simultaneous processes with:</para>45 46 <screen role="nodump"><userinput>export MAKEFLAGS='-j4'</userinput></screen>47 48 <para>or by building with:</para>49 50 <screen role="nodump"><userinput>make -j4</userinput></screen>51 52 40 <para>When multiple processors are used in this way, the SBU units in the 53 41 book will vary even more than they normally would. In some cases, the make -
chapter04/settingenviron.xml
rfbc1e90 raebd449 210 210 </important> 211 211 212 <para> 213 For many modern systems with multiple processors (or cores) the 214 compilation time for a package can be reduced by performing a "parallel 215 make" by telling the make program how many processors are available via 216 a command line option or an environment variable. For instance, an Intel 217 Core i9-13900K processor has 8 P (performance) cores and 218 16 E (efficiency) cores, and a P core can simultaneously run two threads 219 so each P core are modeled as two logical cores by the Linux kernel. 220 As the result there are 32 logical cores in total. One obvious way to 221 use all these logical cores is allowing <command>make</command> to spawn 222 up to 32 build jobs. This can be done by passing the 223 <parameter>-j32</parameter> option to <command>make</command>: 224 </para> 225 226 <screen role='nodump'><userinput>make -j32</userinput></screen> 227 228 <para> 229 Or set the <envar>MAKEFLAGS</envar> environment variable and its 230 content will be automatically used by <command>make</command> as 231 command line options: 232 </para> 233 234 <screen role='nodump'><userinput>export MAKEFLAGS=-j32</userinput></screen> 235 236 <important> 237 <para> 238 Never pass a <parameter>-j</parameter> option without a number to 239 <command>make</command> or set such an option in 240 <envar>MAKEFLAGS</envar>. Doing so will allow <command>make</command> 241 to spawn infinite build jobs and cause system stability issue. 242 </para> 243 </important> 244 245 <para> 246 To use all logical cores available for building packages in 247 <xref linkend='chapter-cross-tools'/> and 248 <xref linkend='chapter-temporary-tools'/>, set <envar>MAKEFLAGS</envar> 249 now in <filename>.bashrc</filename>: 250 </para> 251 252 <screen><userinput>cat >> ~/.bashrc << "EOF" 253 <literal>export MAKEFLAGS=-j<replaceable>$(nproc)</replaceable></literal> 254 EOF</userinput></screen> 255 256 <para> 257 Replace <replaceable>$(nproc)</replaceable> with the number of logical 258 cores you want to use if you don't want to use all the logical cores. 259 </para> 260 212 261 <para>Finally, to ensure the environment is fully prepared for building the 213 262 temporary tools, force the <command>bash</command> shell to read -
chapter07/chroot.xml
rfbc1e90 raebd449 24 24 PS1='(lfs chroot) \u:\w\$ ' \ 25 25 PATH=/usr/bin:/usr/sbin \ 26 MAKEFLAGS="-j<replaceable>$(nproc)</replaceable>" \ 27 TESTSUITEFLAGS="-j<replaceable>$(nproc)</replaceable>" \ 26 28 /bin/bash --login</userinput></screen> 29 30 <para> 31 If you don't want to use all available logical cores, replace 32 <replaceable>$(nproc)</replaceable> with the number of logical cores you 33 want to use for building packages in this chapter and the following 34 chapters. The test suites of some packages (notably Autoconf, Libtool, 35 and Tar) in &ch-final; are not affected by <envar>MAKEFLAGS</envar>, they 36 use a <envar>TESTSUITEFLAGS</envar> environment variable instead. We 37 set set that here as well for running these test suites with multiple cores. 38 </para> 27 39 28 40 <para>The <parameter>-i</parameter> option given to the <command>env</command> … … 48 60 used.</para> 49 61 50 <para> Note that the <command>bash</command> prompt will say62 <para>Also note that the <command>bash</command> prompt will say 51 63 <computeroutput>I have no name!</computeroutput> This is normal because the 52 64 <filename>/etc/passwd</filename> file has not been created yet.</para> -
chapter08/automake.xml
rfbc1e90 raebd449 54 54 <screen><userinput remap="make">make</userinput></screen> 55 55 56 <para> Using the -j4 make optionspeeds up the tests, even on systems with57 only one processor, due to internal delays in individual tests. To test56 <para>Using four parallel jobs speeds up the tests, even on systems with 57 less logical cores, due to internal delays in individual tests. To test 58 58 the results, issue:</para> 59 59 60 <screen><userinput remap="test">make -j4 check</userinput></screen> 60 <screen><userinput remap="test">make <replaceable>-j$(($(nproc)>4?$(nproc):4))</replaceable> check</userinput></screen> 61 62 <para>Replace <replaceable>$((...))</replaceable> with the number of 63 logical cores you want to use if you don't want to use all.</para> 61 64 62 65 <para>The test t/subobj.sh is known to fail.</para> -
chapter08/openssl.xml
rfbc1e90 raebd449 64 64 <para>To test the results, issue:</para> 65 65 66 <screen><userinput remap="test"> make test</userinput></screen>66 <screen><userinput remap="test">HARNESS_JOBS=<replaceable>$(nproc)</replaceable> make test</userinput></screen> 67 67 68 68 <para>One test, 30-test_afalg.t, is known to fail if the host kernel -
chapter08/perl.xml
rfbc1e90 raebd449 112 112 <para>To test the results (approximately 11 SBU), issue:</para> 113 113 114 <screen><userinput remap="test"> make test</userinput></screen>114 <screen><userinput remap="test">TEST_JOBS=$(nproc) make test_harness</userinput></screen> 115 115 116 116 <para>Install the package and clean up:</para> -
chapter08/udev.xml
rfbc1e90 raebd449 140 140 install -vm644 ../src/udev/udev.conf /etc/udev/ 141 141 install -vm644 rules.d/* ../rules.d/README /usr/lib/udev/rules.d/ 142 install -vm644 $( echo ../rules.d/*.rules |\143 sed 's/70-power-switch.rules//')/usr/lib/udev/rules.d/142 install -vm644 $(find ../rules.d/*.rules \ 143 -not -name '*power-switch*') /usr/lib/udev/rules.d/ 144 144 install -vm644 hwdb.d/* ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/ 145 install -vm755 $(find src/udev -type f\146 -not -name '*.*')/usr/lib/udev</userinput></screen>145 install -vm755 $(find src/udev \ 146 -type f -not -name '*.*') /usr/lib/udev</userinput></screen> 147 147 148 148 <para>Install some custom rules and support files useful in an LFS -
packages.ent
rfbc1e90 raebd449 48 48 <!ENTITY automake-fin-sbu "less than 0.1 SBU (about 7.0 SBU with tests)"> 49 49 50 <!ENTITY bash-version "5.2. 15">51 <!ENTITY bash-size "10,69 5KB">50 <!ENTITY bash-version "5.2.21"> 51 <!ENTITY bash-size "10,696 KB"> 52 52 <!ENTITY bash-url "&gnu;bash/bash-&bash-version;.tar.gz"> 53 <!ENTITY bash-md5 " 4281bb43497f3905a308430a8d6a30a5">53 <!ENTITY bash-md5 "ad5b38410e3bf0e9bcc20e2765f5e3f9"> 54 54 <!ENTITY bash-home "&gnu-software;bash/"> 55 55 <!ENTITY bash-tmp-du "67 MB"> … … 149 149 <!ENTITY e2fsprogs-fin-sbu "2.4 SBU on a spinning disk, 0.6 SBU on an SSD"> 150 150 151 <!ENTITY elfutils-version "0.1 89"> <!-- libelf -->152 <!ENTITY elfutils-size "8,9 36KB">151 <!ENTITY elfutils-version "0.190"> <!-- libelf --> 152 <!ENTITY elfutils-size "8,949 KB"> 153 153 <!ENTITY elfutils-url "https://sourceware.org/ftp/elfutils/&elfutils-version;/elfutils-&elfutils-version;.tar.bz2"> 154 <!ENTITY elfutils-md5 " 5cfaa711a90cb670406cd495aeaa6030">154 <!ENTITY elfutils-md5 "79ad698e61a052bea79e77df6a08bc4b"> 155 155 <!ENTITY elfutils-home "https://sourceware.org/elfutils/"> 156 156 <!ENTITY elfutils-fin-du "122 MB"> … … 209 209 <!ENTITY flit-core-fin-sbu "less than 0.1 SBU"> 210 210 211 <!ENTITY gawk-version "5. 2.2">212 <!ENTITY gawk-size "3,3 24KB">211 <!ENTITY gawk-version "5.3.0"> 212 <!ENTITY gawk-size "3,356 KB"> 213 213 <!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz"> 214 <!ENTITY gawk-md5 " d63b4de2c722cbd9b8cc8e6f14d78a1e">214 <!ENTITY gawk-md5 "97c5a7d83f91a7e1b2035ebbe6ac7abd"> 215 215 <!ENTITY gawk-home "&gnu-software;gawk/"> 216 216 <!ENTITY gawk-tmp-du "48 MB"> … … 318 318 <!ENTITY gzip-fin-sbu "0.3 SBU"> 319 319 320 <!ENTITY iana-etc-version "20231 026">321 <!ENTITY iana-etc-size "58 8KB">320 <!ENTITY iana-etc-version "20231107"> 321 <!ENTITY iana-etc-size "589 KB"> 322 322 <!ENTITY iana-etc-url "https://github.com/Mic92/iana-etc/releases/download/&iana-etc-version;/iana-etc-&iana-etc-version;.tar.gz"> 323 <!ENTITY iana-etc-md5 " 87e127b8f5ce7f2daa7b4afa1c147465">323 <!ENTITY iana-etc-md5 "01331998d26d5beb592c12b06b2eeb24"> 324 324 <!ENTITY iana-etc-home "https://www.iana.org/protocols"> 325 325 <!ENTITY iana-etc-fin-du "4.8 MB"> … … 342 342 <!ENTITY intltool-fin-sbu "less than 0.1 SBU"> 343 343 344 <!ENTITY iproute2-version "6. 5.0">345 <!ENTITY iproute2-size " 908KB">344 <!ENTITY iproute2-version "6.6.0"> 345 <!ENTITY iproute2-size "897 KB"> 346 346 <!ENTITY iproute2-url "&kernel;linux/utils/net/iproute2/iproute2-&iproute2-version;.tar.xz"> 347 <!ENTITY iproute2-md5 " ae811fc51b3a2c9c7701be308152c45a">347 <!ENTITY iproute2-md5 "6716fc3188dbea226997fa2478a190d7"> 348 348 <!ENTITY iproute2-home "&kernel;linux/utils/net/iproute2/"> 349 349 <!ENTITY iproute2-fin-du "17 MB"> … … 440 440 441 441 <!ENTITY linux-major-version "6"> 442 <!ENTITY linux-minor-version " 5">443 <!ENTITY linux-patch-version " 9">442 <!ENTITY linux-minor-version "6"> 443 <!ENTITY linux-patch-version "1"> 444 444 <!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">--> 445 445 <!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;"> 446 <!ENTITY linux-size "13 5,718KB">446 <!ENTITY linux-size "136,730 KB"> 447 447 <!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz"> 448 <!ENTITY linux-md5 "9 e187b3c0cd0e29d151a1bd72c66f78f">448 <!ENTITY linux-md5 "90291279ca684fb8cfa59b2ae75b6fe0"> 449 449 <!ENTITY linux-home "https://www.kernel.org/"> 450 450 <!-- measured for 6.5.3 / gcc-13.2.0 on x86_64 with -j4 : minimum is … … 745 745 <!ENTITY util-linux-fin-sbu "0.5 SBU"> 746 746 747 <!ENTITY vim-version "9.0. 1968">747 <!ENTITY vim-version "9.0.2103"> 748 748 <!-- <!ENTITY vim-majmin "90"> --> 749 749 <!ENTITY vim-docdir "vim/vim90"> 750 <!ENTITY vim-size "1 6,909KB">750 <!ENTITY vim-size "11,193 KB"> 751 751 <!--<!ENTITY vim-url "https://github.com/vim/vim/archive/v&vim-version;/vim-&vim-version;.tar.gz">--> 752 <!ENTITY vim-url "&anduin-sources;/vim-&vim-version;.tar. gz">753 <!ENTITY vim-md5 " 66147348ba84ea9c78b9d6595015f5a6">752 <!ENTITY vim-url "&anduin-sources;/vim-&vim-version;.tar.xz"> 753 <!ENTITY vim-md5 "1af1d018026234d085a82348703461ce"> 754 754 <!ENTITY vim-home "https://www.vim.org"> 755 755 <!ENTITY vim-fin-du "229 MB"> … … 772 772 <!ENTITY xml-parser-fin-sbu "less than 0.1 SBU"> 773 773 774 <!ENTITY xz-version "5.4. 4">775 <!ENTITY xz-size "1,6 23KB">774 <!ENTITY xz-version "5.4.5"> 775 <!ENTITY xz-size "1,642 KB"> 776 776 <!ENTITY xz-url "https://tukaani.org/xz/xz-&xz-version;.tar.xz"> 777 <!ENTITY xz-md5 " d83d6f64a64f88759e312b8a38c3add6">777 <!ENTITY xz-md5 "1d33e0be05c53e7a5641acf5c8b35fdd"> 778 778 <!ENTITY xz-home "https://tukaani.org/xz"> 779 779 <!ENTITY xz-tmp-du "22 MB">
Note:
See TracChangeset
for help on using the changeset viewer.