FC4 host (was Re: [RFC] LFS-6.1.1)
Alexander E. Patrakov
patrakov at ums.usu.ru
Mon Oct 10 04:02:02 PDT 2005
Greg Schafer wrote:
> Alexander E. Patrakov wrote:
>>5) Blacklist Fedora Core 4 since it can't build binutils.
> Huh? Stable or development LFS?
Stable, i.e. 6.1
> Could you please supply details of the problem?
This is from the current development LFS LiveCD, not FC4, but I assume
the problem is the same:
make: Entering directory `/tmp/binutils-build/gas'
gcc -DHAVE_CONFIG_H -I. -I../../binutils-220.127.116.11.2.2/gas -I.
-D_GNU_SOURCE -I. -I../../binutils-18.104.22.168.2.2/gas -I../bfd
-DLOCALEDIR="\"/tools/share/locale\"" -W -Wall -Wstrict-prototypes
-Wmissing-prototypes -g -O2 -c ../../binutils-22.214.171.124.2.2/gas/app.c
In file included from ./targ-cpu.h:1,
../../binutils-126.96.36.199.2.2/gas/config/tc-i386.h:443: error: array type
has incomplete element type
make: *** [app.o] Error 1
> Does passing --disable-werror help?
No, as there is no -Werror on gcc command line, and compilation passed
past many warnings above that error.
> Or maybe we just need to add
> the required GCC4 patches to the Binutils version used in stable LFS as
In binutils-2.16.1, they moved "struct relax_type" definition from
gas/tc.h to gas/as.h. See backport in the attached patch. This does help
compiling binutils. If there are no other problems further in the build,
please include the patch into 6.1.1 instead of blacklisting gcc4-based
> I'm a bit mystified as I have received successful bootstrap reports of the
> DIY build from FC4 using pretty much the same packages as current
> development LFS.
But the problem is in the "stable" LFS.
> Blacklisting any current distro is a major cop-out IMHO. We should be
> giving top priority to fixing these kinds of host bootstrap problems.
Probably you are right that such known "host bootstrap" problems should
be fixed in stable dot releases. The main problem here is that they pop
up only after the release, and there's no way to predict them. Some
warning about the possibility of unknown "downgrade" issues of this kind
is still appropriate. Let's see if today's DIY-linux buildability
survives after FC5 or FC6 comes out.
BTW also the following text should be changed in the book:
This disables internationalization as i18n is not needed for the
This avoids the dependency on gettext being installed on the host.
Alexander E. Patrakov
-------------- next part --------------
Submitted By: Alexander E. Patrakov
Initial Package Version: 188.8.131.52.2.2
Upstream Status: Backport from 2.16.1
Origin: Alexander E. Patrakov
Description: Fixes compilation by gcc4 (e.g. from Fedora Core 4 hosts)
--- binutils-184.108.40.206.2.2/gas/tc.h 2004-11-22 20:33:31.000000000 +0000
+++ binutils-2.16.1/gas/tc.h 2005-02-17 13:46:00.000000000 +0000
@@ -24,25 +25,6 @@
extern const pseudo_typeS md_pseudo_table;
-/* JF moved this here from as.h under the theory that nobody except MACHINE.c
- and write.c care about it anyway. */
- /* Forward reach. Signed number. > 0. */
- long rlx_forward;
- /* Backward reach. Signed number. < 0. */
- long rlx_backward;
- /* Bytes length of this address. */
- unsigned char rlx_length;
- /* Next longer relax-state. 0 means there is no 'next' relax-state. */
- relax_substateT rlx_more;
-typedef struct relax_type relax_typeS;
extern const int md_reloc_size; /* Size of a relocation record. */
char * md_atof (int, char *, int *);
--- binutils-220.127.116.11.2.2/gas/as.h 2004-09-15 19:05:03.000000000 +0000
+++ binutils-2.16.1/gas/as.h 2005-04-13 17:58:40.000000000 +0000
@@ -397,6 +384,22 @@
/* Enough bits for address, but still an integer type.
Could be a problem, cross-assembling for 64-bit machines. */
typedef addressT relax_addressT;
+ /* Forward reach. Signed number. > 0. */
+ offsetT rlx_forward;
+ /* Backward reach. Signed number. < 0. */
+ offsetT rlx_backward;
+ /* Bytes length of this address. */
+ unsigned char rlx_length;
+ /* Next longer relax-state. 0 means there is no 'next' relax-state. */
+ relax_substateT rlx_more;
+typedef struct relax_type relax_typeS;
/* main program "as.c" (command arguments etc). */
More information about the lfs-dev