guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bootstrap: i686-linux now builds without binutils, gcc seeds


From: Jan Nieuwenhuizen
Subject: Re: bootstrap: i686-linux now builds without binutils, gcc seeds
Date: Sun, 02 Sep 2018 07:21:28 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Gábor Boskovits writes:

>     +) After bootstrapping a static glibc-2.2.5, I tried building a shared
>        2.2.5, 2.3, 2.3.4, 2.3.6, 2.4, 2.5 and 2.6.  When all failed, I
>        invested a couple of days to patch 2.3.6...but that started to look
>        like a gargantuan undertaking.  Iow, I'm stuck here.
>
> Hello Jan, I'm currently on vacation, but I would be interested to
> have a look into this issue when I get home. Could you send me some
> details?

Thank you!  First, enjoy your vacation!

I'll share some details here, but things are changing pretty fast; it
appears I'm unstuck.

Building glibc-2.3.6, I found many files to complain about missing
size_t, wchar_t, NULL, offsetof and some other stray missing types or
macros.

While it's usual to make some patches like a missing include, this
didn't feel OK.

Yesterday I got the advice onl #glibc to try build 2.16 or 2.17, so I
gave that a try.  Same troubles...So i got down to inspecting the
include chain for `stddef.h' that failed to supply size_t...I found an
empty stddef.h from linux-libre-headers.  There was no stddef.h from the
new libc OR from the old libc included.  Although I did set -I flags to
the old libc, and for many files it worked.

That got me supsecting that I used glibc's --with-headers wrongly.  I
had it point to the linux-libre-headers.

The (hopefully) major step forward now is that I added two packages:
mesboot-headers (early) and glibc-mesboot-headers (later), that combine
their libc header and the linux-libre-headers in one package; and point
--with-headers to that combination include.

With this change, all the missing types and declarations turned in to
duplicate defines :-) So I have been removing those again from the glibc
patches.  Currently I'm finding that glibc-2.16.0 needs some more
linux/*.h headers that were stripped out of the bootstrap libc.

                "a.out.h                ; for 2.2.5"
                "atalk.h"               ; for 2.2.5
                "errno.h"
                "falloc.h"
                "if_ether.h"            ; for 2.2.5
                "ioctl.h"
                "kernel.h"
                "limits.h"
                "netlink.h"             ; for 2.16.0
                "param.h"
                "prctl.h"               ; for 2.16.0
                "posix_types.h"
                "rtnetlink.h"           ; for 2.16.0
                "socket.h"
                "stddef.h"
                "swab.h"                ; for 2.2.5
                "sysctl.h"
                "sysinfo.h"             ; for 2.2.5
                "types.h"
                "version.h"             ; for 2.2.5

I'll keep you all informed here, thanks.

Greetings,
janneke

-- 
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com



reply via email to

[Prev in Thread] Current Thread [Next in Thread]