This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Mingw-users] mingw canadian cross for gcc3.1

Rekha Deshmukh wrote:
> I am building a canadian cross compiler for gcc-3.1 using mingw runtime 2.0-20020412 and w32api-1.3.
> I have successfully built the first compiler i.e build-to-host (linux to mingw) compiler. The first
> is built with gcc-3.0.3. I have a already built second compiler i.e build-to-target (linux to sh)
> compiler with gcc-3.1.
> While building the final compiler (mingw to sh) I am getting the following error in gcc make-
> make[1]: Entering directory `/home/kpit/mingwsh-elfbld3.1/build-gcc-3.1-20020429/gcc'
> make[1]: *** No rule to make target `../i686-pc-linux-gnu/libiberty/libiberty.a', needed by >`gengenrtl'.  Stop.
> make[1]: Leaving directory `/home/kpit/mingwsh-elfbld3.1/build-gcc-3.1-20020429/gcc'
> make: *** [all-gcc] Error 2
> Please guide me on this.

 Your '--build=' probably used a 'i686-linux-gnu' (the 'alias'-name), not 'i686-pc-linux-gnu'
(the generated 'canonical'-name), so you now don't have a 'i686-pc-linux-gnu/libiberty' subdir
in your '/home/kpit/mingwsh-elfbld3.1/build-gcc-3.1-20020429' build-directory. But have a
'i686-pc-linux-gnu' subdir there...

 The 'gengenrtl' is a program aimed to be run on the build-system and it needs some function(s)
from 'libiberty'. Probably your native GCC has a suitable 'libiberty.a', but building one more
during the Canadian Cross doesn't seem to hurt... Anyway the 'gcc/Makefile' has this 'need' and
with the wrong subdir name in it. Just search for the '../i686-pc-linux-gnu/libiberty/libiberty.a'
in the 'gcc/Makefile' and edit the '-pc' away. Somewhere is a bug which caused this, so if you
have some extra time, please try to hunt this 'feature' -- it has remained as such for me,
editing the '-pc' away has just been much easier this far for me...

 One thing more in this 'feature' is that a 'make' will be needed in order to create the
'libiberty.a' for the build-system, a 'make all-gcc' doesn't create it... So be prepared to
wait until the library is done and the gengenrtl linked and run, and then press Control-C or
something and then continue with 'make all-gcc', unless you want all those
'm2/m3e/m4/m4-single/m4-single-only' and all these for '-ml' too, library variations done once
again... (Done when building the Linux-x-sh-elf? toolchain).  Avoiding the 'libgcc.a' rebuilds
may however be hard...

 Maybe there is a 'make build-libiberty' or something available for forcing the library build,
haven't checked this yet...

 Cheers, Kai

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]