if you want the official embinux toolchain for android for the
beagle, you can go here:
http://www.embinux.com/download_toolchain.php
where what you get is a tarball from which you can allegedly *build*
the toolchain. sadly, there are issues, and here's how to deal with
them.
the README instructs one to use the configuration option
"--target=arm-eabi". however, the configure file itself contains this
snippet regarding gdb:
=====
# We only allow the following 3 targets:
# 1. arm-android-eabi (primary target)
# 2. arm-eabi (to be phased out.)
# 3. arm-newlib-eabi (for gcc testing)
# 4.i[3456]86-*-linux-gnu, x86-*-linux-gnu (for x86 targets)
GDB_TARGET=$target
case $target in
arm-android-eabi | arm-unknown-eabi)
BUILD_ANDROID_GCC=yes
GDB_TARGET=arm-elf-linux
;;
arm-newlib-elf)
BUILD_ANDROID_GCC=no
;;
i[3456]86-*-linux-gnu | x86_64-*-linux-gnu)
BUILD_ANDROID_GCC=yes
;;
*)
{ { echo "$as_me:$LINENO: error: Unsupported target $target." >&5
echo "$as_me: error: Unsupported target $target." >&2;}
{ (exit 1); exit 1; }; };
esac
=====
which suggests that the primary target is now "arm-android-eabi",
but also that the comments don't match the case statement --
"arm-newlib-eabi" versus "arm-newlib-elf". i'm just going to go with
"arm-android-eabi", and somebody should tweak that configure file just
a bit so that the comments match the code. :-) onward.
if you go with the default binutils of 2.17 and gdb of 6.6, the
build will fail with this type of error for both of them:
http://www.mail-archive.com/bug-bi...@gnu.org/msg04261.html
because the older scripts think that a makeinfo version of, say, 4.13,
is *older* than a version of 4.4. newer versions of the software fix
this so the fix is to upgrade to newer binutils and gdb source. the
README explains how to configure a newer software component:
=====
For any --with-XXX-version=YYY, a sub-directory called XXX-YYY must be
present in the source level directory. For example,
--with-gcc-version=4.3.1
requires that gcc-4.3.1-android to be present and contain the source
code of a buildable gcc version.
=====
the README is wrong. let's RTFS (the "configure" file):
=====
macro to check that we have a package. A package x exists if any one
# of the following exists:
# 1. x/
# 2. tarballs/x.tar.gz
# 3. tarballs/x.tgz
# 4. tarballs/x.tar.bz2
=====
so you need to have the new source package in the source directory
either as a straight directory (binutils-2.19.1) or as a tar ball
underneath a "tarballs" directory. take your pick. i went with a
symlink to an extensive source tarball directory of mine.
finally, the build of gdb-6.8 will fail thusly:
=====
cc1: warnings being treated as errors
/home/rpjday/beagle/android/toolchain_build/temp-src/gdb-6.8/gdb/eval.c:
In function ‘evaluate_subexp_standard’:
/home/rpjday/beagle/android/toolchain_build/temp-src/gdb-6.8/gdb/eval.c:1705:
error: ‘subscript_array’ may be used uninitialized in this function
/home/rpjday/beagle/android/toolchain_build/temp-src/gdb-6.8/gdb/eval.c:1644:
note: ‘subscript_array’ was declared here
make[3]: *** [eval.o] Error 1
make[3]: Leaving directory
`/home/rpjday/beagle/android/toolchain_build/gdb-6.8/gdb'
make[2]: *** [all-gdb] Error 2
make[2]: Leaving directory
`/home/rpjday/beagle/android/toolchain_build/gdb-6.8'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/home/rpjday/beagle/android/toolchain_build/gdb-6.8'
make: *** [stmp-build-target-gdb] Error 2
[rpjday@localhost toolchain_build]$ makeinfo --version
makeinfo (GNU texinfo) 4.13
=====
which requires that you initially configure with "--disable-werror" so
that simple warnings don't blow you out of your build. and that lets
the build complete. in short:
$ .../configure \
--target=arm-android-eabi \
--with-binutils-version=2.19.1 \
--with-gdb-version=6.8 \
--disable-werror
builds successfully. haven't tested it yet, but at least it builds.
rday
--
========================================================================
Robert P. J. Day Waterloo, Ontario, CANADA
Linux Consulting, Training and Annoying Kernel Pedantry.
Web page: http://crashcourse.ca
Linked In: http://www.linkedin.com/in/rpjday
Twitter: http://twitter.com/rpjday
========================================================================
> Robert,
>
> The toolchain you are mentioning is not from embinux. looking
> at source tar ball name (android-toolchain-20081019.tar.bz2 ), it
> seems that you have downloaded it from following link.
>
> http://android.git.kernel.org/pub/android-toolchain-20081019.tar.bz2
>
> I will like to clarify that embinux had never released a toolchain
> for android. And the one released at following link is not meant to
> compile android build.
>
> http://www.embinux.com/download_toolchain.php
ok, i stand corrected, but it's certainly confusing to have that
link at embinux's home page, immediately underneath a link labelled
"Android on Beagle".
> Robert,
>
> The toolchain you are mentioning is not from embinux. looking
> at source tar ball name (android-toolchain-20081019.tar.bz2 ), it
> seems that you have downloaded it from following link.
>
> http://android.git.kernel.org/pub/android-toolchain-20081019.tar.bz2
>
> I will like to clarify that embinux had never released a toolchain
> for android. And the one released at following link is not meant to
> compile android build.
>
> http://www.embinux.com/download_toolchain.php
ok, i stand corrected, but it's certainly confusing to have that
link at embinux's home page, immediately underneath a link labelled
"Android on Beagle".
rday
If you download toolchain from embinux it gives you following tar
ball. "arm-none-linux-gnueabi-cortex-core-v2.tar.bz2"
While the one you have mentioned is "android-toolchain-20081019.tar.bz2"
It is better to acknowledge your mistakes, rather than pointing at
others, and what others should do.
Regards,
Rupesh Gujare
Robert P. J. Day wrote:
>
>
> ok, i stand corrected, but it's certainly confusing to have that
> link at embinux's home page, immediately underneath a link labelled
> "Android on Beagle".
>
> rday
> --
>
>
>
--
Rupesh Gujare
>
> Robert,
>
> If you download toolchain from embinux it gives you following
> tar ball. "arm-none-linux-gnueabi-cortex-core-v2.tar.bz2"
>
> While the one you have mentioned is "android-toolchain-20081019.tar.bz2"
>
> It is better to acknowledge your mistakes, rather than pointing at
> others, and what others should do.
ok, if i messed that up, i apologize, but i have no idea where that
other toolchain could have come from. i'll try again.
>
> Robert,
>
> If you download toolchain from embinux it gives you following
> tar ball. "arm-none-linux-gnueabi-cortex-core-v2.tar.bz2"
>
> While the one you have mentioned is "android-toolchain-20081019.tar.bz2"
>
> It is better to acknowledge your mistakes, rather than pointing at
> others, and what others should do.
ok, if i messed that up, i apologize, but i have no idea where that
other toolchain could have come from. i'll try again.
rday
>
> Robert,
>
> If you download toolchain from embinux it gives you following tar
> ball. "arm-none-linux-gnueabi-cortex-core-v2.tar.bz2"
>
> While the one you have mentioned is "android-toolchain-20081019.tar.bz2"
>
> It is better to acknowledge your mistakes, rather than pointing at
> others, and what others should do.
you're right, i apologize. i'm absolutely baffled as to where that
other toolchain came from. my mistake.
-- Rupesh Gujare http://labs.embinux.org http://embinux.com
> /home/melwyn/myandroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/
> bin/../libexec/gcc/arm-eabi/4.4.0/cc1: error while loading shared
> libraries: libmpfr.so.1: cannot open shared object file: No such file
> or directory
Seems like you don't have MPFR library(http://www.mpfr.org) on your
host machine, please install it and give a try.
On ubuntu you could do,
$ sudo apt-get install libmpfr1ldbl
-Thanks,
Anish
Hi,
Think these kinds of errors are encountered when you mix the
optimization flags passed to the compiler in a way that is not
supported.
You could try building in the verbose mode with
#make showcommands
and send the line where the fault occurs.
-Thanks,
Anish