Building rpi armv6 toolchain on macOS
Etan Kissling
kissling@oberon.ch
Sat Mar 11 21:06:00 GMT 2017
Thanks for the quick reply!
With the master build, I run into an error quite quickly (following instructions from crosstool-ng.org).
[DEBUG] ==> Executing: 'mkdir' '-p' '/build'
[ALL ] mkdir: /build: Permission denied
- Full log: https://scriptreactor.com/rpi1-master-build.log
Any idea what's going on here?
Trying out with your adjusted settings on 1.22 for now. Will take a while ^^
> On 9 Mar 2017, at 19:21, Alexey Neyman <stilor@att.net> wrote:
>
> I have reproduced your issue on current master with the following changes to .config (extracted .config from your build.log with "ct-ng extractconfig < build.log > .config"):
>
> - set CT_OBSOLETE=y
> - ct-ng oldconfig
> - set GCC to 4.9.4 and kernel to 4.1.38 (latest on 4.9.x and 4.1.x branches)
>
> However, I noted that you have set "Patches origin" option to "none". This prohibits crosstool-ng from applying any patches it has for any packages. In your configuration, setting it to "bundled" makes the build succeed (on master).
>
> You can try to find out which of the patches fixes your issue. Likely it is one in patches/glibc/2.19, patches/binutils/2.25.1 or patches/gcc/4.9.4.
>
> As a side note, I'd recommend using master on macos rather than 1.22 - there has been a lot of macos fixes since.
>
> Regards,
> Alexey.
>
>
> On 03/09/2017 04:15 AM, Etan Kissling wrote:
>> Hi,
>>
>> I'm trying to build a toolchain that supports cross compilation for the Raspberry Pi Zero W.
>> This requires building for ARMv6 (same as for the old Raspberry Pi 1).
>>
>> The official repository contains a crosstool-ng config file here:
>> https://github.com/raspberrypi/tools/blob/master/configs/arm-rpi-4.9.3-linux-gnueabihf.config
>> Unfortunately, only Linux binaries are provided in the repo. So for macOS I need to start from this config.
>>
>> The changes I did to the config file so far are:
>> Undefine CT_CONFIGURE_has_xz
>> Set CT_LOCAL_TARBALLS_DIR / CT_WORK_DIR / CT_PREFIX_DIR to reside on case-sensitive file systems
>> CT_EXTRA_CFLAGS_FOR_HOST="-fbracket-depth=512"
>> This fixes "[ERROR] /tmp/ct-ng/fs/.build/src/gcc-4.9.3/gcc/config/arm/neon.md:3486:10917: fatal error: bracket nesting level exceeded maximum of 256".
>> CT_WANTS_STATIC_LINK=n
>> CT_CC_GCC_STATIC_LIBSTDCXX=n
>> These two fix errors during initial sanity checking.
>> I'm currently stuck at the step "Installing C library headers & start files" where I get these errors during assembly of ../ports/sysdeps/unix/sysv/linux/arm/libc-aeabi_read_tp.S:
>> ccL1wvil.s: Assembler messages:
>> ccL1wvil.s:70: Error: invalid constant (ae) after fixup
>> ccL1wvil.s:143: Error: invalid constant (ff) after fixup
>>
>> I tried with -mthumb (which leads to "conftest.c:14:1: sorry, unimplemented: Thumb-1 hard-float VFP ABI")
>> and with -nostartfiles (which lets assembly work for this file but doesn't work on the next one (../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S)
>>
>> The complete build logs can be found here:
>> https://scriptreactor.com/rpi1-fixup-error.build.log
>> https://scriptreactor.com/rpi1-fixup-error-nostartfiles.build.log (with -nostartfiles)
>>
>> Any idea on what could be tried next?
>>
>> Xcode version: 8.2.1 (8C1002)
>> maxOS version: 10.12.3 (16D32)
>> crosstool-ng installed via "brew install crosstool-ng --with-grep"
>>
>> Thanks for any input!
>>
>> Etan
>>
>>
>>
>>
>
More information about the crossgcc
mailing list