Hi Xi.
Hi Michael, Paul and Ken.
Thank you all for your comments suggestions and tips.

Firstly, I have adjusted my Gmail. Please tell me if I am still
top-posting. It is a new term to me but I did find Gmail confusing.

Xi, I restarted from Chapter 6 with my saved /tools directory.

I also did  "Adjusting the Toolchain" after 6.16.

While running the 'make' step in  6.18.1 I noticed a number of warnings
similar to:

"In file included from mpfr-impl.h:108:0,
                 from beta.c:24:
mpfr.h:432:51: warning: ISO C does not support decimal floating point
[-Wpedantic]
 __MPFR_DECLSPEC int mpfr_set_decimal64 (mpfr_ptr, _Decimal64, mpfr_rnd_t);
                                                   ^~~~~~~~~~
mpfr.h:483:17: warning: ISO C does not support decimal floating point
[-Wpedantic]
 __MPFR_DECLSPEC _Decimal64 mpfr_get_decimal64 (mpfr_srcptr, mpfr_rnd_t);"



I assumed an error was coming.


However the make check passed 100%



I'm afraid I do not have a copy of yesterday's steps as I issued a stupid
command and closed the host down.
Sorry.


I do have a copy of today's bash history( :)) but of course that helps
no-one.

"   1  mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib/firmware,mnt,opt}
    2  mkdir -pv /{media/{floppy,cdrom},sbin,srv,var}
    3  install -dv -m 0750 /root
    4  install -dv -m 1777 /tmp /var/tmp
    5  mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}
    6  mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
    7  mkdir -v /usr/{,local/}share/{misc,terminfo,zoneinfo}
    8  mkdir -v /usr/libexec
    9  mkdir -pv /usr/{,local/}share/man/man{1..8}
   10  case $(uname -m) in x86_64) mkdir -v /lib64 ;; esac
   11  mkdir -v /var/{log,mail,spool}
   12  ln -sv /run /var/run
   13  ln -sv /run/lock /var/lock
   14  mkdir -pv /var/{opt,cache,lib/{color,misc,locate},local}
   15  ln -sv /tools/bin/{bash,cat,dd,echo,ln,pwd,rm,stty} /bin
   16  ln -sv /tools/bin/{install,perl} /usr/bin
   17  ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib
   18  ln -sv /tools/lib/libstdc++.{a,so{,.6}} /usr/lib
   19  ln -sv bash /bin/sh
   20  ln -sv /proc/self/mounts /etc/mtab
   21  cat > /etc/passwd << "EOF"
   22  root:x:0:0:root:/root:/bin/bash
   23  bin:x:1:1:bin:/dev/null:/bin/false
   24  daemon:x:6:6:Daemon User:/dev/null:/bin/false
   25  messagebus:x:18:18:D-Bus Message Daemon User:/var/run/dbus:/bin/false
   26  nobody:x:99:99:Unprivileged User:/dev/null:/bin/false
   27  EOF
   28  cat > /etc/group << "EOF"
   29  root:x:0:
   30  bin:x:1:daemon
   31  sys:x:2:
   32  kmem:x:3:
   33  tape:x:4:
   34  tty:x:5:
   35  daemon:x:6:
   36  floppy:x:7:
   37  disk:x:8:
   38  lp:x:9:
   39  dialout:x:10:
   40  audio:x:11:
   41  video:x:12:
   42  utmp:x:13:
   43  usb:x:14:
   44  cdrom:x:15:
   45  adm:x:16:
   46  messagebus:x:18:
   47  systemd-journal:x:23:
   48  input:x:24:
   49  mail:x:34:
   50  nogroup:x:99:
   51  users:x:999:
   52  EOF
   53  exec /tools/bin/bash --login +h
   54  touch /var/log/{btmp,lastlog,faillog,wtmp}
   55  chgrp -v utmp /var/log/lastlog
   56  chmod -v 664 /var/log/lastlog
   57  chmod -v 600 /var/log/btmp
   58  cd sources
   59  ls -d /linux*
   60  ls -ld linux*
   61  cd linux
   62  cd linux-4.15.3
   63  cd build
   64  make mrproper
   65  make INSTALL_HDR_PATH=dest headers_install
   66  find dest/include \( -name .install -o -name ..install.cmd \) -delete
   67  cp -rv dest/include/* /usr/include
   68  cd ..
   69  cd man-pages-4.15
   70  tar -xvf man-pages-4.15.tar.xz
   71  cd man-pages-4.15
   72  make install
   73  cd ..
   74  cd glibc-2.27
   75  ls -l
   76  patch -Np1 -i ../glibc-2.27-fhs-1.patch
   77  ln -sfv /tools/lib/gcc /usr/lib
   78  case $(uname -m) in i?86) GCC_INCDIR=/usr/lib/gcc/$(uname
-m)-pc-linux-gnu/7.3.0/include; ln -sfv ld-linux.so.2 /lib/ld-lsb.so.3; ;;
x86_64) GCC_INCDIR=/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include; ln -sfv
../lib/ld-linux-x86-64.so.2 /lib64; ln -sfv ../lib/ld-linux-x86-64.so.2
/lib64/ld-lsb-x86-64.so.3; ;; esac
   79  rm -f /usr/include/limits.h
   80  mkdir -v build
   81  cd build
   82  CC="gcc -isystem $GCC_INCDIR -isystem /usr/include" ../configure
--prefix=/usr --disable-werror --enable-kernel=3.2
--enable-stack-protector=strong libc_cv_slibdir=/lib
   83  unset GCC_INCDIR
   84  make
   85  make check
   86  touch /etc/ld.so.conf
   87  sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile
   88  make install
   89  cp -v ../nscd/nscd.conf /etc/nscd.conf
   90  mkdir -pv /var/cache/nscd
   91  mkdir -pv /usr/lib/locale
   92  localedef -i cs_CZ -f UTF-8 cs_CZ.UTF-8
   93  localedef -i de_DE -f ISO-8859-1 de_DE
   94  localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
   95  localedef -i de_DE -f UTF-8 de_DE.UTF-8
   96  localedef -i en_GB -f UTF-8 en_GB.UTF-8
   97  localedef -i en_HK -f ISO-8859-1 en_HK
   98  localedef -i en_PH -f ISO-8859-1 en_PH
   99  localedef -i en_US -f ISO-8859-1 en_US
  100  localedef -i en_US -f UTF-8 en_US.UTF-8
  101  localedef -i es_MX -f ISO-8859-1 es_MX
  102  localedef -i fa_IR -f UTF-8 fa_IR
  103  localedef -i fr_FR -f ISO-8859-1 fr_FR
  104  localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
  105  localedef -i fr_FR -f UTF-8 fr_FR.UTF-8
  106  localedef -i it_IT -f ISO-8859-1 it_IT
  107  localedef -i it_IT -f UTF-8 it_IT.UTF-8
  108  localedef -i ja_JP -f EUC-JP ja_JP
  109  localedef -i ru_RU -f KOI8-R ru_RU.KOI8-R
  110  localedef -i ru_RU -f UTF-8 ru_RU.UTF-8
  111  localedef -i tr_TR -f UTF-8 tr_TR.UTF-8
  112  localedef -i zh_CN -f GB18030 zh_CN.GB18030
  113  cat > /etc/nsswitch.conf << "EOF"
# Begin /etc/nsswitch.conf
passwd: files
group: files
shadow: files
hosts: files dns
networks: files
protocols: files
services: files
ethers: files
rpc: files
# End /etc/nsswitch.conf
EOF

  114  tar -xf ../../tzdata2018c.tar.gz
  115  ZONEINFO=/usr/share/zoneinfo
  116  mkdir -pv $ZONEINFO/{posix,right}
  117  for tz in etcetera southamerica northamerica europe africa
antarctica asia australasia backward pacificnew systemv; do zic -L
/dev/null -d $ZONEINFO -y "sh yearistype.sh" ${tz}; zic -L /dev/null -d
$ZONEINFO/posix -y "sh yearistype.sh" ${tz}; zic -L leapseconds -d
$ZONEINFO/right -y "sh yearistype.sh" ${tz}; done
  118  cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO
  119  zic -d $ZONEINFO -p Africa/Johannesburg
  120  unset ZONEINFO
  121  cp -v /usr/share/zoneinfo/Africa/Johannesburg /etc/localtime
  122  cat > /etc/ld.so.conf << "EOF"
# Begin /etc/ld.so.conf
/usr/local/lib
/opt/lib
EOF

  123  cat >> /etc/ld.so.conf << "EOF"
# Add an include directory
include /etc/ld.so.conf.d/*.conf
EOF

  124  mkdir -pv /etc/ld.so.conf.d
  125  cd ..
  126  cd ..
  127  mv -v /tools/bin/{ld,ld-old}
  128  mv -v /tools/$(uname -m)-pc-linux-gnu/bin/{ld,ld-old}
  129  mv -v /tools/bin/{ld-new,ld}
  130  ln -sv /tools/bin/ld /tools/$(uname -m)-pc-linux-gnu/bin/ld
  131  gcc -dumpspecs | sed -e 's@/tools@@g' -e
'/\*startfile_prefix_spec:/{n;s@.*@/usr/lib/ @}' -e '/\*cpp:/{n;s@$@
-isystem /usr/include@}' > `dirname $(gcc --print-libgcc-file-name)`/specs
  132  echo 'int main(){}' > dummy.c
  133  cc dummy.c -v -Wl,--verbose &> dummy.log
  134  readelf -l a.out | grep ': /lib'
  135  grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log
  136  grep -B1 '^ /usr/include' dummy.log
  137  grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'
  138  grep "/lib.*/libc.so.6 " dummy.log
  139  grep found dummy.log
  140  rm -v dummy.c a.out dummy.log
  141  ls -l zlib-1.2.11*
  142  tar -xvf zlib-1.2.11.tar.xz
  143  cd zlib-1.2.11
  144  ./configure --prefix=/usr
  145  make
  146  make check
  147  make install
  148  cd ..
  149  cd file-5.32
  150  ls -l
  151  cd ..
  152  rm -rf file-5.32
  153  tar -xvf file-5.32.tar.gz
  154  cd file-5.32
  155  ./configure --prefix=/usr
  156  make
  157  make check
  158  make install
  159  cd ..
  160  cd readline-7.0
  161  tar -xvf readline-7.0.tar.gz
  162  cd readline-7.0
  163  sed -i '/MV.*old/d' Makefile.in
  164  sed -i '/{OLDSUFF}/c:' support/shlib-install
  165  ./configure --prefix=/usr --disable-static
--docdir=/usr/share/doc/readline-7.0
  166  make SHLIB_LIBS="-L/tools/lib -lncursesw"
  167  make SHLIB_LIBS="-L/tools/lib -lncurses" install
  168  mv -v /usr/lib/lib{readline,history}.so.* /lib
  169  ln -sfv ../../lib/$(readlink /usr/lib/libreadline.so)
/usr/lib/libreadline.so
  170  ln -sfv ../../lib/$(readlink /usr/lib/libhistory.so )
/usr/lib/libhistory.so
  171  install -v -m644 doc/*.{ps,pdf,html,dvi} /usr/share/doc/readline-7.0
  172  cd ..
  173  rm -rf m4-1.4.18
  174  tar -xvf m4-1.4.18.tar.xz
  175  cd m4-1.4.18
  176  ./configure --prefix=/usr
  177  make
  178  make check
  179  make install
  180  cd ..
  181  cd bc-1.07.1
  182  tar -xvf bc-1.07.1.tar.gz
  183  cd bc-1.07.1
  184  cat > bc/fix-libmath_h << "EOF"
#! /bin/bash
sed -e '1 s/^/{"/' \
-e 's/$/",/' \
-e '2,$ s/^/"/' \
-e '$ d' \
-i libmath.h
sed -e '$ s/$/0}/' \
-i libmath.h
EOF

  185  ln -sv /tools/lib/libncursesw.so.6 /usr/lib/libncursesw.so.6
  186  ln -sfv libncurses.so.6 /usr/lib/libncurses.so
  187  sed -i -e '/flex/s/as_fn_error/: ;; # &/' configure
  188  ./configure --prefix=/usr --with-readline --mandir=/usr/share/man
--infodir=/usr/share/info
  189  make
  190  echo "quit" | ./bc/bc -l Test/checklib.b
  191  make install
  192  cd ..
  193  rm -rf binutils-2.30
  194  tar -xvf binutils-2.30.tar.xz
  195  cd binutils-2.30
  196  expect -c "spawn ls"
  197  mkdir -v build
  198  cd build
  199  ../configure --prefix=/usr --enable-gold --enable-ld=default
--enable-plugins --enable-shared --disable-werror --enable-64-bit-bfd
--with-system-zlib
  200  make tooldir=/usr
  201  make -k check
  202  make tooldir=/usr install
  203  mv -v /tools/bin/{ld,ld-old}
  204  mv -v /tools/$(uname -m)-pc-linux-gnu/bin/{ld,ld-old}
  205  mv -v /tools/bin/{ld-new,ld}
  206  ln -sv /tools/bin/ld /tools/$(uname -m)-pc-linux-gnu/bin/ld
  207  gcc -dumpspecs | sed -e 's@/tools@@g' -e
'/\*startfile_prefix_spec:/{n;s@.*@/usr/lib/ @}' -e '/\*cpp:/{n;s@$@
-isystem /usr/include@}' > `dirname $(gcc --print-libgcc-file-name)`/specs
  208  echo 'int main(){}' > dummy.c
  209  cc dummy.c -v -Wl,--verbose &> dummy.log
  210  readelf -l a.out | grep ': /lib'
  211  cd ..
  212  cd ..
  213  grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log
  214  grep -B1 '^ /usr/include' dummy.log
  215  grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'
  216  grep "/lib.*/libc.so.6 " dummy.log
  217  grep found dummy.log
  218  rm -v dummy.c a.out dummy.log
  219  ls -l gmp*
  220  tar -xvf gmp-6.1.2.tar.xz
  221  cd gmp-6.1.2
  222  ./configure --prefix=/usr --enable-cxx --disable-static
--docdir=/usr/share/doc/gmp-6.1.2
  223  make
  224  make html
  225  make check 2>&1 | tee gmp-check-log
  226  awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log
  227  make install
  228  make install-html
  229  cd ..
  230  ls -l mpfr*
  231  tar -xvf mpfr-4.0.1.tar.xz
  232  cd mp
  233  cd mpfr-4.0.1
  234  ./configure --prefix=/usr --disable-static --enable-thread-safe
--docdir=/usr/share/doc/mpfr-4.0.1
  235  make
  236  make html
  237  cd ..
  238   history >/duff-hist

Thank you Ken especially for the 'history >/duff-hist' tip. Hope I remember
that.

Thanks everyone once again.
I am proceeding.

John.



On Tue, 7 Aug 2018 at 02:08, Xi Ruoyao <[email protected]> wrote:

> On 2018-08-06 15:11 -0400, Michael Shell wrote:
> > On Mon, 06 Aug 2018 19:52:52 +0800
> > Xi Ruoyao <[email protected]> wrote:
> >
> > > No.  /tools/lib/libquadmath.so.* is useless now.  After "6.10
> > > Adjusting the Toolchain" the default dynamic linker should have
> > > been changed to /lib64/ld-linux-x86-64.so.2 instead of
> > > /tools/lib64/ld-linux-x86-64.so.2.  Then it should search /usr/lib,
> > > not /tools/lib.
> > >
> > > MPFR configure script add "-lquadmath" if
> >
> >
> >    Xi,
> >
> > Good catch! But, I think what threw me (and Hazel) off is why does
> > the MPFR build process attempt to link against libquadmath in the
> > first place? After all, as you said, libquadmath won't be available
> > (in /usr/lib) until after gcc is (re)installed in step 6.20.1
> >
> > So, MPFR's configure detects libquadmath (in /tools/lib) and then
> > links its tests against libquadmath, but those tests later fail
> > because the dynamic linker is set to link from what is in /usr/lib?
>
> I made a mistake descripting what MPFR configure was doing.  Should be:
>
>     echo "int main(){}" > conftest.c &&
>     cc conftest.c -lquadmath
>
> And do *not* run the compiled test program.  So it don't know the program
> can't be executed.
>
> The problem is, GCC default dynamic linker has been changed to
> /lib64/ld-linux-x86-64.so.2 built in 6.9, but the linker (`ld`, not
> `ld.so`) still searches /tools/lib.  It's a mismatch of linker and
> dynamic linker.  So, libquadmath can be searched by linker, but not
> by dynamic linker.
>
> > In short, does the presence or absence of libquadmath affect the actual
> > libmpfr.so or just its test executables - that without libquadmath the
> > tests would not be linked against it and yet they still work fine?
> > Does it affect, say, the number of tests that are done? Depending
> > on the answer here, there may be a case for reinstalling MPFR again
> > after gcc.
>
> I just tried to build MPFR on a completed LFS.  The tests linked to
> libquadmath, but libmpfr.so itself did not.
>
> Oh no, I think there is another problem.  In 6.16 the final Binutils
> should have been built.  So the final `ld` should have replaced the
> linker used in "Adjusting the Toolchain".
>
> Suggestion to John:
>
> Remove /tools and extract your backup.  Then restart Chapter 6.  Make
> sure to do all checks in "Adjusting the Toolchain".  And, do them again
> after "6.16 Binutils".
>
> Ken's debugging way (using .bash_histroy") may be useful.  You can
> attach it here and we will play a "Spot The Differences" game :)
> --
> Xi Ruoyao <[email protected]>
> School of Aerospace Science and Technology, Xidian University
>
> --
> http://lists.linuxfromscratch.org/listinfo/lfs-support
> FAQ: http://www.linuxfromscratch.org/blfs/faq.html
> Unsubscribe: See the above information page
>
> Do not top post on this list.
>
> A: Because it messes up the order in which people normally read text.
> Q: Why is top-posting such a bad thing?
> A: Top-posting.
> Q: What is the most annoying thing in e-mail?
>
> http://en.wikipedia.org/wiki/Posting_style
>


-- 
Kind regards,

John Le Brasseur
-- 
http://lists.linuxfromscratch.org/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Do not top post on this list.

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

http://en.wikipedia.org/wiki/Posting_style

Reply via email to