Changes between Initial Version and Version 1 of cross-chap5


Ignore:
Timestamp:
05/04/2020 09:06:28 AM (5 years ago)
Author:
thomas
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • cross-chap5

    v1 v1  
     1= Cross-Chapter 5
     2
     3This (temporary) page is meant to collect notes, ideas and even issues in regard to the new "Cross-Chapter 5" (CC5). This page might be used in the very early stage of developing the CC5 to avoid mixing issues into the "classic" ticket system which might be seen as kind of pollution. Later on, if CC5 goes live, this page should be deleted and resume normal operation as usual.
     4
     5== What is Cross-Chapter5
     6The modified build uses the cross compiler to cross compile packages
     7that need themselves to be rebuilt, thus insulating them automatically
     8from the host, without the need for a non standard directory layout.
     9Chroot is entered as soon as possible, and the remaining chapter 5
     10packages are built in chroot.
     11
     12  pros:: no /tools symlink, no need to tweak gcc sources, no need to build twice ld in binutils-pass2, no need to readjust the toolchain after chapter 6 glibc, no need to tweak the gcc specs, no need to reinstall kernel headers in chapter 6.
     13
     14  cons:: chroot is entered in the middle of chapter 5 (maybe chapter 5 should be split), the debug sections of several packages reference x86_64-lfs-linux-gnu instead of x86_64-pc-linux-gnu, binutils-pass2 needs "enable-shared".
     15
     16== ToDos
     17* Topic 1
     18* Topic 2
     19* ...
     20
     21== Notes
     22* Note 1
     23* Note 2
     24* ...
     25
     26== Discussion topics
     27
     28=== Book layout
     29Since
     30
     31== Issues
     32This is a collection issues which has been seen so far with CC5.
     33
     34=== Phenomenon on ArchLinux
     35
     36* Moody, 04.05.2020: While it has been reported (in IRC) that others have build CC5 successfully on Arch, here is what happens when compiling `glibc` in Chap6 after installing man-pages:
     37{{{
     38make  subdir=intl -C intl ..=../ subdir_lib
     39make[2]: Entering directory '/sources/glibc-2.31/intl'
     40.././scripts/mkinstalldirs /sources/glibc-2.31/build/intl
     41.././scripts/mkinstalldirs /sources/glibc-2.31/build/intl
     42mkdir -p -- /sources/glibc-2.31/build/intl
     43.././scripts/mkinstalldirs /sources/glibc-2.31/build/intl
     44mkdir -p -- /sources/glibc-2.31/build/intl
     45LC_ALL=C gawk '!/^"POT-Creation-Date: [0-9-]+ [0-9:+-]+\\n"$/' ../po/de.po > /sources/glibc-2.31/build/intl/tst-gettext-de.po
     46bison --yacc --name-prefix=__gettext --output /sources/glibc-2.31/build/intl/plural.c plural.y
     47echo '' > /sources/glibc-2.31/build/intl/stamp.oST
     48plural.y:46.1-7: warning: POSIX Yacc does not support %define [-Wyacc]
     49   46 | %define api.pure full
     50      | ^~~~~~~
     51plural.y:47.1-7: warning: POSIX Yacc does not support %expect [-Wyacc]
     52   47 | %expect 7
     53      | ^~~~~~~
     54mv -f /sources/glibc-2.31/build/intl/stamp.oST /sources/glibc-2.31/build/intl/stamp.oS
     55bison: m4 subprocess failed: No such file or directory
     56make[2]: *** [Makefile:46: /sources/glibc-2.31/build/intl/plural.c] Error 1
     57make[2]: *** Waiting for unfinished jobs....
     58make[2]: Leaving directory '/sources/glibc-2.31/intl'
     59make[1]: *** [Makefile:470: intl/subdir_lib] Error 2
     60make[1]: Leaving directory '/sources/glibc-2.31'
     61make: *** [Makefile:9: all] Error 2
     62}}}
     63
     64  Also, when in chroot, tar reports **tar: write error** just like this one discussed ten years ago:  https://www.mail-archive.com/lfs-support@linuxfromscratch.org/msg13073.html
     65
     66  This all does not happen when running the build on a LFS-SVN host.
     67
     68