Dear Ken,

Thanks for your time and reply.

I tried this in Ubuntu VM. Please find details below on Ubuntu VM
 uname -a Linux ubuntu 4.15.0-112-generic #113~16.04.1-Ubuntu SMP Fri Jul
10 04:37:08

UTC 2020 x86_64 x86_64 x86

Ubuntu GLIBC 2.23-0 and  gcc  5.4.0 20160609

I would like to create build scripts for a UTM appliance ISO that works in
Intel x86_64 arch something like pfsense, Smoothwall that includes Squid,
Firewall, IPS etc  I try to modify Smoothwall scripts that were written
long back based on LFS way of doing things. I am able to follow many things
in the process by reading LFS, various posts, and a number of my own
mistakes in the process.

As you suggested for the recent version, I will try systemd version of 8.4.
or 9.1.

Please advise me if I could try 8.4 first or I can go directly into 9.1 for
my requirements.

Thanks,
B.Vijayakumar Athithan





On Fri, Aug 7, 2020 at 11:33 PM Ken Moffat via lfs-dev <
lfs-dev@lists.linuxfromscratch.org> wrote:

> On Fri, Aug 07, 2020 at 09:39:14PM +0530, Vijayakumar Athithan via lfs-dev
> wrote:
> > I have been working on resolving issues in build scripts that were built
> > based on LFS a few years
> >
>
> LFS has changed a LOT over the years, and for the next release
> (10.0) it will change even more (see current version of the svn
> book).  7.10 was a long while ago, I think those of us who were
> around at that time have forgotten many of the details.
>
> Some comments in line -
>
> > back. I tried over the last week and tried multiple versions and
> solutions
> > from different sites.
> >
> > Learned a lot as I put more effort. I need your help as I couldn't get
> the
> > reason behind the issue.
> >
> > Based on LFS, pass 1 completed and dummy.c file execution was a success.
> > Then I get the error in
> >
> > binutils in pass 2.
> >
> >
> http://www.linuxfromscratch.org/lfs/view/7.10-systemd/chapter05/binutils-pass2.html
> > GCC 6.2.0 binutils
> >
> > 2.27 glibc 2.24
> >
> > train@ubuntu:~$ uname -a Linux ubuntu 4.15.0-112-generic
> > #113~16.04.1-Ubuntu SMP Fri Jul 10 04:37:08
> >
> > UTC 2020 x86_64 x86_64 x86_64 GNU/Linux train@ubuntu:~$ gcc --version
> gcc
> > (Ubuntu 5.4.0-
> >
> > 6ubuntu1~16.04.12) 5.4.0 20160609 train@ubuntu:~$ ldd --version ldd
> (Ubuntu
> > GLIBC 2.23-0ubuntu11.2)
> >
> > 2.23
> >
>
> Usually, building such an old version of LFS cannot be recommended
> because of the many vulnerabilities which have been fixed in newer
> versions.
>
> In particular, trying to build LFS with never versions of binutils,
> gcc, or glibc might give problems.  You will usually be able to build
> the previous minor version of those packages, but going back any
> further is uncertain.
>
> > train@ubuntu:~$ gcc dummy.c train@ubuntu:~$ readelf -l a.out | grep
> linux
> > [Requesting program
> >
> > interpreter: /lib64/ld-linux-x86-64.so.2] train@ubuntu:~$
> > /tools/bin/x86_64-tc-linux-gnu-gcc dummy.c
> >
> > train@ubuntu:~$ readelf -l a.out | grep linux [Requesting program
> > interpreter: /tools/lib64/ld-linux-
> >
> > x86-64.so.2]
> >
> > cd binutils-2.27-compile; CXXFLAGS="-O2 -m64 -fPIC" CFLAGS="-O2 -m64
> -fPIC"
> > CC=x86_64-tc-linux-gnu-gcc
> >
>
> I've assumed your x86_64-tc-linux=gnu-gcc is your cross-compiler
> from pass 1.  The FLAGS look ok (you have omitted -g, like I do, and
> forced 64-bit with -m64 and -fPIC).
> > AR=x86_64-tc-linux-gnu-ar RANLIB=x86_64-tc-linux-gnu-ranlib
> > ../binutils-2.27/configure --prefix=/tools
> >
> >  ******* Contents from config log **************
> > configure:2297: checking build system type
> > configure:2311: result: x86_64-pc-linux-gnu
> > configure:2358: checking host system type
> > configure:2371: result: x86_64-pc-linux-gnu
> > configure:2391: checking target system type
> > configure:2404: result: x86_64-pc-linux-gnu
> > configure:2458: checking for a BSD-compatible install
> > configure:2526: result: /usr/bin//install -c
> > configure:2537: checking whether ln works
> > configure:2559: result: yes
> > configure:2563: checking whether ln -s works
> > configure:2567: result: yes
> > configure:2574: checking for a sed that does not truncate output
> > configure:2638: result: /bin/sed
> > configure:2647: checking for gawk
> > configure:2663: found /usr/bin//gawk
> > configure:2674: result: gawk
> > configure:4121: checking for gcc
> > configure:4148: result: x86_64-tc-linux-gnu-gcc
> > configure:4377: checking for C compiler version
> > configure:4386: x86_64-tc-linux-gnu-gcc --version >&5
> > x86_64-tc-linux-gnu-gcc (GCC) 6.2.0
> > Copyright (C) 2016 Free Software Foundation, Inc.
> > This is free software; see the source for copying conditions.  There is
> NO
> > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
> PURPOSE.
> >
> > configure:4397: $? = 0
> > configure:4386: x86_64-tc-linux-gnu-gcc -v >&5
> > Using built-in specs.
> > COLLECT_GCC=x86_64-tc-linux-gnu-gcc
> >
> COLLECT_LTO_WRAPPER=/home/train/swe/distrib/tools/bin/../libexec/gcc/x86_64-tc-linux-gnu/6.2.0/lto-
> >
> > wrapper
> > Target: x86_64-tc-linux-gnu
> > Configured with: ../gcc-6.2.0/configure --prefix=/tools
> > --target=x86_64-tc-linux-gnu --prefix=/tools
> >
> > --with-sysroot=/home/train/swe/distrib --with-newlib --without-headers
> > --with-local-prefix=/tools --
> >
> > with-native-system-header-dir=/tools/include --disable-nls
> --disable-shared
> > --disable-multilib --
> >
> > disable-decimal-float --disable-threads --disable-libmudflap
> > --disable-libssp --disable-libatomic --
> >
> > disable-libstdcxx --disable-libmpx --disable-libgomp --disable-libvtv
> > --disable-libquadmath --enable-
> >
> > languages=c,c++
> > Thread model: single
> > gcc version 6.2.0 (GCC)
> > configure:4397: $? = 0
> > configure:4386: x86_64-tc-linux-gnu-gcc -V >&5
> > x86_64-tc-linux-gnu-gcc: error: unrecognized command line option '-V'
> > x86_64-tc-linux-gnu-gcc: fatal error: no input files
> > compilation terminated.
> > configure:4397: $? = 1
> > configure:4386: x86_64-tc-linux-gnu-gcc -qversion >&5
> > x86_64-tc-linux-gnu-gcc: error: unrecognized command line option
> > '-qversion'; did you mean '--
> >
> > version'?
> > x86_64-tc-linux-gnu-gcc: fatal error: no input files
> > compilation terminated.
> > configure:4397: $? = 1
> > configure:4417: checking for C compiler default output file name
> > configure:4439: x86_64-tc-linux-gnu-gcc -O2 -m64 -fPIC   conftest.c  >&5
> > configure:4443: $? = 0
> > configure:4480: result: a.out
> > configure:4496: checking whether the C compiler works
> > configure:4505: ./a.out
> > ../binutils-2.27/configure: line 4507: 87493 Segmentation fault
> (core
> > dumped) ./$ac_file
>
> Configure scripts run tests to see if adding possible switches
> (e.g. thr -qversion above) or trying to include headers or system
> libraries pass or fail.  A segmentation fault is not an expected
> result from a test run by a configure switch.
>
> If you have built that compiler on this machine then I suspect that
> your machine has problems (dust blocking fans, insufficient cooling,
> PSU problem, or DRAM which has now failed in one or more bytes).
>
> I don't know what versions of binutils, gcc and glibc are in your
> ubuntu host but they might be sufficiently too new to do break the
> old LFS-7.10 versions, particularly when the build starts by faking
> cross-compiling and therefore some consistency checks get disabled.
>
> I expect that trying to compile a large program on the host system
> will similarly eventually fail, but the quicker test is to run a
> memtest variant - the latest memtest86 is recommended for modern
> machines (although it only runs an older version if not booted via
> UEFI) - free but not libre - or for older machines memtest86+
> (libre, but no-longer maintained and often locks up when testing all
> the cores if you have more than 1).
>
> I can remember two cases where RAM failed on my machines, the most
> recent was my haswell i7 where one stick went bad after a couple of
> years.  I remember another of my former machines where from time to
> time a compile would fail with randomly wrong bytes being read -
> that usually happened when using all 4 cores, taking one core
> offline and dropping the caches sometime helped, at other times I
> had to power off for a while.  I eventually concluded that the
> problem was a cheap motherboard which couldn't really cope with a
> full amount of RAM and probably needed to marginally increase one of
> the memory voltages - but the BIOS had no way to let me do that.
>
> > configure:4509: $? = 139
> > configure:4516: error: in
> > `/home/train/swe/distrib/build/sources/binutils/binutils-2.27-compile':
> > configure:4520: error: cannot run C compiled programs.
> > If you meant to cross compile, use `--host'.
> > See `config.log' for more details.
> >
> > Would appreciate any help on this
>
> Usually, 'cannot run C compiled programs' is preceded by error
> messages about the options passed to gcc or ld.  In your case, the
> segmentation fault was the cause.
>
> ĸen
> --
> Juliet's version of cleanliness was next to godliness, which was to
> say it was erratic, past all understanding and was seldom seen.
>                           -- Unseen Academicals
> --
> http://lists.linuxfromscratch.org/listinfo/lfs-dev
> FAQ: http://www.linuxfromscratch.org/faq/
> Unsubscribe: See the above information page
-- 
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to