This is the mail archive of the crossgcc@sourceware.cygnus.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more infromation.


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

Re: i386-unknown-linux -> powerpc-unknown-linux


"David N. Welton" wrote:
> 
> Ran make all LANGUAGES="c c++", and it does ok for a while, and then
> dies with:
> 
> make[2]: Entering directory `/home/davidw/download/egcs/build/powerpc-unknown-linux/libiberty'
> make[2]: *** No targets specified and no makefile found.  Stop.
> make[2]: Leaving directory `/home/davidw/download/egcs/build/powerpc-unknown-linux/libiberty'
> make[1]: *** [../libiberty/libiberty.a] Error 2
> make[1]: Leaving directory `/home/davidw/download/egcs/build/powerpc-unknown-linux/libstdc++'
> make: *** [all-target-libstdc++] Error 2

 It didn't succeed in producing the 'libiberty.a', because the linking
didn't succeed in the
test case. Building 'libiberty' needs a fully working toolset, not just
a compiler. It must
test the 'crt*.o', 'libc.a' etc. in order to find the missing functions.
No undefined symbols
in a normal compilation is the prerequisite...

>   /home/davidw/download/egcs/build/powerpc-unknown-linux/libiberty:
>   -rw-rw-r--    1 davidw   davidw       4006 Apr 11 17:46 config.log
> 
> I really don't have any hope of figuring out exactly where in the
> morass of gnarled, twisty, convoluted configuration and build scripts
> there lies some problem that I have overlooked, which causes the build
> to fail.

 The 'config.log' will tell that...

> I would also like to mention that the docs available are not really
> reflective of what needs to be done, in actuality.  For instance,
> headers and some libs from glibc seem to be necessary (--with-libs and
> --with-includes), if the information I have received is correct.

 The GCC manual states that the target libs and headers should be
preinstalled
before starting to build GCC, so all those '--with-libs' and
'--with-includes'
are for some special cases, not to the plain vanilla case of building a
'normal'
cross-compiler (which has the target headers and libs prebuilt). If the
C-library
isn't prebuilt, as the case may be with newlib or glibc, and for some
peculiar
reason any prebuilt libs for the target cannot be found or are not
wanted to be
used (I hated downloading the 20 Mbytes of unstripped libs for
PowerPC/Linux,
'YellowDog'-something, but when building from sources would have
complicated
the things, I had to tolerate the stupidity -- production libs should be
available and they should be stripped, but if only unstripped
'experimental?'
libs with the debug information in them are only available... In Sweden
they
are going to take breadband links to every home, but in Finland people
are
stupidly wanting 'wireless links' with 5-year old modem speeds... 20 M
is much
for a modem user, at least 1 hour to download with 56 kbits/s)

 How (if at all) you fixed the symlinks in the (prebuilt?) glibc
binaries, and
if you fixed the 'libc.so' (a ld-script, not a binary), and if you added
the
'-rpath-link' to the '*link:'-spec in 'specs' to point to the 'dynamic
linker'
('ld.so.1'), they will have their influence to the result. All these
things will
be needed to make the cross-toolset to work...

 When the compiler ('gcc/xgcc') is ready to run, the binutils are ready
and
installed, and the target headers and libs should be ok and installed,
testing
the toolset with something like the 'enquire.c' in the 'gcc' subdir is
recommended :

     $ ./xgcc -B./ -Wl,-verbose -O0 -o enquire enquire.c > EnqTest.Log
2>&1
     $ more EnqTest.Log
 
 The '-verbose' given to the linker will show all the tries and
succeedings
while linking, and is quite an easy way to check what is the problem...
Unresolved symbols like 'dl_something' come from not finding the
'ld.so.1',
all other troubles from not having the libs ok, like unfixed 'libc.so',
symlinks pointing to nowhere and so on...

Cheers, Kai


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


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