public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
From: Kai Ruottu <kai.ruottu@wippies.com>
To: gcc-help@gcc.gnu.org
Subject: Re: Build a cross compiler for Android target (arm)
Date: Mon, 17 Oct 2011 06:33:00 -0000	[thread overview]
Message-ID: <4E9BCC09.3030701@wippies.com> (raw)
In-Reply-To: <4E995534.6040903@systella.fr>

15.10.2011 12:41, BERTRAND Joel kirjoitti:

> I'm trying to build a cross compiler for Android target as I want to
> obtain a Fortran compiler.
>
> Of course, I have installed android ndk to have sysroot.
> Build process stops with :
>
> checking whether the
> /home/bertrand/android/ndk/compilers/gcc-build/./gcc/xgcc
> -B/home/bertrand/android/ndk/compilers/gcc-build/./gcc/
> -B/home/bertrand/android/ndk/compilers/arm-android-eabi/bin/
> -B/home/bertrand/android/ndk/compilers/arm-android-eabi/lib/ -isystem
> /home/bertrand/android/ndk/compilers/arm-android-eabi/include -isystem
> /home/bertrand/android/ndk/compilers/arm-android-eabi/sys-include linker
> (/home/bertrand/android/ndk/compilers/gcc-build/./gcc/collect-ld)
> supports shared libraries... yes
> checking dynamic linker characteristics... no
> checking how to hardcode library paths into programs... immediate
> checking for shl_load... configure: error: Link tests are not allowed
> after GCC_NO_EXECUTABLES.
> make[1]: *** [configure-target-libstdc++-v3] Erreur 1

Ok, you have the GCC binaries ready (in $build/gcc) and also
libgcc (in $build/libgcc) and then your build crashes when
trying to configure libstdc++-v3 ... The C parts are OK, but
getting the C++ library fails. So what would be the sane
reaction in this situation?

For me it would be to try to compile and link a simple "Hello
World" app with the new GCC... But maybe Android is too weird
for this, no experience about whether it even supports simple
"console" apps in a terminal window, requiring some really
complex application as that "Hello World".  The very common
Windows 3.1 and its 32-bit extension "Win32s" hadn't any
console for running "text-mode Windows applications" :(

In any case installing only the GCC binaries and the libgcc
happens with :

    make install-gcc
    make install-target-libgcc

after which you can try compiling and linking that "Hello
World" and can see what errors you will get when linking...

The typical mistake is to not allow the self-made gmp, mpfr
or mpc shared libs being found by the new GCC binaries but
then the crash should happen already during the libgcc
configure - that the new 'xgcc' and 'cc1' can be started is
a sanity test there... So a "sanity test for the builder"
could be whether one is capable to try tests like :

     ./xgcc -v
     ./xgcc --help
     ./cc1 --help

in the $build/gcc directory without installing anything
there first, in order to see whether the new GCC executables
can be run in the cross host system...


  reply	other threads:[~2011-10-17  6:33 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-15  9:41 BERTRAND Joel
2011-10-17  6:33 ` Kai Ruottu [this message]
2011-10-17  6:45   ` Jeffrey Walton
     [not found]     ` <4E9BDC91.4010801@systella.fr>
2011-10-17  7:44       ` BERTRAND Joel
2011-10-17  8:05     ` BERTRAND Joel
2011-10-17  7:44   ` BERTRAND Joel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E9BCC09.3030701@wippies.com \
    --to=kai.ruottu@wippies.com \
    --cc=gcc-help@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).