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

See crosstool-NG for lots more information.


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: Building a cross-native toolchain to build on ARM-Android for ARM-Android


Rein,

On Mon, Dec 15, 2014 at 6:26 PM, Rein Loopalu <eesti.elanik@gmail.com> wrote:
> Now I ran 'file' on bin/as, here is the result:
> -
> arm-and-linux-gnueabi2/bin/as: ELF 32-bit LSB executable, ARM, EABI5
> version 1 (SYSV), statically linked, for GNU/Linux 3.15.4, stripped
> -
>
>
> Doing the same for bin/gcc shows Linux 2.6.16. I wonder why are they
> different and how can I make it build bin/as for older kernel?
>
> On Tue, Dec 16, 2014 at 1:31 AM, Rein Loopalu <eesti.elanik@gmail.com> wrote:
>> I also set Linux kernel version in the crosstool-ng Operating System
>> settings to 3.0.101 since that seems to be closest to the one the
>> phone is running on.
>>
>> On Tue, Dec 16, 2014 at 1:20 AM, Rein Loopalu <eesti.elanik@gmail.com> wrote:
>>> Thanks
>>>
>>> Managed to fix that, but now it is giving me error:
>>>
>>> -
>>> FATAL: kernel too old
>>> arm-temp-linux-gnueabi-gcc: internal compiler error: Segmentation
>>> fault (program as)
>>> -
>>>
>>> The device kernel info is: Linux version 3.0.8 (gcc version
>>> 4.6.x-google 20120106 (prerelease) (GCC) ). I have also set for
>>> C-library the "Minimum kernel version to support (Specific kernel
>>> version)" to 2.6.9 in crosstool-ng options. I am using gcc 4.9.1 and
>>> glibc 2.19 in the build.
>>>
>>> 3.0.8 > 2.6.9 so what could be the problem?
>>>
>>> On Mon, Dec 15, 2014 at 5:52 PM, Bryan Hundven <bryanhundven@gmail.com> wrote:
>>>> Rein,
>>>>
>>>> On Mon, Dec 15, 2014 at 5:59 AM, Rein Loopalu <eesti.elanik@gmail.com> wrote:
>>>>> Replying to my own email here to make a quick update on the status. I
>>>>> built the cross-native toolchain with statically linked glibc to avoid
>>>>> (at least temporarily) the need for Bionic libc. If I try to execute
>>>>> gcc on the device I get error:
>>>>>
>>>>> Cannot create temporary file in ./: Read-only file system
>>>>> Aborted
>>>>
>>>> I'd guess that the device needs to be "rooted" so that you can get
>>>> privileged access to change the root file-system to read/write. Not
>>>> really related to crosstool-NG, but good luck!
>>>>
>>>>> I wonder if I can somehow configure it to create that temporary file
>>>>> somewhere else?
>>>>>
>>>>> --
>>>>> For unsubscribe information see http://sourceware.org/lists.html#faq
>>>>>
>>>>
>>>> -Bryan

I truly think that crosstool-ng is not the tool you are looking for.
Try this:

mkdir ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod u+x ~/bin/repo
export PATH="$HOME/bin:$PATH"
mkdir ~/android-toolchain
cd ~/android-toolchain
repo init -u https://android.googlesource.com/toolchain/manifest
repo sync

and read the build/README file for help.
This is how the official android toolchains are built.

-Bryan

--
For unsubscribe information see http://sourceware.org/lists.html#faq


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