Changeset 09f1daf for chapter06


Ignore:
Timestamp:
05/03/2006 02:37:49 AM (18 years ago)
Author:
Jeremy Huntwork <jhuntwork@…>
Branches:
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, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, 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
Children:
8abeb3b
Parents:
fffff97
Message:

Fixed sanity checks to work after final GCC and changed their format.
Resolves ticket #1768.

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

Location:
chapter06
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • chapter06/gcc.xml

    rfffff97 r09f1daf  
    113113<screen><userinput>ln -sv gcc /usr/bin/cc</userinput></screen>
    114114
    115     <note>
    116       <para>At this point, it is strongly recommended to repeat the sanity
    117       check performed earlier in this chapter. Refer back to <xref
    118       linkend="ch-system-readjusting" role=","/> and repeat the check. If
    119       the results are in error, then the most likely reason is that the GCC
    120       Specs patch from <xref linkend="chapter-temporary-tools"/> was
    121       erroneously applied here.</para>
    122     </note>
     115    <para>Now that our final toolchain is in place, it is important to again ensure
     116    that compiling and linking will work as expected. We do this by performing
     117    the same sanity checks as we did earlier in the chapter:</para>
     118
     119    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     120    href="readjusting.xml"
     121    xpointer="xpointer(//*[@os='a'])"/>
     122
     123    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     124    href="readjusting.xml"
     125    xpointer="xpointer(//*[@os='b'])"/>
     126
     127    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     128    href="readjusting.xml"
     129    xpointer="xpointer(//*[@os='c'])"/>
     130
     131    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     132    href="readjusting.xml"
     133    xpointer="xpointer(//*[@os='d'])"/>
     134
     135    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     136    href="readjusting.xml"
     137    xpointer="xpointer(//*[@os='e'])"/>
     138
     139    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     140    href="readjusting.xml"
     141    xpointer="xpointer(//*[@os='f'])"/>
     142
     143<screen><computeroutput>/usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/../../../crt1.o succeeded
     144/usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/../../../crti.o succeeded
     145/usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/../../../crtn.o succeeded</computeroutput></screen>
     146
     147    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     148    href="readjusting.xml"
     149    xpointer="xpointer(//*[@os='g'])"/>
     150
     151    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     152    href="readjusting.xml"
     153    xpointer="xpointer(//*[@os='h'])"/>
     154
     155    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     156    href="readjusting.xml"
     157    xpointer="xpointer(//*[@os='i'])"/>
     158
     159<screen><computeroutput>SEARCH_DIR("/usr/i686-pc-linux-gnu/lib")
     160SEARCH_DIR("/usr/local/lib")
     161SEARCH_DIR("/lib")
     162SEARCH_DIR("/usr/lib");</computeroutput></screen>
     163
     164    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     165    href="readjusting.xml"
     166    xpointer="xpointer(//*[@os='j'])"/>
     167
     168    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     169    href="readjusting.xml"
     170    xpointer="xpointer(//*[@os='k'])"/>
     171
     172    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     173    href="readjusting.xml"
     174    xpointer="xpointer(//*[@os='l'])"/>
     175
     176    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     177    href="readjusting.xml"
     178    xpointer="xpointer(//*[@os='m'])"/>
     179
     180    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     181    href="readjusting.xml"
     182    xpointer="xpointer(//*[@os='n'])"/>
     183
     184    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     185    href="readjusting.xml"
     186    xpointer="xpointer(//*[@os='o'])"/>
     187
     188    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     189    href="readjusting.xml"
     190    xpointer="xpointer(//*[@os='p'])"/>
     191
     192    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     193    href="readjusting.xml"
     194    xpointer="xpointer(//*[@os='q'])"/>
     195
     196    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     197    href="readjusting.xml"
     198    xpointer="xpointer(//*[@os='r'])"/>
     199
     200    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     201    href="readjusting.xml"
     202    xpointer="xpointer(//*[@os='s'])"/>
     203
     204    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     205    href="readjusting.xml"
     206    xpointer="xpointer(//*[@os='t'])"/>
    123207
    124208  </sect2>
  • chapter06/readjusting.xml

    rfffff97 r09f1daf  
    5353  </important>
    5454
    55   <caution>
    56     <para>It is imperative at this point to stop and ensure that the basic
    57     functions (compiling and linking) of the adjusted toolchain are working
    58     as expected. To do this, perform a sanity check:</para>
     55  <para>It is imperative at this point to ensure that the basic
     56  functions (compiling and linking) of the adjusted toolchain are working
     57  as expected. To do this, perform the following sanity checks:</para>
    5958
    60 <screen><userinput>echo 'main(){}' &gt; dummy.c
     59<screen role="nodump" os="a"><userinput>echo 'main(){}' &gt; dummy.c
    6160cc dummy.c -Wl,--verbose &amp;&gt; dummy.log
    6261readelf -l a.out | grep ': /lib'</userinput></screen>
    6362
    64     <para>If everything is working correctly, there should be no errors,
    65     and the output of the last command will be (allowing for
    66     platform-specific differences in dynamic linker name):</para>
     63  <para os="b">If everything is working correctly, there should be no errors,
     64  and the output of the last command will be (allowing for
     65  platform-specific differences in dynamic linker name):</para>
    6766
    68 <screen><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen>
     67<screen os="c"><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen>
    6968
    70     <para>Note that <filename class="directory">/lib</filename> is now
    71     the prefix of our dynamic linker.</para>
     69  <para>Note that <filename class="directory">/lib</filename> is now
     70  the prefix of our dynamic linker.</para>
    7271
    73     <para>Now make sure that we're setup to use the correct start files:</para>
     72  <para os="d">Now make sure that we're setup to use the correct startfiles:</para>
    7473
    75 <screen><userinput>grep "/usr/lib/crt.* " dummy.log</userinput></screen>
     74<screen role="nodump" os="e"><userinput>grep -o '/usr/lib.*/crt[1in].* .*' dummy.log</userinput></screen>
    7675
    77     <para>If everything is working correctly, there should be no errors,
     76  <para os="f">If everything is working correctly, there should be no errors,
    7877    and the output of the last command will be:</para>
    7978
    80 <screen><computeroutput>attempt to open /usr/lib/crt1.o succeeded
    81 attempt to open /usr/lib/crti.o succeeded
    82 attempt to open /usr/lib/crtn.o succeeded</computeroutput></screen>
     79<screen><computeroutput>/usr/lib/crt1.o succeeded
     80/usr/lib/crti.o succeeded
     81/usr/lib/crtn.o succeeded</computeroutput></screen>
    8382
    84     <para>Next make sure that we're using the correct libc:</para>
     83  <para os="g">Next, verify that the new linker is being used with the correct search paths:</para>
    8584
    86 <screen><userinput>grep "/lib/libc.so.6 " dummy.log</userinput></screen>
     85<screen role="nodump" os="h"><userinput>grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'</userinput></screen>
    8786
    88     <para>If everything is working correctly, there should be no errors,
    89     and the output of the last command will be:</para>
     87  <para os="i">If everything is working correctly, there should be no errors,
     88  and the output of the last command will be:</para>
    9089
    91 <screen><computeroutput>attempt to open /lib/libc.so.6 succeeded</computeroutput></screen>
     90<screen><computeroutput>SEARCH_DIR("/tools/i686-pc-linux-gnu/lib")
     91SEARCH_DIR("/usr/lib")
     92SEARCH_DIR("/lib");</computeroutput></screen>
    9293
    93     <para>Lastly, make sure GCC is using the correct dynamic linker:</para>
     94  <para os="j">Next make sure that we're using the correct libc:</para>
    9495
    95 <screen><userinput>grep found dummy.log</userinput></screen>
     96<screen role="nodump" os="k"><userinput>grep "/lib/libc.so.6 " dummy.log</userinput></screen>
    9697
    97     <para>If everything is working correctly, there should be no errors,
    98     and the output of the last command will be (allowing for
    99     platform-specific differences in dynamic linker name):</para>
     98  <para os="l">If everything is working correctly, there should be no errors,
     99  and the output of the last command will be:</para>
    100100
    101 <screen><computeroutput>found ld-linux.so.2 at /lib/ld-linux.so.2</computeroutput></screen>
     101<screen os="m"><computeroutput>attempt to open /lib/libc.so.6 succeeded</computeroutput></screen>
    102102
    103     <para>If the output does not appear as shown above or is not received
    104     at all, then something is seriously wrong. Investigate and retrace the
    105     steps to find out where the problem is and correct it. The most likely
    106     reason is that something went wrong with the specs file amendment
    107     above. Any issues will need to be resolved before continuing on with
    108     the process.</para>
     103  <para os="n">Lastly, make sure GCC is using the correct dynamic linker:</para>
    109104
    110     <para>Once everything is working correctly, clean up the test
    111     files:</para>
     105<screen role="nodump" os="o"><userinput>grep found dummy.log</userinput></screen>
    112106
    113 <screen><userinput>rm -v dummy.c a.out dummy.log</userinput></screen>
    114   </caution>
     107  <para os="p">If everything is working correctly, there should be no errors,
     108  and the output of the last command will be (allowing for
     109  platform-specific differences in dynamic linker name):</para>
     110
     111<screen os="q"><computeroutput>found ld-linux.so.2 at /lib/ld-linux.so.2</computeroutput></screen>
     112
     113  <para os="r">If the output does not appear as shown above or is not received
     114  at all, then something is seriously wrong. Investigate and retrace the
     115  steps to find out where the problem is and correct it. The most likely
     116  reason is that something went wrong with the specs file adjustment. Any
     117  issues will need to be resolved before continuing on with the process.</para>
     118
     119  <para os="s">Once everything is working correctly, clean up the test files:</para>
     120
     121<screen role="nodump" os="t"><userinput>rm -v dummy.c a.out dummy.log</userinput></screen>
    115122
    116123</sect1>
Note: See TracChangeset for help on using the changeset viewer.