Changeset 7a72a22


Ignore:
Timestamp:
11/13/2023 04:27:17 PM (8 months ago)
Author:
Xi Ruoyao <xry111@…>
Branches:
12.1, 12.1-rc1, multilib, trunk, xry111/arm64, xry111/clfs-ng, xry111/loongarch, xry111/loongarch-12.1, xry111/mips64el, xry111/update-glibc
Children:
798e18b
Parents:
1780e72 (diff), e07c419 (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.
Message:

Merge tag 'xry111/update-20231113' into trunk

There are some suspicious "nptl/tst-robust" test failures in Glibc, but
all other test results are clean. To be diagnosed...

And note that jhalfs needs an update to work with the merged parallelism
changes.

Files:
9 edited

Legend:

Unmodified
Added
Removed
  • chapter01/changelog.xml

    r1780e72 r7a72a22  
    4141    -->
    4242    <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>
    4381      <para>2023-11-01</para>
    4482      <itemizedlist>
  • chapter02/hostreqs.xml

    r1780e72 r7a72a22  
    5555    </listitem>
    5656
    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>
    5960    </listitem>
    6061
     
    219220}
    220221
    221 # Coreutils first because-sort needs Coreutils >= 7.0
    222 ver_check Coreutils      sort     7.0 || bail "--version-sort unsupported"
     222# Coreutils first because --version-sort needs Coreutils >= 7.0
     223ver_check Coreutils      sort     8.1 || bail "Coreutils too old, stop"
    223224ver_check Bash           bash     3.2
    224225ver_check Binutils       ld       2.13.1
     
    260261then echo "OK:    g++ works";
    261262else echo "ERROR: g++ does NOT work"; fi
    262 rm -f a.out</literal>
     263rm -f a.out
     264
     265if [ "$(nproc)" = "" ]; then
     266   echo "ERROR: nproc is not available or it produces empty output"
     267else
     268   echo "OK: nproc reports $(nproc) logical cores are available"
     269fi</literal>
    263270EOF
    264271
  • chapter04/aboutsbus.xml

    r1780e72 r7a72a22  
    3838
    3939  <note>
    40     <para>For many modern systems with multiple processors (or cores) the
    41     compilation time for a package can be reduced by performing a "parallel
    42     make" by either setting an environment variable or telling the
    43     <command>make</command> program how many processors are available.  For
    44     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 
    5240    <para>When multiple processors are used in this way, the SBU units in the
    5341    book will vary even more than they normally would.  In some cases, the make
  • chapter04/settingenviron.xml

    r1780e72 r7a72a22  
    196196  </important>
    197197
     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 &gt;&gt; ~/.bashrc &lt;&lt; "EOF"
     239<literal>export MAKEFLAGS=-j<replaceable>$(nproc)</replaceable></literal>
     240EOF</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
    198247  <para>Finally, to ensure the environment is fully prepared for building the
    199248  temporary tools, force the <command>bash</command> shell to read
  • chapter07/chroot.xml

    r1780e72 r7a72a22  
    2424    PS1='(lfs chroot) \u:\w\$ ' \
    2525    PATH=/usr/bin:/usr/sbin     \
     26    MAKEFLAGS="-j<replaceable>$(nproc)</replaceable>"      \
     27    TESTSUITEFLAGS="-j<replaceable>$(nproc)</replaceable>" \
    2628    /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>
    2740
    2841  <para>The <parameter>-i</parameter> option given to the <command>env</command>
  • chapter08/automake.xml

    r1780e72 r7a72a22  
    5454<screen><userinput remap="make">make</userinput></screen>
    5555
    56     <para> Using the -j4 make option speeds up the tests, even on systems with
    57     only one processor, due to internal delays in individual tests.  To test
     56    <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
    5858    the results, issue:</para>
    5959
    60 <screen><userinput remap="test">make -j4 check</userinput></screen>
     60<screen><userinput remap="test">make <replaceable>-j$(($(nproc)&gt;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>
    6164
    6265    <para>The test t/subobj.sh is known to fail.</para>
  • chapter08/openssl.xml

    r1780e72 r7a72a22  
    6464    <para>To test the results, issue:</para>
    6565
    66 <screen><userinput remap="test">make test</userinput></screen>
     66<screen><userinput remap="test">HARNESS_JOBS=<replaceable>$(nproc)</replaceable> make test</userinput></screen>
    6767
    6868    <para>One test, 30-test_afalg.t, is known to fail if the host kernel
  • chapter08/perl.xml

    r1780e72 r7a72a22  
    112112    <para>To test the results (approximately 11 SBU), issue:</para>
    113113
    114 <screen><userinput remap="test">make test</userinput></screen>
     114<screen><userinput remap="test">TEST_JOBS=$(nproc) make test_harness</userinput></screen>
    115115
    116116    <para>Install the package and clean up:</para>
  • packages.ent

    r1780e72 r7a72a22  
    4848<!ENTITY automake-fin-sbu "less than 0.1 SBU (about 7.0 SBU with tests)">
    4949
    50 <!ENTITY bash-version "5.2.15">
    51 <!ENTITY bash-size "10,695 KB">
     50<!ENTITY bash-version "5.2.21">
     51<!ENTITY bash-size "10,696 KB">
    5252<!ENTITY bash-url "&gnu;bash/bash-&bash-version;.tar.gz">
    53 <!ENTITY bash-md5 "4281bb43497f3905a308430a8d6a30a5">
     53<!ENTITY bash-md5 "ad5b38410e3bf0e9bcc20e2765f5e3f9">
    5454<!ENTITY bash-home "&gnu-software;bash/">
    5555<!ENTITY bash-tmp-du "67 MB">
     
    149149<!ENTITY e2fsprogs-fin-sbu "2.4 SBU on a spinning disk, 0.6 SBU on an SSD">
    150150
    151 <!ENTITY elfutils-version "0.189"> <!-- libelf -->
    152 <!ENTITY elfutils-size "8,936 KB">
     151<!ENTITY elfutils-version "0.190"> <!-- libelf -->
     152<!ENTITY elfutils-size "8,949 KB">
    153153<!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">
    155155<!ENTITY elfutils-home "https://sourceware.org/elfutils/">
    156156<!ENTITY elfutils-fin-du "122 MB">
     
    209209<!ENTITY flit-core-fin-sbu "less than 0.1 SBU">
    210210
    211 <!ENTITY gawk-version "5.2.2">
    212 <!ENTITY gawk-size "3,324 KB">
     211<!ENTITY gawk-version "5.3.0">
     212<!ENTITY gawk-size "3,356 KB">
    213213<!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz">
    214 <!ENTITY gawk-md5 "d63b4de2c722cbd9b8cc8e6f14d78a1e">
     214<!ENTITY gawk-md5 "97c5a7d83f91a7e1b2035ebbe6ac7abd">
    215215<!ENTITY gawk-home "&gnu-software;gawk/">
    216216<!ENTITY gawk-tmp-du "48 MB">
     
    318318<!ENTITY gzip-fin-sbu "0.3 SBU">
    319319
    320 <!ENTITY iana-etc-version "20231026">
    321 <!ENTITY iana-etc-size "588 KB">
     320<!ENTITY iana-etc-version "20231107">
     321<!ENTITY iana-etc-size "589 KB">
    322322<!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">
    324324<!ENTITY iana-etc-home "https://www.iana.org/protocols">
    325325<!ENTITY iana-etc-fin-du "4.8 MB">
     
    342342<!ENTITY intltool-fin-sbu "less than 0.1 SBU">
    343343
    344 <!ENTITY iproute2-version "6.5.0">
    345 <!ENTITY iproute2-size "908 KB">
     344<!ENTITY iproute2-version "6.6.0">
     345<!ENTITY iproute2-size "897 KB">
    346346<!ENTITY iproute2-url "&kernel;linux/utils/net/iproute2/iproute2-&iproute2-version;.tar.xz">
    347 <!ENTITY iproute2-md5 "ae811fc51b3a2c9c7701be308152c45a">
     347<!ENTITY iproute2-md5 "6716fc3188dbea226997fa2478a190d7">
    348348<!ENTITY iproute2-home "&kernel;linux/utils/net/iproute2/">
    349349<!ENTITY iproute2-fin-du "17 MB">
     
    431431
    432432<!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">
    435435<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
    436436<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
    437 <!ENTITY linux-size "135,718 KB">
     437<!ENTITY linux-size "136,730 KB">
    438438<!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
    439 <!ENTITY linux-md5 "9e187b3c0cd0e29d151a1bd72c66f78f">
     439<!ENTITY linux-md5 "90291279ca684fb8cfa59b2ae75b6fe0">
    440440<!ENTITY linux-home "https://www.kernel.org/">
    441441<!-- measured for 6.5.3 / gcc-13.2.0 on x86_64 with -j4 : minimum is
     
    736736<!ENTITY util-linux-fin-sbu "0.5 SBU">
    737737
    738 <!ENTITY vim-version "9.0.1968">
     738<!ENTITY vim-version "9.0.2103">
    739739<!-- <!ENTITY vim-majmin "90"> -->
    740740<!ENTITY vim-docdir "vim/vim90">
    741 <!ENTITY vim-size "16,909 KB">
     741<!ENTITY vim-size "11,193 KB">
    742742<!--<!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">
    745745<!ENTITY vim-home "https://www.vim.org">
    746746<!ENTITY vim-fin-du "229 MB">
     
    763763<!ENTITY xml-parser-fin-sbu "less than 0.1 SBU">
    764764
    765 <!ENTITY xz-version "5.4.4">
    766 <!ENTITY xz-size "1,623 KB">
     765<!ENTITY xz-version "5.4.5">
     766<!ENTITY xz-size "1,642 KB">
    767767<!ENTITY xz-url "https://tukaani.org/xz/xz-&xz-version;.tar.xz">
    768 <!ENTITY xz-md5 "d83d6f64a64f88759e312b8a38c3add6">
     768<!ENTITY xz-md5 "1d33e0be05c53e7a5641acf5c8b35fdd">
    769769<!ENTITY xz-home "https://tukaani.org/xz">
    770770<!ENTITY xz-tmp-du "22 MB">
Note: See TracChangeset for help on using the changeset viewer.