Commit Graph

8422 Commits

Author SHA1 Message Date
Thomas Trepl (Moody)
46c837ba7f Add missing LLVM files (clang,compiler) and patch (dftssp) 2022-10-11 14:36:12 +02:00
Thomas Trepl (Moody)
d7c5e6cb66 Merge branch 'xry111/rust-wip-20221008' of git.linuxfromscratch.org:lfs into xry111/rust-wip-20221008 2022-10-11 14:08:40 +02:00
Xi Ruoyao
4621dcbd90
rust: temporary rustc: export LD_LIBRARY_PATH for LLVM Pass 1
Rustc Pass 1 links to LLVM Pass 1, but the building system does not set
rpath for LLVM shared library (even if rpath = true is used). Explicitly
tell the host dynamic linker to search $LFS/tools/lib so LLVM Pass 1 can
be found.

Thanks Moody for report.
2022-10-11 19:39:08 +08:00
Xi Ruoyao
44cb325aa2
rust: add missing entities for llvm-cmake
Note - Clang and compiler-rt are not added into Chapter 3 yet.

Also put llvm-cmake after llvm.
2022-10-11 17:43:27 +08:00
Thomas Trepl (Moody)
32f686fa8d Automatic merge of trunk into multilib 2022-10-11 00:30:07 +02:00
Thomas Trepl (Moody)
169add1989 Add new packages (cmake,llvm,rustc) to chapter 3 2022-10-10 21:57:35 +02:00
Xi Ruoyao
2020a0a180
chapter08: add rust-bindgen 2022-10-10 18:53:47 +08:00
Xi Ruoyao
f11dfd84f0
rust: chapter08: add Rustc 2022-10-10 18:36:19 +08:00
Pierre Labastie
8b539af84d First attempt at clarifying "Important Preliminary Material" 2022-10-09 18:46:28 +02:00
Bruce Dubbs
312d536a35 Fix systemd currency 2022-10-09 10:55:14 -05:00
Xi Ruoyao
cc3fe5dbdb
rust: chapter08: add llvm 2022-10-09 20:23:00 +08:00
Xi Ruoyao
d8c9fff35e
rust: chapter08: move ninja and libffi earlier
For building LLVM.
2022-10-09 20:23:00 +08:00
Xi Ruoyao
17c3817502
rust: chapter08: add cmake 2022-10-09 20:23:00 +08:00
Xi Ruoyao
d8888f7497
rust: glibc: add Rustc library search path 2022-10-09 20:23:00 +08:00
Xi Ruoyao
50e90ce908
rust: chroot: include /opt/rustc/bin into $PATH 2022-10-09 20:09:35 +08:00
Xi Ruoyao
3ed3ce652f
rust: chapter06: add Rustc 2022-10-09 20:01:25 +08:00
Xi Ruoyao
dfa490c495
rust: chapter04: create /opt and chown it to lfs user 2022-10-09 20:01:25 +08:00
Xi Ruoyao
f6459cb171
rust: chapter06: add openssl 2022-10-09 19:52:19 +08:00
Xi Ruoyao
0fa356f489
rust: chapter06: add LLVM Pass 2 2022-10-09 14:06:42 +08:00
Xi Ruoyao
d3daea34d6
rust: chapter05: add LLVM pass 1 2022-10-09 13:36:18 +08:00
Xi Ruoyao
3f6167ca9b
rust: chapter05: add cmake as host tools
We'll need it to build LLVM pass 1 and 2 later.
2022-10-09 13:36:17 +08:00
Xi Ruoyao
28ae5f031c
rust: gcc-pass2: allow gcc-pass1 to use pass2 libgcc and c++ header
It's a preparation for cross compiling LLVM.
2022-10-09 13:36:17 +08:00
Xi Ruoyao
68588615e6
temp bash: fix "support/config.guess: Permission denied"
In bash-5.2 tarball config.guess is not executable, so we need to run
the script with an explicit "sh".
2022-10-09 13:35:48 +08:00
Bruce Dubbs
b6d3512cc5 Typo 2022-10-06 10:07:36 -05:00
Pierre Labastie
793f9087f1 Fix sanity check in chapter 5
When I changed the sanity check to remove the "dummy.c" file, I
inadvertently used "gcc" instead of "$LFS_TGT-gcc". Which of course
finds the host gcc...
2022-10-06 09:07:42 +02:00
Xi Ruoyao
ceb61b9e38
binutils: add a command to list failed tests 2022-10-05 18:32:56 +08:00
Douglas R. Reno
8921ba4bae Emergency kernel update
Update to Linux-5.19.13

If you are using a laptop with an Intel GPU, it's imperative that you
update immediately if you are running Linux-5.19.12. Failure to upgrade
may result in permanent damage to the LCD display on your laptop.

The root cause of this is improper backporting of bugfixes for the i915
DRM driver in the kernel.
2022-10-04 22:09:33 -05:00
Xi Ruoyao
3bac16dcd4
glibc: update total test count
I have:

      2 FAIL
   5092 PASS
     67 UNSUPPORTED
     16 XFAIL
      4 XPASS

Let's not be too precise (or we'll need to explain the meaning of
"UNSUPPORTED").  IMO "over 5000" is fine (until we get 5500 tests).
2022-10-03 18:06:09 +08:00
Xi Ruoyao
de154344b8
binutils: don't wrap "gold" in <command>
"gold" is not an installed program (it's named "ld.gold").  So IMO it's
not proper to use <command>.
2022-10-03 18:06:09 +08:00
Xi Ruoyao
154a69586f
binutils: gas tests fail because race condition
Again, I sincerely wish libtool can suffer a painful death.
2022-10-03 18:06:09 +08:00
Xi Ruoyao
6582ddc527
pkgmgt: fix two typos 2022-10-02 21:02:16 +08:00
Xi Ruoyao
9b2dedc676
package: add optional instruction to change the owner of downloaded packages to root
Many users will create a user with the same username and UID so the
files will still be owned by his/her.  So make it optional by "If you
won't assign the same UID for your user in the LFS system".
2022-10-02 19:11:57 +08:00
Xi Ruoyao
bde421e48d
reboot: fix /dev/shm unmounting command
/dev/shm may be a mount point, or a symlink.
2022-10-02 16:12:26 +08:00
Pierre Labastie
8e0c191b9b umount /dev/shm before rebooting
Now that /dev/shm is always a mountpoint, it needs to be umounted
otherwise dev cannot be umounted.
2022-10-02 09:52:59 +02:00
Pierre Labastie
b3daf01578 Typos reported by "rhubarbpieguy" 2022-10-02 09:49:12 +02:00
David Bryant
4349661a7f Corrected grammatical errors and cleaned up English idiom. 2022-10-01 17:03:20 -05:00
Xi Ruoyao
2bf32ffa3a
kernfs: "device nodes" are in /dev, not "devices"
You cannot throw a NVIDIA GTX 690 into /dev :).
2022-10-01 15:27:19 +08:00
Xi Ruoyao
00588180ee
kernfs: modernize the explanation for bind mounting /dev
If you are using a "modern" distro (with devtmpfs and a modern udev
implementation), a bind mounting is actually not needed because you can
mount devtmpfs anyway.  The only reason for bind mounting is to be
compatible with old host distros where /dev is a directory containing
many static device nodes, or is a tmpfs (not same as devtmpfs) popluated
by bootscript or an old udev (modern udev implementations, including
eudev and systemd-udev used by LFS, strictly requires a devtmpfs on
/dev).

So update the explanation to match the status quo.
2022-10-01 15:14:22 +08:00
Xi Ruoyao
a8f3814a7b
kernfs: technically, they are not needed for chroot
Chroot command itself does not require kernel VFS mounted. You can mount
/proc, /sys, and /run after entering chroot with
"mount -v -t proc proc /proc" etc.  For /dev, if the host kernel
supports devtmpfs, you can also mount /dev in chroot with
"mount -v -t devtmpfs devtmpfs /dev".  Even if the host does not support
devtmpfs, it's still possible to mount /proc in chroot, then use
"mount --bind /proc/1/dev /dev".

It's just LFS editors decide to mount them before chroot.  So reword
some untrue assertions.
2022-10-01 13:35:59 +08:00
David Bryant
36cb08fbf0 Tweaked English idiom and edited for style. 2022-09-30 15:49:41 -05:00
David Bryant
29526d35ef Made grammatical corrections and stylistic changes to chapter 7.3.
Added clarification; the virtual file systems expose certain information
to programs in user space; chroot won't work without them.
2022-09-30 12:27:55 -05:00
David Bryant
52ddd6c033 Clarify some things in Intro to chroot; simplify some verbiage. 2022-09-30 11:24:14 -05:00
Bruce Dubbs
d11d449565 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2022-09-30 11:12:01 -05:00
Xi Ruoyao
543c94cb9c
libstdc++ "stage 3" is not rebuilt for the same reason as "stage 2"
I'm pretty sure "stage 2" libstdc++ (installed in ch6) is already fully
featured.  The reason to rebuild the stage 3 libstdc++ (or entire
stage 3 gcc) is same as the reason to rebuild every packages in multiple
chapters: to "settle down" it.

Merge the content of
https://www.linuxfromscratch.org/lfs/faq.html#rebuild-ch8 into the book
as an explanation.
2022-09-30 17:10:06 +08:00
Xi Ruoyao
77b46db0a8
toolchaintechnotes: highlight why the example (ubuntu vs android) needs "os" field 2022-09-30 16:24:55 +08:00
Xi Ruoyao
e18ba697eb
toolchain technical note: rewrite the descrption for triplet
- Don't say "most building system", refine the dicussion for autoconf.
  Other building systems may use a variant of triplet, or use a
  completely different system designation.
- Explain why a triplet may contain 4 fields in detail. "Histroical
  reason" is not really correct because 3-field triplet is still used
  today for BSD, Fuchsia, IOS, Mac OS X (darwin), Solaris, etc.
- "machine" triplet to "system" triplet (strictly speaking, only the
  first field in the triplet is for the machine).

Why we need to say "vendor can be omitted" explicitly: we mention "gcc
-dumpmachine".  On some distros (like Ubuntu) the output has no vendor
field.  If you think this is too nasty, please remove both.
2022-09-30 10:43:19 +08:00
Bruce Dubbs
488b43aaeb New packages and an xml fix.
Update to bc-6.0.4.
Update to linux-5.19.12.
Fix an xml error.
2022-09-29 20:44:01 -05:00
Bruce Dubbs
79789000a8 Package updates.
Update to iana-etc-20220922.
Update to tzdata-2022d.
Update to readline-8.2.
Update to linux-5.19.11.
Update to libffi-3.4.3.
Update to libcap-2.66.
Update to dbus-1.14.2.
Update to bc-6.0.3.
Update to bash-5.2.
2022-09-29 18:32:56 -05:00
David Bryant
cc0e77d267 Fix English idiom / clarify "General Instructions" section. 2022-09-29 16:30:17 -05:00
Pierre Labastie
eb30b32333 Revert "Update libreadline soversion (used in stripping)"
This reverts commit 0665add6d8.

new version of bash is not yet in the book!
2022-09-29 21:32:29 +02:00