Opened 6 years ago

Closed 6 years ago

#3849 closed defect (fixed)

LFS SVN-20151002 (after 7.8) Notes Building chapter 6

Reported by: Fernando de Oliveira Owned by: lfs-book@…
Priority: normal Milestone: 7.9
Component: Book Version: SVN
Severity: normal Keywords:
Cc:

Description (last modified by Fernando de Oliveira)

Reference:

http://lists.linuxfromscratch.org/pipermail/lfs-dev/2015-October/070516.html

To removed references to static libraries:

• gmp-6.0.0a
• mpfr-3.1.3
• mpc-1.0.3
• attr-2.4.47
and probably many others

To be added

• ncurses-6.0
libncurses++w.a
======================================================

Thu Oct  8 09:31:14 UTC 2015
LFS7.8 Notes Building chapter 6, starting with acl

======================================================
We don't install the static libraries:
• acl-2.2.52
• libcap-2.24
• readline-6.3
• gdbm-1.11
• expat-2.1.0
• gettext-0.19.6
• util-linu

Some other problems (mine or of the book).

• shadow-4.2.1
new programs:
1. newuidmap - set the uid mapping of a user namespace
2. newgidmap - set the gid mapping of a user namespace

• e2fsprogs-1.42.13
remove directory /usr/include/quota? (probabbly optional)

remove library
libquota.a? (probabbly optional)

both will exist if --enable-quota is used?

add program
mklost+found  - create a lost+found directory on a mounted Linux second
extended file system

I had removed all static libraries:
xz -v /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a    &&
mv -v /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a.xz \
      /usr/lib/famo-static-libs                         &&


• flex-2.5.39
I had removed static libraries in LFS-7.7 with --disable-static

• bison-3.0.4
Exactly the same statistics:


Approximate build time:
2.6 SBU
Required disk space:
36 MB

But tests take much longer:

real	4m53.309s
user	4m12.924s
sys	0m27.306s


which gives me 2.2 SBU just for tests

Replace in
"To test the results (about 0.5 SBU), issue"

s/0.5/2.2/

• readline-6.3
remove directory:
/usr/share/readline
remove references to static libraries

• libtool-2.4.6
I had removed static libraries in LFS-7.7 with --disable-static

• inetutils-1.9.4
add program
dnsdomainname - show the system's DNS domain name

remove programs:
rcp just for tests
rexec
rlogin
rsh


invert order:

ifconfig Manages network interfaces
hostname Reports or sets the name of the host 

to:

hostname Reports or sets the name of the host 
ifconfig Manages network interfaces


• perl-5.22.0

I have many differences here, maybe I missde installing some program?

There are no symlinks to programs.

hardlinked to each other:
c2ph and pstruct
perl and perl5.22.0
perlbug and perlthanks

add new programs:
encguess Guess the encoding type of one or several files

example:

# encguess -h (help)

# encguess ../tmp-porg/YAML-Tiny-test-BWBkLQtD \
           ../tmp-porg/YAML-Tiny-test-HzimSXAb \
           ../tmp-porg/perl-5.22.0-build-2015.10.10-10h39m59s
../tmp-porg/YAML-Tiny-test-BWBkLQtD	UTF-8
../tmp-porg/YAML-Tiny-test-HzimSXAb	UTF-8
../tmp-porg/perl-5.22.0-build-2015.10.10-10h39m59s	unknown


remove programs (from Installed programs and Short Descriptions):
a2p
cpan2dist
cpanp
cpanp-run-perl
find2perl
pod2latex
psed
s2p

Programs:
corelist, cpan, enc2xs, encguess, h2ph, h2xs, instmodsh, json_pp,
libnetcfg, perldoc, perlivp, piconv, pl2pm, pod2html, pod2man, pod2text,
pod2usage, podchecker, podselect, prove, ptar, ptardiff, ptargrep,
shasum, splain, xsubpp, and zipdetails; hardlinked to each other: c2ph
and pstruct, perl and perl5.22.0, and perlbug and perlthanks

Libraries are not hundreds, are only 55:
arybase.so, attributes.so, B.so, Base64.so, Byte.so, Bzip2.so, Call.so,
CN.so, Collate.so, Cwd.so, DosGlob.so, Dumper.so, EBCDIC.so, Encode.so,
encoding.so, FastCalc, Fcntl.so, FieldHash.so, GDBM_File.so, Glob.so,
HiRes.so, Hostname.so, IO.so, JP.so, KR.so, Langinfo.so, libperl.so,
MD5.so, mmap.so, mro.so, NamedCapture, NDBM_File.so, ODBM_File.so,
Opcode.so, Peek.so, Piece.so, POSIX.so, PPPort.so, re.so, scalar.so,
SDBM_File.so, SHA.so, shared.so, Socket.so, Storable.so, Symbol.so,
Syslog.so, SysV.so, threads.so, TW.so, Unicode.so, Util.so, Util.so,
via.so, and Zlib.so


• autoconf-2.69
"This takes a long time, about 4.7 SBUs." (Same measured here)

However:


"Approximate build time:
4.0 SBU"

It could be "less than 0.1 SBU (about 4.7 SBU with tests)" similar to
automake.

• automake-1.15
Programs (since LFS-7.7):
aclocal and aclocal-1.15 (hardlinked to each other), and automake and
automake-1.15 (hardlinked to each other).

Remove
compile, config.guess, config.sub, depcomp, install-sh, mdate-sh,
missing, mkinstalldirs, py-compile, and ylwrap from "Installed programs"
and "Short Descriptions"

• findutils-4.4.2
Installed programs: find, locate, oldfind, updatedb, and xargs

bigram	code  frcode: are under /usr/libexec/ and I was instructed not
to list. What is the correct procedure?

• gettext-0.19.6
Installed programs: autopoint, envsubst, gettext, gettext.sh,
gettextize, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen, msgexec,
msgfilter, msgfmt, msggrep, msginit, msgmerge, msgunfmt, msguniq,
ngettext, recode-sr-latin, and xgettext

config.charset config.rpath  hostname: are under /usr/{lib,share}/ and I
was instructed not to list. What is the correct procedure?

New command:

chmod -c 0755 /usr/lib/preloadable_libintl.so

• gperf-3.0.4

missing "Installed directory":
/usr/share/doc/gperf-3.0.4

• groff-1.22.3

remove programs (from Installed programs and Short Descriptions):
geqn
gtbl

add programs:
glilypond
gperl
gpinyin
gropdf
pdfmom

No hardlinks any longer.

Man pages descriptions:
glilypond transforms sheet music written in the lilypond language into
the groff(7) language using the .PSPIC request, such that groff(1) can
transform it into a format that can be displayed directly.

gperl This is a preprocesor for groff(1). It allows to add perl(7) code
into groff(7) files. The result of a Perl part can be stored in groff
strings or numerical registers based on the arguments at a final line of
a Perl part.

gpinyin This is a preprocesor for groff(1). It allows to add the Chinese
European-like language Pinyin into groff(7) files.

gropdf translates the output of GNU troff to PDF. Normally gropdf should
be invoked by using the groff command with a -Tpdf option. If no files
are given, gropdf reads the standard input. A filename of - also causes
gropdf to read the standard input. PDF output is written to the standard
output. When gropdf is run by groff options can be passed to gropdf
using groff's -P option.

pdfmom is a wrapper around groff that facilitates the production of PDF
documents from files formatted with the mom macros.

• grub-2.02~beta2
Directory not installed: /boot/grub
It is only installed when running grubinstall in  Section 8.4, “Using
GRUB to Set Up the Boot Process”

New programs:
grub-file
grub-glue-efi
grub-macbless
grub-render-label
grub-syslinux2cfg

Installed programs:
grub-bios-setup, grub-editenv, grub-file, grub-fstest, grub-glue-efi,
grub-install, grub-kbdcomp, grub-macbless, grub-menulst2cfg,
grub-mkconfig, grub-mkimage, grub-mklayout, grub-mknetdir,
grub-mkpasswd-pbkdf2, grub-mkrelpath, grub-mkrescue, grub-mkstandalone,
grub-ofpathname, grub-probe, grub-reboot, grub-render-label,
grub-script-check, grub-set-default, grub-sparc64-setup, and
grub-syslinux2cfg

Notice that "and" is missing, in book's list.

grub-file  Check if FILE is of specified type.

grub-glue-efi processes ia32 and amd64 EFI images and glues them
according to Apple format.

grub-macbless - bless a mac file/directory

grub-render-label - Render Apple .disk_label for Apple Macs.

grub-syslinux2cfg - transform syslinux config into grub.cfg

• gzip-1.6

gunzip and uncompress (hardlinked to each other).

• kbd-2.0.3
Mising directory:
/usr/share/doc/kbd-2.0.3

Missing program:
setvtrgb

setvtrgb sets the console color map in all virtual terminals according
to custom values specified in a file or standard input. With the `vga'
parameter, it can also be used to restore the settings built into the
kernel.

• tar-1.28
remove rmt: it is under /usr/libexec and I was instructed not to list.
What is the correct procedure?

I have one more skipp in the tests:

178: capabilities: binary store/restore              skipped (capabs_raw01.at:28)


• texinfo-6.0
remove program infokey.

• eudev-3.1.2
remove directory
/lib/firmware

add directory
/usr/share/doc/udev-20140408

• util-linux-2.27
I don't have /etc/terminal-colors.d

Directory
/usr/share/doc/util-linux-2.27/getopt
should be 
/usr/share/doc/util-linux-2.27

Directories I have listed:
/usr/include/blkid
/usr/include/libfdisk
/usr/include/libmount
/usr/include/libsmartcols
/usr/include/uuid
/usr/share/doc/util-linux-2.27
/var/lib/hwclock


New programs:
lsipc
mesg
nsenter
uname26

       lsipc  -  show  information on IPC facilities currently employed
       in the system
       lsipc shows information on the inter-process  communication
       facilities for which the calling process has read access.

       mesg - display (or do not display) messages from other users
       The  mesg  utility  is invoked by a user to control write access
       others have to the terminal device associated with standard error
       output.   If write access is allowed, then programs such as
       talk(1) and write(1) may display messages on the terminal.

       nsenter - run program with namespaces of other processes
       Enters  the namespaces of one or more other processes and then
       executes the specified program.

       setarch  -  change reported architecture in new program
       environment and set personality flags
       setarch currently only affects the output of uname -m.  For
       example, on an AMD64 system, running setarch i386 program will
       cause program to see i686 instead of x86_64 as the machine type.
       It also allows to set var‐ ious personality options.  The default
       program is /bin/sh.

Installed programs:
addpart, agetty, blkdiscard, blkid, blockdev, cal, cfdisk, chcpu, chrt,
col, colcrt, colrm, column, ctrlaltdel, delpart, dmesg, eject,
fallocate, fdformat, fdisk, findfs, findmnt, flock, fsck, fsck.cramfs,
fsck.minix, fsfreeze, fstrim, getopt, hexdump, hwclock, i386 (symlink to
setarch), ionice, ipcmk, ipcrm, ipcs, isosize, kill, last, lastb
(symlink to last), ldattach, linux32 (symlink to setarch), linux64
(symlink to setarch), logger, look, losetup, lsblk, lscpu, lsipc,
lslocks, lslogins, mcookie, mesg, mkfs, mkfs.bfs, mkfs.cramfs,
mkfs.minix, mkswap, more, mount, mountpoint, namei, nsenter, partx, pg,
pivot_root, prlimit, raw, readprofile, rename, renice, resizepart, rev,
rtcwake, script, scriptreplay, setarch, setsid, setterm, sfdisk,
sulogin, swaplabel, swapoff, swapon, switch_root, tailf, taskset, ul,
umount, uname26 (symlink to setarch), unshare, utmpdump, uuidd, uuidgen,
wall, wdctl, whereis, wipefs, x86_64 (symlink to setarch), and zramctl

Installed libraries:
remove static ones

• man-db-2.7.3
new directory:
/usr/lib/tmpfiles.d

remove installed program
zsoelim
It is under /usr/libexec and I was instructed not to list. What is the
correct procedure?

Change History (6)

comment:1 by Fernando de Oliveira, 6 years ago

Description: modified (diff)

Bruce, would you want me to include the new ones i find at the end of each day or when I finish?

comment:2 by bdubbs@…, 6 years ago

When you finish is fine.

comment:3 by Fernando de Oliveira, 6 years ago

Description: modified (diff)

Finally, finished chapter 6.

comment:4 by Fernando de Oliveira, 6 years ago

Summary: Minor fixes regarding static libraries (some missing, some to be removed)LFS7.8 Notes Building chapter 6
Type: taskdefect

comment:5 by Fernando de Oliveira, 6 years ago

Summary: LFS7.8 Notes Building chapter 6LFS SVN-20151002 (after 7.8) Notes Building chapter 6

comment:6 by bdubbs@…, 6 years ago

Resolution: fixed
Status: newclosed

Fixed at revision 10964.

That was certainly a lot of work. Thanks Fernando.

I was checking the changes as I went and implemented almost all of them. There were a few where I changed them. For libtool, I did not --disable static. The static library is removed in the Cleaning Up section of Chapter 6. In a couple of other places I slightly reworded some things. Otherwise I think all the changes are implemented.

Note: See TracTickets for help on using tickets.