LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch
User Name
Password
Linux From Scratch This Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.

Notices


Reply
  Search this Thread
Old 08-26-2015, 01:11 PM   #1
Jerasmussen
Member
 
Registered: Jul 2015
Location: San Antonio, TX
Distribution: XCP on Debian Wheezy; Raspbian; HLFS
Posts: 30

Rep: Reputation: Disabled
[HLFS] GMP check [am.make] Error 2, DT_TEXTREL Error 1


Ok, moving along with the build I've again gotten a make check failure: this time while installing GMP.

From the error log;
Code:
...
make[3]: *** [check-am] Error 2
make[3]: Target `check' not remade because of errors.
...
Since Automake isn't installed yet that's none to surprising, but in the other tests I'm
also seeing:

Code:
/tools/lib/gcc/i686-pc-linux-gnu/4.5.3/../../../../i686-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in a shared object.
collect2: ld returned 1 exit status
make[4]: *** [t-bswap] Error 1
Anyone run into similar with HLFS or a standard LFS build?

Regards,
James Rasmussen

Last edited by Jerasmussen; 08-30-2015 at 10:56 AM. Reason: Subject Accuracy
 
Old 08-26-2015, 09:41 PM   #2
ReaperX7
LQ Guru
 
Registered: Jul 2011
Location: California
Distribution: Slackware64-15.0 Multilib
Posts: 6,558
Blog Entries: 15

Rep: Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097
Can you post your host as well as post the output of the standard LFS book checks?
 
Old 08-27-2015, 10:49 AM   #3
Jerasmussen
Member
 
Registered: Jul 2015
Location: San Antonio, TX
Distribution: XCP on Debian Wheezy; Raspbian; HLFS
Posts: 30

Original Poster
Rep: Reputation: Disabled
Sure.

The host system for the HLFS build is Debian 3.2.68-1+deb7u2 i686, running PV on a Xen cloud platform . The Xen host system is Debian 3.2.68-1+deb7u2 x86_64. The version of Xen installed on the host is 4.1.4 with the xe command line interface.

I'm not sure what you mean by "output of the standard LFS book checks." I have stdout and stderr logs for the make check:

Code:
make  check-recursive
make[1]: Entering directory `/usr/src/gmp-5.0.2/gmp-5.0.2'
Making check in tests
make[2]: Entering directory `/usr/src/gmp-5.0.2/gmp-5.0.2/tests'
Making check in .
make[3]: Entering directory `/usr/src/gmp-5.0.2/gmp-5.0.2/tests'
make  libtests.la t-bswap t-constants t-count_zeros t-gmpmax t-hightomask t-modlinv t-popc t-parity t-sub
make[4]: Entering directory `/usr/src/gmp-5.0.2/gmp-5.0.2/tests'
/bin/sh ../libtool --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c -o memory.lo memory.c
/bin/sh ../libtool --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro march=pentiumpro -c -o misc.lo misc.c
/bin/sh ../libtool --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c -o refmpf.lo refmpf.c
/bin/sh ../libtool --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c -o refmpn.lo refmpn.c
/bin/sh ../libtool --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c -o refmpq.lo refmpq.c
/bin/sh ../libtool --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c -o refmpz.lo refmpz.c
/bin/sh ../libtool --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro march=pentiumpro -c -o spinner.lo spinner.c
/bin/sh ../libtool --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c -o trace.lo trace.c
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c memory.c  -fPIC -DPIC -o .libs/memory.o
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c refmpz.c  -fPIC -DPIC -o .libs/refmpz.o
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c refmpf.c  -fPIC -DPIC -o .libs/refmpf.o
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c trace.c  -fPIC -DPIC -o .libs/trace.o
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c refmpn.c  -fPIC -DPIC -o .libs/refmpn.o
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c refmpq.c  -fPIC -DPIC -o .libs/refmpq.o
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c spinner.c  -fPIC -DPIC -o .libs/spinner.o
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c misc.c -fPIC -DPIC -o .libs/misc.o
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c refmpq.c -o refmpq.o >/dev/null 2>&1
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c spinner.c -o spinner.o >/dev/null 2>&1
/bin/sh ../libtool --mode=compile --tag=CC ../mpn/m4-ccas --m4="m4" gcc -std=gnu99 -c -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -Wa,--noexecstack `test -f 'x86call.asm' || echo './'`x86call.asm
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c memory.c -o memory.o >/dev/null 2>&1
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c refmpz.c -o refmpz.o >/dev/null 2>&1
libtool: compile:  ../mpn/m4-ccas --m4=m4 gcc -std=gnu99 -c -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -Wa,--noexecstack x86call.asm  -fPIC -DPIC -o .libs/x86call.o
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c trace.c -o trace.o >/dev/null 2>&1
m4  -DHAVE_CONFIG_H -DPIC x86call.asm >tmp-x86call.s
/bin/sh ../libtool --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c -o x86check.lo x86check.c
 gcc -std=gnu99 -c -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -Wa,--noexecstack tmp-x86call.s -fPIC -DPIC -o .libs/x86call.o
libtool: compile:  ../mpn/m4-ccas --m4=m4 gcc -std=gnu99 -c -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -Wa,--noexecstack x86call.asm -o x86call.o >/dev/null 2>&1
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c x86check.c  -fPIC -DPIC -o .libs/x86check.o
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c refmpf.c -o refmpf.o >/dev/null 2>&1
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c t-bswap.c
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c misc.c -o misc.o >/dev/null 2>&1
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c t-constants.c
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c x86check.c -o x86check.o >/dev/null 2>&1
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c t-count_zeros.c
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c t-gmpmax.c
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c t-hightomask.c
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c t-modlinv.c
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c t-popc.c
cc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c t-parity.c
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c t-sub.c
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -c refmpn.c -o refmpn.o >/dev/null 2>&1
/bin/sh ../libtool --tag=CC   --mode=link gcc -std=gnu99  -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro   -o libtests.la  memory.lo misc.lo refmpf.lo refmpn.lo refmpq.lo refmpz.lo spinner.lo trace.lo x86call.lo x86check.lo ../libgmp.la
libtool: link: ar cq .libs/libtests.a .libs/memory.o .libs/misc.o .libs/refmpf.o .libs/refmpn.o .libs/refmpq.o .libs/refmpz.o .libs/spinner.o .libs/race.o .libs/x86call.o .libs/x86check.ot
libtool: link: ranlib .libs/libtests.a
libtool: link: ( cd ".libs" && rm -f "libtests.la" && ln -s "../libtests.la" "libtests.la" )
/bin/sh ../libtool --tag=CC   --mode=link gcc -std=gnu99  -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro   -o t-bswap t-bswap.o libtests.la ../libgmp.la
/bin/sh ../libtool --tag=CC   --mode=link gcc -std=gnu99  -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro   -o t-constants t-constants.o libtests.la ../libgmp.la
/bin/sh ../libtool --tag=CC   --mode=link gcc -std=gnu99  -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro   -o t-count_zeros t-count_zeros.o libtests.la ../libgmp.la
/bin/sh ../libtool --tag=CC   --mode=link gcc -std=gnu99  -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro   -o t-gmpmax t-gmpmax.o libtests.la ../libgmp.la
/bin/sh ../libtool --tag=CC   --mode=link gcc -std=gnu99  -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro   -o t-hightomask t-hightomask.o libtests.la ../libgmp.la
/bin/sh ../libtool --tag=CC   --mode=link gcc -std=gnu99  -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro   -o t-modlinv t-modlinv.o libtests.la ../libgmp.la
/bin/sh ../libtool --tag=CC   --mode=link gcc -std=gnu99  -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro   -o t-popc t-popc.o libtests.la ../libgmp.la
/bin/sh ../libtool --tag=CC   --mode=link gcc -std=gnu99  -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro   -o t-parity t-parity.o libtests.la ../libgmp.la
libtool: link: gcc -std=gnu99 -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -o .libs/t-bswap t-bswap.o  ./.libs/libtests.a /usr/src/gmp-5.0.2/gmp-5.0.2/.libs/libgmp.so ../.libs/libgmp.so
libtool: link: gcc -std=gnu99 -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -o .libs/t-constants t-constants.o  ./.libs/libtests.a /usr/src/gmp-5.0.2/gmp-5.0.2/.libs/libgmp.so ../.libs/libgmp.so
libtool: link: gcc -std=gnu99 -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -o .libs/t-count_zeros t-count_zeros.o  ./.libs/libtests.a /usr/src/gmp-5.0.2/gmp-5.0.2/.libs/libgmp.so ../.libs/libgmp.so
libtool: link: gcc -std=gnu99 -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -o .libs/t-modlinv t-modlinv.o  ./.libs/libtests.a /usr/src/gmp-5.0.2/gmp-5.0.2/.libs/libgmp.so ../.libs/libgmp.so
libtool: link: gcc -std=gnu99 -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -o .libs/t-gmpmax t-gmpmax.o  ./.libs/libtests.a /usr/src/gmp-5.0.2/gmp-5.0.2/.libs/libgmp.so ../.libs/libgmp.so
libtool: link: gcc -std=gnu99 -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -o .libs/t-popc t-popc.o  ./.libs/libtests.a /usr/src/gmp-5.0.2/gmp-5.0.2/.libs/libgmp.so ../.libs/libgmp.so
libtool: link: gcc -std=gnu99 -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -o .libs/t-hightomask t-hightomask.o  ./.libs/libtests.a /usr/src/gmp-5.0.2/gmp-5.0.2/.libs/libgmp.so ../.libs/libgmp.so
libtool: link: gcc -std=gnu99 -m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -o .libs/t-parity t-parity.o  ./.libs/libtests.a /usr/src/gmp-5.0.2/gmp-5.0.2/.libs/libgmp.so ../.libs/libgmp.so
/tools/lib/gcc/i686-pc-linux-gnu/4.5.3/../../../../i686-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in a shared object.
collect2: ld returned 1 exit status
/tools/lib/gcc/i686-pc-linux-gnu/4.5.3/../../../../i686-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in a shared object.
collect2: ld returned 1 exit status
make[4]: *** [t-bswap] Error 1
make[4]: *** Waiting for unfinished jobs....
/tools/lib/gcc/i686-pc-linux-gnu/4.5.3/../../../../i686-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in a shared object.
collect2: ld returned 1 exit status
make[4]: *** [t-constants] Error 1
make[4]: *** [t-count_zeros] Error 1
/tools/lib/gcc/i686-pc-linux-gnu/4.5.3/../../../../i686-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in a shared object.
collect2: ld returned 1 exit status
/tools/lib/gcc/i686-pc-linux-gnu/4.5.3/../../../../i686-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in a shared object.
collect2: ld returned 1 exit status
make[4]: *** [t-modlinv] Error 1
make[4]: *** [t-popc] Error 1
/tools/lib/gcc/i686-pc-linux-gnu/4.5.3/../../../../i686-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in a shared object.
collect2: ld returned 1 exit status
make[4]: *** [t-parity] Error 1
make[4]: Leaving directory `/usr/src/gmp-5.0.2/gmp-5.0.2/tests'
make[3]: Leaving directory `/usr/src/gmp-5.0.2/gmp-5.0.2/tests'
make[3]: *** [check-am] Error 2
make[2]: Leaving directory `/usr/src/gmp-5.0.2/gmp-5.0.2/tests'
make[1]: Leaving directory `/usr/src/gmp-5.0.2/gmp-5.0.2'
make[2]: *** [check-recursive] Error 1
[make[1]: *** [check-recursive] Error 1
make: *** [check] Error 2
Runniing the test suite make -k ckeck reveals that the fatal error is due to [check - am]. I expected that would happen, since at this stage in the build automake isn't installed; I didn't expect all the warnings about creating a DT_TEXTREL in a shared object. It has to do with hardening, perhaps?

It's damned annoying in any case, as gcc just aborts the test & returns a non-fatal error; no insight into the actual functionality of the compiled code.

Regards,
James Rasmussen
 
Old 08-30-2015, 10:51 AM   #4
Jerasmussen
Member
 
Registered: Jul 2015
Location: San Antonio, TX
Distribution: XCP on Debian Wheezy; Raspbian; HLFS
Posts: 30

Original Poster
Rep: Reputation: Disabled
'UPDATE:.

The fine folks over in Gentoo-land have a textrels guide:
https://wiki.gentoo.org/wiki/Hardene...d_fix_textrels

The DT_TEXTREL errors are apparently caused by busted PIC, " due to poorly written x86 assembly...."
Charming; I'm SO looking forward to debugging in HEX.

Anyway, the main focus of the guide is using PaX Utilities to track down and fix the problem code. As I see it I have two choices:
a) copy the PaX Utilities tarball to $HLFS/sources as root, then Chroot to the build environment and install it;
b) format the build partition, restore the toolchain from backup, add the needed utilities to the toolchain and redoo everything from there.

I don't want to loose all the work I've done installing User Package Management tools and building the OS up to this point. I'm also not sure I want these utilities taking up space in the OS when its finished. Then again, they might be useful for future source code installations. Opinions?

Regards,
James Rasmussen
 
Old 08-31-2015, 06:54 PM   #5
Keith Hedger
Senior Member
 
Registered: Jun 2010
Location: Wiltshire, UK
Distribution: Void, Linux From Scratch, Slackware64
Posts: 3,150

Rep: Reputation: 856Reputation: 856Reputation: 856Reputation: 856Reputation: 856Reputation: 856Reputation: 856
http://www.linuxfromscratch.org/lfs/.../hostreqs.html

Towards the bottom is a version script please run it and show the output
 
Old 08-31-2015, 10:46 PM   #6
Luridis
Member
 
Registered: Mar 2014
Location: Texas
Distribution: LFS 9.0 Custom, Merged Usr, Linux 4.19.x
Posts: 616

Rep: Reputation: 167Reputation: 167
Did you check for all-or-nothing for the 3 libstc++ math libraries on the host system? i.e. Did you run library-check.sh after running version-check.sh? You should have all 3 or none at all.
 
Old 09-01-2015, 11:39 AM   #7
Jerasmussen
Member
 
Registered: Jul 2015
Location: San Antonio, TX
Distribution: XCP on Debian Wheezy; Raspbian; HLFS
Posts: 30

Original Poster
Rep: Reputation: Disabled
Hi Keith; Luridis; thanks for responding.

The version check script in the HLFS book provided the following result:

Code:
bash, version 4.2.37(1)-release
/bin/sh -> /bin/dash
Binutils: (GNU Binutils for Debian) 2.22
bison (GNU Bison) 2.5
/usr/bin/yacc -> /usr/bin/bison.yacc
bzip2,  Version 1.0.6, 6-Sept-2010.
Coreutils:  8.13
diff (GNU diffutils) 3.2
find (GNU findutils) 4.4.2
GNU Awk 4.0.1
/usr/bin/awk -> /usr/bin/gawk
gcc (Debian 4.7.2-5) 4.7.2
version-check.sh: line 22: /lib/libc.so.6: No such file or directory
grep (GNU grep) 2.12
gzip 1.5
Linux version 3.2.0-4-686-pae (debian-kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Debian 3.2.68-1+deb7u2
m4 (GNU M4) 1.4.16
GNU Make 3.81
patch 2.6.1
Perl version='5.14.2';
GNU sed version 4.2.1
tar (GNU tar) 1.26
Texinfo: makeinfo (GNU texinfo) 4.13
Compilation OK
I didn't look at the LFS 7.7 version checks b/c I am building HLFS. I ran them just now, with the following results:

LFS_7.7_Version_Check

Code:
bash, version 4.2.37(1)-release
/bin/sh -> /bin/dash
Binutils: (GNU Binutils for Debian) 2.22
bison (GNU Bison) 2.5
/usr/bin/yacc -> /usr/bin/bison.yacc
bzip2,  Version 1.0.6, 6-Sept-2010.
Coreutils:  8.13
diff (GNU diffutils) 3.2
find (GNU findutils) 4.4.2
GNU Awk 4.0.1
/usr/bin/awk -> /usr/bin/gawk
gcc (Debian 4.7.2-5) 4.7.2
g++ (Debian 4.7.2-5) 4.7.2
(Debian EGLIBC 2.13-38+deb7u8) 2.13
grep (GNU grep) 2.12
gzip 1.5
Linux version 3.2.0-4-686-pae (debian-kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Debian 3.2.68-1+deb7u2
m4 (GNU M4) 1.4.16
GNU Make 3.81
patch 2.6.1
Perl version='5.14.2';
GNU sed version 4.2.1
tar (GNU tar) 1.26
makeinfo (GNU texinfo) 4.13
xz (XZ Utils) 5.1.0alpha
g++ compilation OK
LFS_7.7_Library_Check

Code:
libgmp.la: not found
libmpfr.la: not found
libmpc.la: not found
Interesting that the GMP, MPFR and MPC libs are missing from Debian, but I'm not sure how that's significant when I'm in a chroot environment, working off a toolchain with GCC-4.5.3 & all these libs installed. Then again, I'm new at this and probably couldn't find a clue with both hands and a flashlight.

Regards,
James Rasmussen

Last edited by Jerasmussen; 09-01-2015 at 11:43 AM. Reason: Typos
 
Old 09-01-2015, 12:04 PM   #8
Luridis
Member
 
Registered: Mar 2014
Location: Texas
Distribution: LFS 9.0 Custom, Merged Usr, Linux 4.19.x
Posts: 616

Rep: Reputation: 167Reputation: 167
Code:
g++ (Debian 4.7.2-5) 4.7.2
(Debian EGLIBC 2.13-38+deb7u8) 2.13
Check your APT and see if you downloaded the correct g++ compiler. I'm a little fuzzy on what that line means. But I am going to assume that it's built to build against EGlibc instead of glibc.
 
Old 09-01-2015, 12:13 PM   #9
Luridis
Member
 
Registered: Mar 2014
Location: Texas
Distribution: LFS 9.0 Custom, Merged Usr, Linux 4.19.x
Posts: 616

Rep: Reputation: 167Reputation: 167
But, if I am completely honest about this...

I've built LFS systems from Debian in the past without issue. But, when I started 7.7 this last week, I first tried it from the latest Debian + LXDE. I also ran into compilation problems in Part III. There were some issues building diffutils and a few others. When I got to building Linux 3.19, it had too many errors to diagnose.

So, I started over from a Slackware 14.1 + xfce system, no issues there at all.
 
Old 09-01-2015, 12:20 PM   #10
Luridis
Member
 
Registered: Mar 2014
Location: Texas
Distribution: LFS 9.0 Custom, Merged Usr, Linux 4.19.x
Posts: 616

Rep: Reputation: 167Reputation: 167
One more thing... Are you building on a virtual machine of any kind? If so are you building from an i686 compiler host? If so does your PC have a 64 bit processor?

If all of those were yes... Did you put ABI=32 in front of your GMP ./configure line?
 
Old 09-01-2015, 01:03 PM   #11
Keith Hedger
Senior Member
 
Registered: Jun 2010
Location: Wiltshire, UK
Distribution: Void, Linux From Scratch, Slackware64
Posts: 3,150

Rep: Reputation: 856Reputation: 856Reputation: 856Reputation: 856Reputation: 856Reputation: 856Reputation: 856
you must symlink /bin/sh to /bin/bash, dash causes all sorts of weird problems especially with gcc
 
Old 09-01-2015, 01:54 PM   #12
Jerasmussen
Member
 
Registered: Jul 2015
Location: San Antonio, TX
Distribution: XCP on Debian Wheezy; Raspbian; HLFS
Posts: 30

Original Poster
Rep: Reputation: Disabled
I actually looked into EGLIBC prior to starting this build. It was a GNU libc implementation intended to be lightweight, for embedded Linux (hence the "E") and "strived to be source and binary compatible with GLIBC." I say was, because according to the home page it's been merged (re-merged?) with Glibc. Here's the link, if you want the sorted details...
http://www.eglibc.org/home

Anyway, I ultimately used the same version of Glibc in the HLFS specs, good old Glibc-2.12.2; that's what's in the tool chain.

I am building on a virtual machine, the i686 version of Debian Wheezy. That machine is running on Debian Wheezy x86_64 via xen 4.1.4. The Hardware is a Gateway DX-433, which has an i5, 64-bit CPU. Four VCPU's are allocated to the x86_64 machine; 1 VCPU is allocated to the i686 machine on which the HLFS build lives. I've tried configuring GMP with ABI=32 set manually, as well as letting the linker figure it out. Both methods give me the same errors.

Although Dash is present on the host system, it is not present in the toolchain. As I understand from the book, the HLFS build environment is "clean" i.e, completely isolated from the code running on the host. The book spends a great deal of effort in fact, to ensure this. So I'm not sure how having Dash as the host machine's system shell makes a difference. Or are you saying the tool chain itself is corrupted, by virtue of having been built on a Debian host to begin with?

Regards,
James Rasmussen
 
Old 09-01-2015, 02:41 PM   #13
Luridis
Member
 
Registered: Mar 2014
Location: Texas
Distribution: LFS 9.0 Custom, Merged Usr, Linux 4.19.x
Posts: 616

Rep: Reputation: 167Reputation: 167
Quote:
Originally Posted by Jerasmussen View Post
Or are you saying the tool chain itself is corrupted, by virtue of having been built on a Debian host to begin with?
I'm not saying anything with wrong with Debian's toolchain. I am saying that I ran into issues I couldn't fix with it and started over on Slackware and had no further problems. A piece of software doesn't have to be broken to create problems. All it needs is to have some unforeseen & hidden incompatibility with what you happen to be trying to do in order for it to become a problem.

I've given every piece of advise I know. If no one else comes along with the answer, then why not try a different platform? I was at the kernel build stage when things totally fell apart. I started over and was back to that point about 6 hours later.
 
Old 09-01-2015, 04:59 PM   #14
Keith Hedger
Senior Member
 
Registered: Jun 2010
Location: Wiltshire, UK
Distribution: Void, Linux From Scratch, Slackware64
Posts: 3,150

Rep: Reputation: 856Reputation: 856Reputation: 856Reputation: 856Reputation: 856Reputation: 856Reputation: 856
unless you make the host complient before building the tool chain you will run into loys of odd errors especially with gcc and glibc, once the tool chain has been made you can do what you want to the host, but first you need to build the roolchain correctly, until you have built lfs at least a couple of time please follow the book exactly that means using a complient host first.

Building on a VM also seems to cause problems, don'tmknow why as I've never done it, but a lot of people buliding on a VM report problems here.
 
Old 09-01-2015, 07:05 PM   #15
Luridis
Member
 
Registered: Mar 2014
Location: Texas
Distribution: LFS 9.0 Custom, Merged Usr, Linux 4.19.x
Posts: 616

Rep: Reputation: 167Reputation: 167
Quote:
Originally Posted by Keith Hedger View Post
unless you make the host complient before building the tool chain you will run into loys of odd errors especially with gcc and glibc, once the tool chain has been made you can do what you want to the host, but first you need to build the roolchain correctly, until you have built lfs at least a couple of time please follow the book exactly that means using a complient host first.

Building on a VM also seems to cause problems, don'tmknow why as I've never done it, but a lot of people buliding on a VM report problems here.
I've built every version I've done on a VM without issues. For one thing, it is much, much faster. I think the biggest problem is people don't know how to config kernels for VMs.

For instance: Almost every device appears on a PCI or USB hub. Even devices that can't in the real world. Almost every peripheral-link device requires the USB 2.0 driver and USB HID driver. Then there's PAE, host BIOS settings, balloon drivers and all that comes before building the paravirtual modules after it's up and running on emulated hardware. Some people don't do the last step, but data transfer over emulated PCNet32 is not near as fast as VMWare's vmxnet paravirtual driver.

I'm about to start over on this build so I can switch to Linux 4.2. It seems the 3.15 and later kernels had some issues with unfixed vm driver bugs that appeared, I assume, because of internal kernel changes. Since I am not that far in, I might as well build glibc to the 4.2 headers while I am at it.

Edit: I've not tried this on a Xen host though. I use VMWare Workstation 10.

Last edited by Luridis; 09-01-2015 at 07:11 PM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] [HLFS] make -k check fails, section 6.9. Glibc-2.12.2 Jerasmussen Linux From Scratch 1 08-24-2015 10:58 PM
[SOLVED] GCC make error - lib/cpp fails sanity check n1k0 Linux From Scratch 4 11-16-2011 01:56 PM
LFS 6.6 on Ubuntu 10.04 / 6.13 GMP-5.0.0 make error SmokingSquirrel Linux From Scratch 3 06-12-2010 02:45 AM
6.13 GMP-5.0.0 LFS make error SmokingSquirrel Linux - General 5 06-11-2010 12:34 PM
GCC make error 2; stage 1 gmp (Book 6.4) agrestic Linux From Scratch 0 01-25-2009 03:28 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch

All times are GMT -5. The time now is 12:43 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration