[Clfs-dev] sysroot updates
P. J. McDermott
pjm at nac.net
Thu Jan 5 02:33:10 PST 2012
On 01/02/2012 07:06 PM, leo alejandro wrote:
>
> I was looking at the sysroot build. The packages in it are somewhat old
> and it has a few errors in it. Can I help fix and update it to more
> recent package versions?
>
> Leo
I'm working my way through a build based on CLFS-Sysroot with newer
packages. If it helps, you can borrow from my build procedure [1] (in
progress). (Note that ${BBL} and related variables in my notes are
equivalent to ${CLFS} et al. in the book.)
1:
http://odin1.pehjota.net/git/free-embedded-os/tree/temporary-bootstrap-builder-setup.txt
Pedantry: Many of the commands and such in that procedure are based on
those in CLFS-Sysroot, and my work in that procedure is "Copyright (C)
2012 Patrick (P. J.) McDermott" and may be freely used under the terms
of the Expat/MIT License [2].
2: http://www.jclark.com/xml/copying.txt
What errors did you find? I found the following (some of which may be
due to my use of newer versions of packages):
- MPC isn't mentioned but is required to build GCC.
- PPL and CLooG are optional dependencies of GCC to enable loop
memory optimizations. I couldn't get CLooG to build against PPL
and GMP in the cross-tools directory, so I just omitted PPL and
CLooG and built the cross-compiling GCC without them (as LFS
does). For more information, see my post to the -support list. [3]
- The installation of Linux headers in section 5.4 could be
simplified by setting INSTALL_HDR_PATH to "${CLFS}/usr" and
eliminating the cp command. (Not an error -- just something that
could be simpler in CLFS and LFS.)
- If the target architecture is "x86_64", the "-march" switch in
CFLAGS for the cross-compiling EGLIBC build (section 5.11 in
CLFS-Sysroot) must beset to "x86-64". "x86_64" is not a valid
architecture in GCC). I fixed this in my notes with a sed
substitution.
- The cross-compiling GCC is configured with the "--disable-ssp"
option, which disables building of the Stack Smashing Protector
(SSP). But EGLIBC's configure script detects support for SSP and
prepares EGLIBC to be built with it. As a result, the build fails
with "undefined reference" linking errors. I fixed this by passing
"libc_cv_ssp=no" on EGLIBC's configure command line. See my commit
log for details. [4][5]
The EGLIBC build is as far as I've gotten so far. I'm currently looking
at an installation error in EGLIBC's "scripts/mkinstalldirs", which is
trying to create a directory "/usr/lib64" (ignoring the cached
"install_root" config variable). I'm thinking this might require a
patch to "Makefile.in".
3:
http://lists.cross-lfs.org/pipermail/clfs-support-cross-lfs.org/2012-January/001312.html
4:
http://odin1.pehjota.net/git/free-embedded-os/commit/bootstrap-system-build-procedure.txt?id=a7563c9e
5:
http://odin1.pehjota.net/git/free-embedded-os/commit/temporary-bootstrap-builder-setup.txt?id=7f38f82b
--
P. J. McDermott http://www.pehjota.net/ (_/@\_) ,--.
mailto:pjm at nac.net http://identi.ca/pehjota o < o o > / oo \
o \ `-/ | <> |.
o o o "~v /_\--/_/
More information about the Clfs-dev
mailing list