Opened 19 years ago

Last modified 19 years ago

#1598 closed enhancement

Document host system requirements — at Version 13

Reported by: alexander@… Owned by: lfs-book@…
Priority: lowest Milestone: 6.2
Component: Book Version: SVN
Severity: normal Keywords:
Cc:

Description (last modified by Jeremy Huntwork)

Right now, the book only says that a kernel >= 2.6.2 compiled with gcc >= 3.0 is required. That's certainly insufficient, the build will fail e.g. with sed < 4.0.

Please collect the required versions of host tools from READMEs of the Chapter 5 packages that depend on host tools.

Change History (13)

comment:1 by chris@…, 19 years ago

Here's what I have so far...

bash binutils >=2.13 bzip2 coreutils gcc >=3.0 glibc gzip make >=3.79.1 patch sed tar

Also a note should be added that users will have to install "dev" or "devel" versions of these packages if they are available on the host.

comment:2 by chris@…, 19 years ago

I've got a couple more...

gcc >=3.2 gawk >=3.0

binutils also suggests gzip 1.2.4, bzip 1.0.2 and tar 1.12, but I don't know if it's necessary to worry about these...AFAIK they aren't "required" to build any of the packages.

Also, if these host system requirements are going to be updated, perhaps each package's list of dependencies should also be looked at. The first thing I just noticed is that binutils pass1 says it "depends on" gettext, but "--disable-nls" is used. Unless of course it's because every program that it *can* it use is listed there (since LFS, unlike BLFS, doesn't separate dependencies into "Required", "Optional"...).

comment:3 by chris@…, 19 years ago

Some more additions...

The requirement of gcc >= 3.2 is mentioned in the glibc docs, but as patrakov reminded me in the the chat room, glibc is built *after* the first pass of the new gcc, so that just leaves gcc >= 3.0. Here's the list I have so far...

bash binutils >= 2.13 bzip2 coreutils diffutils findutils >= 4.1.20 gawk >= 3.0 gcc >= 3.0 glibc gzip make >= 3.79.1 patch perl sed >= 4.0 tar

comment:4 by chris@…, 19 years ago

One potential problem with this list...I don't know about the gcc >= 3.0 "requirement" - I simply noted that the book already mentions that a kernel compiled with gcc >= 3.0, and I assumed your version of gcc itself should also be >= 3.0. However, it's difficult to test since I can't even compile 2.95.3, and don't feel like installing SuSE just to check the older gcc included there. Can anyone who knows more than I do validate (or destroy, whichever the case may be) my assumption about the required gcc version?

comment:5 by Jeremy Huntwork, 19 years ago

(In reply to comment #4)

Can anyone who knows more than I do validate (or destroy, whichever the case may be) my assumption about the required gcc version?

When we first changed over to 2.6 kernels plus NPTL, a kernel compiled with 2.95 would produce a working system, however the glibc testsuites would invariably fail. I don't recall if other brokenness existed with the resultant system. I don't think the devs at that time were too concerned with finding out either. It was easier to just push the minimal requirement up. Since a 2.6 kernel was necessary to build the new LFS with NPTL, it didn't seem too stringent to also require that that kernel be built with gcc>=3.0.

comment:6 by Matthew Burgess, 19 years ago

Version: 6.1SVN

comment:7 by chris@…, 19 years ago

(In reply to comment #3)

Just went through the documentation again...here's the list again, with some corrections...

bash binutils >= 2.13 bzip2 >= 1.0.2 coreutils diffutils >= 2.7 findutils >= 4.1.20 gawk >= 3.0 gcc >= 3.0 glibc grep gzip >= 1.2.4 make >= 3.79.1 patch >= 2.5.4 perl 5 (though glibc says perl is only needed if running the testsuite, and gcc says it's just needed if modifying the source code) sed >= 4.0 tar >= 1.12

I know the book lists m4 as a dependency for binutils, but I don't see where it's using it. I renamed /usr/bin/m4 temporarily, and it built successfully, and the testsuite ran without a single failure. The only place I see m4 mentioned in the toolchain package docs is for gcc, and that's only listed as being needed if you're modifying the source code.

BTW does anyone know where to find any kind of documentation on binutils? The source tarball has virtually nothing as far as installation instructions and building prerequisites - just generic instructions (basically just "run ./configure --options && make && make install...").

comment:8 by chris@…, 19 years ago

(In reply to comment #6)

I know the book lists m4 as a dependency for binutils, but I don't see where it's using it. I renamed /usr/bin/m4 temporarily, and it built successfully, and the testsuite ran without a single failure. The only place I see m4 mentioned in the toolchain package docs is for gcc, and that's only listed as being needed if you're modifying the source code.

A little more...I've noticed that binutils is the only package in Chapter 5 that is listed as "depending on" m4. I also see that there are only 6 packages (besides binutils) that say they need m4 in Chapter 6 - autoconf, automake, bison, flex, kbd, and module-init-tools. So, if binutils turns out to not really need m4, m4 could be dropped from Chapter 5 entirely, as all of the other Chapter 6 packages that use m4 must be installed *after* m4 anyway. Of course it would be nice if someone with much more technical knowledge than I gave their input on this, since as I mentioned before, binutils installation documentation is a little hard to come by...

comment:9 by alexander@…, 19 years ago

Only HJL Binutils depend on m4. FSF binutils don't need m4, indeed.

AFAIK m4 was added to Chapter 5 only because of HJL binutils.

comment:10 by dbn.lists@…, 19 years ago

Two that always seems to bite people on lfs-support:

bison flex

-devel packages. Don't know about versions.

comment:11 by chris@…, 19 years ago

Yes, but those are only for the current stable book. They aren't needed for the development book.

comment:12 by chris@…, 19 years ago

Just started building a current LFS system with an LFS 3.3 installation (minor exception being findutils - I used 4.1.20 instead of 4.1 - couldn't find the patch for 4.1). Actually I did a very minimal build with *only* the packages I listed here (minus perl). Of course more testing is welcome to see if this actually results in the same final system as building from a current host, but it seems to me to be working so far (all toolchain tests have passed in Chapter 6 on the system I'm building). Here's another updated list of Host System Reqs., based on the versions used in LFS 3.3...

bash >= 2.05a binutils >= 2.12 bzip2 >= 1.0.2 coreutils >= 5.0 (or sh-utils >= 2.0, textutils >= 2.0, and fileutils >= 4.1) diffutils >= 2.7 findutils >= 4.1.20 gawk >= 3.0 gcc >= 2.95.3 glibc >= 2.2.5 grep >= 2.5 gzip >= 1.2.4 make >= 3.79.1 patch >= 2.5.4 sed >= 3.02 tar >= 1.12

comment:13 by Jeremy Huntwork, 19 years ago

Description: modified (diff)
Milestone: 6.2
Note: See TracTickets for help on using tickets.