Changes in / [1780e72:7a72a22]
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter01/changelog.xml
r1780e72 r7a72a22 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> -
chapter02/hostreqs.xml
r1780e72 r7a72a22 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
r1780e72 r7a72a22 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
r1780e72 r7a72a22 196 196 </important> 197 197 198 <para> 199 For many modern systems with multiple processors (or cores) the 200 compilation time for a package can be reduced by performing a "parallel 201 make" by telling the make program how many processors are available via 202 a command line option or an environment variable. For instance, an Intel 203 Core i9-13900K processor has 8 P (performance) cores and 204 16 E (efficiency) cores, and a P core can simultaneously run two threads 205 so each P core are modeled as two logical cores by the Linux kernel. 206 As the result there are 32 logical cores in total. One obvious way to 207 use all these logical cores is allowing <command>make</command> to spawn 208 up to 32 build jobs. This can be done by passing the 209 <parameter>-j32</parameter> option to <command>make</command>: 210 </para> 211 212 <screen role='nodump'><userinput>make -j32</userinput></screen> 213 214 <para> 215 Or set the <envar>MAKEFLAGS</envar> environment variable and its 216 content will be automatically used by <command>make</command> as 217 command line options: 218 </para> 219 220 <screen role='nodump'><userinput>export MAKEFLAGS=-j32</userinput></screen> 221 222 <important> 223 <para> 224 Never pass a <parameter>-j</parameter> option without a number to 225 <command>make</command> or set such an option in 226 <envar>MAKEFLAGS</envar>. Doing so will allow <command>make</command> 227 to spawn infinite build jobs and cause system stability issue. 228 </para> 229 </important> 230 231 <para> 232 To use all logical cores available for building packages in 233 <xref linkend='chapter-cross-tools'/> and 234 <xref linkend='chapter-temporary-tools'/>, set <envar>MAKEFLAGS</envar> 235 now in <filename>.bashrc</filename>: 236 </para> 237 238 <screen><userinput>cat >> ~/.bashrc << "EOF" 239 <literal>export MAKEFLAGS=-j<replaceable>$(nproc)</replaceable></literal> 240 EOF</userinput></screen> 241 242 <para> 243 Replace <replaceable>$(nproc)</replaceable> with the number of logical 244 cores you want to use if you don't want to use all the logical cores. 245 </para> 246 198 247 <para>Finally, to ensure the environment is fully prepared for building the 199 248 temporary tools, force the <command>bash</command> shell to read -
chapter07/chroot.xml
r1780e72 r7a72a22 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 Again, replace <replaceable>$(nproc)</replaceable> with the number 32 of logical cores you want to use for building packages in this chapter 33 and the following chapters if you don't want to use all available 34 logical cores. The test suites of some packages (notably Autoconf, 35 Libtool, and Tar) in &ch-final; are not affected by 36 <envar>MAKEFLAGS</envar>, they use a <envar>TESTSUITEFLAGS</envar> 37 environment variable instead. So we set it here as well for running 38 these test suites with multiple cores. 39 </para> 27 40 28 41 <para>The <parameter>-i</parameter> option given to the <command>env</command> -
chapter08/automake.xml
r1780e72 r7a72a22 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
r1780e72 r7a72a22 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
r1780e72 r7a72a22 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> -
packages.ent
r1780e72 r7a72a22 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"> … … 431 431 432 432 <!ENTITY linux-major-version "6"> 433 <!ENTITY linux-minor-version " 5">434 <!ENTITY linux-patch-version " 9">433 <!ENTITY linux-minor-version "6"> 434 <!ENTITY linux-patch-version "1"> 435 435 <!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">--> 436 436 <!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;"> 437 <!ENTITY linux-size "13 5,718KB">437 <!ENTITY linux-size "136,730 KB"> 438 438 <!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz"> 439 <!ENTITY linux-md5 "9 e187b3c0cd0e29d151a1bd72c66f78f">439 <!ENTITY linux-md5 "90291279ca684fb8cfa59b2ae75b6fe0"> 440 440 <!ENTITY linux-home "https://www.kernel.org/"> 441 441 <!-- measured for 6.5.3 / gcc-13.2.0 on x86_64 with -j4 : minimum is … … 736 736 <!ENTITY util-linux-fin-sbu "0.5 SBU"> 737 737 738 <!ENTITY vim-version "9.0. 1968">738 <!ENTITY vim-version "9.0.2103"> 739 739 <!-- <!ENTITY vim-majmin "90"> --> 740 740 <!ENTITY vim-docdir "vim/vim90"> 741 <!ENTITY vim-size "1 6,909KB">741 <!ENTITY vim-size "11,193 KB"> 742 742 <!--<!ENTITY vim-url "https://github.com/vim/vim/archive/v&vim-version;/vim-&vim-version;.tar.gz">--> 743 <!ENTITY vim-url "&anduin-sources;/vim-&vim-version;.tar. gz">744 <!ENTITY vim-md5 " 66147348ba84ea9c78b9d6595015f5a6">743 <!ENTITY vim-url "&anduin-sources;/vim-&vim-version;.tar.xz"> 744 <!ENTITY vim-md5 "1af1d018026234d085a82348703461ce"> 745 745 <!ENTITY vim-home "https://www.vim.org"> 746 746 <!ENTITY vim-fin-du "229 MB"> … … 763 763 <!ENTITY xml-parser-fin-sbu "less than 0.1 SBU"> 764 764 765 <!ENTITY xz-version "5.4. 4">766 <!ENTITY xz-size "1,6 23KB">765 <!ENTITY xz-version "5.4.5"> 766 <!ENTITY xz-size "1,642 KB"> 767 767 <!ENTITY xz-url "https://tukaani.org/xz/xz-&xz-version;.tar.xz"> 768 <!ENTITY xz-md5 " d83d6f64a64f88759e312b8a38c3add6">768 <!ENTITY xz-md5 "1d33e0be05c53e7a5641acf5c8b35fdd"> 769 769 <!ENTITY xz-home "https://tukaani.org/xz"> 770 770 <!ENTITY xz-tmp-du "22 MB">
Note:
See TracChangeset
for help on using the changeset viewer.