Giter VIP home page Giter VIP logo

osx-arm-linux-toolchains's Introduction

Building cross-compiler toolchains is a time-consuming process. This site provides pre-built cross-compiler toolchains for Apple Mac OS X (i.e. Darwin), targetting the Linux operating system on common architectures, currently arm and aarch64. In other words, compile code for ARM/Linux on your Mac.

Based on gcc and binutils, toolchains are provided currently in one variant, namely glibc, with support for uClibc-ng and musl possible in the future if there is interest. The toolchains are built using the crosstools-ng build system.

Downloads

Toolchain GCC GDB Linux headers glibc binutils
aarch64-unknown-linux-gnu 8.3.0 8.2.1 4.20.8 2.29 2.32
arm-unknown-linux-gnueabi 8.3.0 8.2.1 4.20.8 2.29 2.32
armv8-rpi3-linux-gnueabihf 8.3.0 8.2.1 4.20.8 2.29 2.32
arm-unknown-linux-gnueabihf 8.3.0 8.2.1 4.20.8 2.28 2.32

Code Signing

On Catalina and later, executables need to be code-signed. This can be done via:

find /path/to/installation/directory -executable | xargs -n1 sudo codesign --force --deep --sign -

Support or Contact

If you find a problem or would like to see support for a new architecture or component combination, please file an issue.

osx-arm-linux-toolchains's People

Contributors

earthyorange avatar thinkski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

osx-arm-linux-toolchains's Issues

Musl support

So here is some interest in the musl versions ๐Ÿ˜„ I'd need them for Alpine Linux

Issue with build on Monterey 12.2.1

Hi

i am trying to build using CMAKE and toolchain from your repo.
Im having raspberry pi 1 and according to this page https://www.valvers.com/open-software/raspberry-pi/bare-metal-programming-in-c-part-1/, following flags I set:
-march=armv6zk -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard

Here is the ouptup of build process

Make Error at /Applications/CMake.app/Contents/share/cmake-3.23/Modules/CMakeTestCXXCompiler.cmake:62 (message):
The C++ compiler

"/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-g++"

is not able to compile a simple test program.

It fails with the following output:

Change Dir: /Users/dro/Development/arm/code/cmake-hello-world/build/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/make -f Makefile cmTC_08f1a/fast && /Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/cmTC_08f1a.dir/build.make CMakeFiles/cmTC_08f1a.dir/build
Building CXX object CMakeFiles/cmTC_08f1a.dir/testCXXCompiler.cxx.o
/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-g++   -march=armv6zk -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -v -std=c++11  -march=armv6zk -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -v -std=c++11   -isysroot /Users/dro/Development/arm/rpisysroot/rpisysroot   -Wall -o CMakeFiles/cmTC_08f1a.dir/testCXXCompiler.cxx.o -c /Users/dro/Development/arm/code/cmake-hello-world/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
Using built-in specs.
COLLECT_GCC=/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-g++
Target: arm-unknown-linux-gnueabi
Configured with: /Users/chris/Downloads/.build/arm-unknown-linux-gnueabi/src/gcc/configure --build=x86_64-build_apple-darwin18.6.0 --host=x86_64-build_apple-darwin18.6.0 --target=arm-unknown-linux-gnueabi --prefix=/Users/chris/x-tools/arm-unknown-linux-gnueabi --with-sysroot=/Users/chris/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot --enable-languages=c,c++ --with-float=soft --with-pkgversion='crosstool-NG 1.24.0' --disable-sjlj-exceptions --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libsanitizer --disable-libmpx --with-gmp=/Users/chris/Downloads/.build/arm-unknown-linux-gnueabi/buildtools --with-mpfr=/Users/chris/Downloads/.build/arm-unknown-linux-gnueabi/buildtools --with-mpc=/Users/chris/Downloads/.build/arm-unknown-linux-gnueabi/buildtools --with-isl=/Users/chris/Downloads/.build/arm-unknown-linux-gnueabi/buildtools --enable-lto --enable-threads=posix --enable-target-optspace --enable-plugin --enable-gold --disable-nls --disable-multilib --with-local-prefix=/Users/chris/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot --enable-long-long
Thread model: posix
gcc version 8.3.0 (crosstool-NG 1.24.0) 
COLLECT_GCC_OPTIONS= '-mcpu=arm1176jzf-s' '-mfpu=vfp' '-mfloat-abi=hard' '-v' '-std=c++11'  '-mcpu=arm1176jzf-s' '-mfpu=vfp' '-mfloat-abi=hard' '-v' '-std=c++11' '-isysroot' '/Users/dro/Development/arm/rpisysroot/rpisysroot' '-Wall' '-o' 'CMakeFiles/cmTC_08f1a.dir/testCXXCompiler.cxx.o' '-c' '-shared-libgcc' '-mtls-dialect=gnu' '-marm' '-march=armv6zk+fp'
 /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../libexec/gcc/arm-unknown-linux-gnueabi/8.3.0/cc1plus -quiet -v -v -iprefix /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/ -isysroot /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../arm-unknown-linux-gnueabi/sysroot -D_GNU_SOURCE -isysroot /Users/dro/Development/arm/rpisysroot/rpisysroot /Users/dro/Development/arm/code/cmake-hello-world/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx -quiet -dumpbase testCXXCompiler.cxx -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -mtls-dialect=gnu -marm -march=armv6zk+fp -auxbase-strip CMakeFiles/cmTC_08f1a.dir/testCXXCompiler.cxx.o -Wall -std=c++11 -std=c++11 -version -o /var/folders/s0/bp0mmft901q26dz9_qq44vdr0000gn/T//cc6WHtum.s
GNU C++11 (crosstool-NG 1.24.0) version 8.3.0 (arm-unknown-linux-gnueabi)
	compiled by GNU C version 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2), GMP version 6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.20-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory "/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/../../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/include/c++/8.3.0"
ignoring duplicate directory "/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/../../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/include/c++/8.3.0/arm-unknown-linux-gnueabi"
ignoring duplicate directory "/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/../../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/include/c++/8.3.0/backward"
ignoring duplicate directory "/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/../../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/include"
ignoring nonexistent directory "/Users/dro/Development/arm/rpisysroot/rpisysroot/Users/chris/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot/include"
ignoring duplicate directory "/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/../../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/include-fixed"
ignoring duplicate directory "/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/../../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/include"
#include "..." search starts here:
#include <...> search starts here:
 /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/include/c++/8.3.0
 /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/include/c++/8.3.0/arm-unknown-linux-gnueabi
 /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/include/c++/8.3.0/backward
 /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/include
 /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/include-fixed
 /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/include
 /Users/dro/Development/arm/rpisysroot/rpisysroot/usr/include
End of search list.
GNU C++11 (crosstool-NG 1.24.0) version 8.3.0 (arm-unknown-linux-gnueabi)
	compiled by GNU C version 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2), GMP version 6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.20-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 404818f033b9b61c85c022357f071914
COLLECT_GCC_OPTIONS= '-mcpu=arm1176jzf-s' '-mfpu=vfp' '-mfloat-abi=hard' '-v' '-std=c++11'  '-mcpu=arm1176jzf-s' '-mfpu=vfp' '-mfloat-abi=hard' '-v' '-std=c++11' '-isysroot' '/Users/dro/Development/arm/rpisysroot/rpisysroot' '-Wall' '-o' 'CMakeFiles/cmTC_08f1a.dir/testCXXCompiler.cxx.o' '-c' '-shared-libgcc' '-mtls-dialect=gnu' '-marm' '-march=armv6zk+fp'
 /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/bin/as -v -v -march=armv6zk -mfloat-abi=hard -mfloat-abi=hard -mfpu=vfp -mfpu=vfp -meabi=5 -o CMakeFiles/cmTC_08f1a.dir/testCXXCompiler.cxx.o /var/folders/s0/bp0mmft901q26dz9_qq44vdr0000gn/T//cc6WHtum.s
GNU assembler version 2.32 (arm-unknown-linux-gnueabi) using BFD version (crosstool-NG 1.24.0) 2.32
COMPILER_PATH=/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../libexec/gcc/arm-unknown-linux-gnueabi/8.3.0/:/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../libexec/gcc/:/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/bin/
LIBRARY_PATH=/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/:/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/:/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/lib/:/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../arm-unknown-linux-gnueabi/sysroot/lib/:/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../arm-unknown-linux-gnueabi/sysroot/usr/lib/
COLLECT_GCC_OPTIONS= '-mcpu=arm1176jzf-s' '-mfpu=vfp' '-mfloat-abi=hard' '-v' '-std=c++11'  '-mcpu=arm1176jzf-s' '-mfpu=vfp' '-mfloat-abi=hard' '-v' '-std=c++11' '-isysroot' '/Users/dro/Development/arm/rpisysroot/rpisysroot' '-Wall' '-o' 'CMakeFiles/cmTC_08f1a.dir/testCXXCompiler.cxx.o' '-c' '-shared-libgcc' '-mtls-dialect=gnu' '-marm' '-march=armv6zk+fp'
Linking CXX executable cmTC_08f1a
/Applications/CMake.app/Contents/bin/cmake -E cmake_link_script CMakeFiles/cmTC_08f1a.dir/link.txt --verbose=1
/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-g++  -march=armv6zk -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -v -std=c++11  -march=armv6zk -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -v -std=c++11   -isysroot /Users/dro/Development/arm/rpisysroot/rpisysroot -Wl,-headerpad_max_install_names CMakeFiles/cmTC_08f1a.dir/testCXXCompiler.cxx.o -o cmTC_08f1a 
Using built-in specs.
COLLECT_GCC=/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-g++
COLLECT_LTO_WRAPPER=/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../libexec/gcc/arm-unknown-linux-gnueabi/8.3.0/lto-wrapper
Target: arm-unknown-linux-gnueabi
Configured with: /Users/chris/Downloads/.build/arm-unknown-linux-gnueabi/src/gcc/configure --build=x86_64-build_apple-darwin18.6.0 --host=x86_64-build_apple-darwin18.6.0 --target=arm-unknown-linux-gnueabi --prefix=/Users/chris/x-tools/arm-unknown-linux-gnueabi --with-sysroot=/Users/chris/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot --enable-languages=c,c++ --with-float=soft --with-pkgversion='crosstool-NG 1.24.0' --disable-sjlj-exceptions --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libsanitizer --disable-libmpx --with-gmp=/Users/chris/Downloads/.build/arm-unknown-linux-gnueabi/buildtools --with-mpfr=/Users/chris/Downloads/.build/arm-unknown-linux-gnueabi/buildtools --with-mpc=/Users/chris/Downloads/.build/arm-unknown-linux-gnueabi/buildtools --with-isl=/Users/chris/Downloads/.build/arm-unknown-linux-gnueabi/buildtools --enable-lto --enable-threads=posix --enable-target-optspace --enable-plugin --enable-gold --disable-nls --disable-multilib --with-local-prefix=/Users/chris/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot --enable-long-long
Thread model: posix
gcc version 8.3.0 (crosstool-NG 1.24.0) 
COMPILER_PATH=/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../libexec/gcc/arm-unknown-linux-gnueabi/8.3.0/:/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../libexec/gcc/:/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/bin/
LIBRARY_PATH=/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/:/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/:/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/lib/:/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../arm-unknown-linux-gnueabi/sysroot/lib/:/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../arm-unknown-linux-gnueabi/sysroot/usr/lib/
COLLECT_GCC_OPTIONS= '-mcpu=arm1176jzf-s' '-mfpu=vfp' '-mfloat-abi=hard' '-v' '-std=c++11'  '-mcpu=arm1176jzf-s' '-mfpu=vfp' '-mfloat-abi=hard' '-v' '-std=c++11' '-isysroot' '/Users/dro/Development/arm/rpisysroot/rpisysroot' '-o' 'cmTC_08f1a' '-shared-libgcc' '-mtls-dialect=gnu' '-marm' '-march=armv6zk+fp'
 /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../libexec/gcc/arm-unknown-linux-gnueabi/8.3.0/collect2 -plugin /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../libexec/gcc/arm-unknown-linux-gnueabi/8.3.0/liblto_plugin.so -plugin-opt=/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../libexec/gcc/arm-unknown-linux-gnueabi/8.3.0/lto-wrapper -plugin-opt=-fresolution=/var/folders/s0/bp0mmft901q26dz9_qq44vdr0000gn/T//cc1eyOxn.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../arm-unknown-linux-gnueabi/sysroot --eh-frame-hdr -dynamic-linker /lib/ld-linux-armhf.so.3 -X -m armelf_linux_eabi -o cmTC_08f1a /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../arm-unknown-linux-gnueabi/sysroot/usr/lib/crt1.o /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../arm-unknown-linux-gnueabi/sysroot/usr/lib/crti.o /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/crtbegin.o -L/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0 -L/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc -L/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/lib -L/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../arm-unknown-linux-gnueabi/sysroot/lib -L/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../arm-unknown-linux-gnueabi/sysroot/usr/lib -headerpad_max_install_names CMakeFiles/cmTC_08f1a.dir/testCXXCompiler.cxx.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/crtend.o /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../arm-unknown-linux-gnueabi/sysroot/usr/lib/crtn.o
**/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/bin/ld.bfd: error: CMakeFiles/cmTC_08f1a.dir/testCXXCompiler.cxx.o uses VFP register arguments, cmTC_08f1a does not**
/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/bin/ld.bfd: failed to merge target specific data of file CMakeFiles/cmTC_08f1a.dir/testCXXCompiler.cxx.o
collect2: error: ld returned 1 exit status
make[1]: *** [cmTC_08f1a] Error 1
make: *** [cmTC_08f1a/fast] Error 2

and my CMAKE toolchain file:

SET(CMAKE_SYSTEM_NAME Darwin)
SET(CMAKE_SYSTEM_VERSION 1)
SET(CMAKE_C_COMPILER /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc)
SET(CMAKE_CXX_COMPILER /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-g++ )
#set(CMAKE_EXE_LINKER_FLAGS "--specs=nosys.specs " CACHE INTERNAL "")
set(CMAKE_VERBOSE_MAKEFILE TRUE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv6zk -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -v -std=c++11 ")
set(CMAKE_AR /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-ar )
set(CMAKE_RANLIB /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-ranlib )
SET(CMAKE_OSX_SYSROOT /Users/dro/Development/arm/rpisysroot/rpisysroot/)
SET(CMAKE_FIND_ROOT_PATH /Users/dro/Development/arm/rpisysroot/rpisysroot/)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
add_definitions(-Wall)

Any ideas?

#EDit:

changing mfloat flag to: -mfloat-abi=soft gives another type of error during build:

dro@MacBook-Pro-Wojciech build % cmake -D CMAKE_TOOLCHAIN_FILE=/Users/dro/Development/arm/code/toolchainpi.cmake ../
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - no
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - no
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/dro/Development/arm/code/cmake-hello-world/build
dro@MacBook-Pro-Wojciech build % rm -rf CMakeFiles
dro@MacBook-Pro-Wojciech build % make
/Applications/CMake.app/Contents/bin/cmake -S/Users/dro/Development/arm/code/cmake-hello-world -B/Users/dro/Development/arm/code/cmake-hello-world/build --check-build-system CMakeFiles/Makefile.cmake 0
/Applications/CMake.app/Contents/bin/cmake -E cmake_progress_start /Users/dro/Development/arm/code/cmake-hello-world/build/CMakeFiles /Users/dro/Development/arm/code/cmake-hello-world/build//CMakeFiles/progress.marks
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/Makefile2 all
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f Hello/CMakeFiles/Hello.dir/build.make Hello/CMakeFiles/Hello.dir/depend
cd /Users/dro/Development/arm/code/cmake-hello-world/build && /Applications/CMake.app/Contents/bin/cmake -E cmake_depends "Unix Makefiles" /Users/dro/Development/arm/code/cmake-hello-world /Users/dro/Development/arm/code/cmake-hello-world/Hello /Users/dro/Development/arm/code/cmake-hello-world/build /Users/dro/Development/arm/code/cmake-hello-world/build/Hello /Users/dro/Development/arm/code/cmake-hello-world/build/Hello/CMakeFiles/Hello.dir/DependInfo.cmake --color=
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f Hello/CMakeFiles/Hello.dir/build.make Hello/CMakeFiles/Hello.dir/build
[ 25%] Building CXX object Hello/CMakeFiles/Hello.dir/Speaker.cpp.o
cd /Users/dro/Development/arm/code/cmake-hello-world/build/Hello && /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-g++ -march=armv6zk -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=soft -v -std=c++11 -march=armv6zk -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=soft -v -std=c++11 -isysroot /Users/dro/Development/arm/rpisysroot/rpisysroot/ -Wall -Wall -MD -MT Hello/CMakeFiles/Hello.dir/Speaker.cpp.o -MF CMakeFiles/Hello.dir/Speaker.cpp.o.d -o CMakeFiles/Hello.dir/Speaker.cpp.o -c /Users/dro/Development/arm/code/cmake-hello-world/Hello/Speaker.cpp
Using built-in specs.
COLLECT_GCC=/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-g++
Target: arm-unknown-linux-gnueabi
Configured with: /Users/chris/Downloads/.build/arm-unknown-linux-gnueabi/src/gcc/configure --build=x86_64-build_apple-darwin18.6.0 --host=x86_64-build_apple-darwin18.6.0 --target=arm-unknown-linux-gnueabi --prefix=/Users/chris/x-tools/arm-unknown-linux-gnueabi --with-sysroot=/Users/chris/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot --enable-languages=c,c++ --with-float=soft --with-pkgversion='crosstool-NG 1.24.0' --disable-sjlj-exceptions --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libsanitizer --disable-libmpx --with-gmp=/Users/chris/Downloads/.build/arm-unknown-linux-gnueabi/buildtools --with-mpfr=/Users/chris/Downloads/.build/arm-unknown-linux-gnueabi/buildtools --with-mpc=/Users/chris/Downloads/.build/arm-unknown-linux-gnueabi/buildtools --with-isl=/Users/chris/Downloads/.build/arm-unknown-linux-gnueabi/buildtools --enable-lto --enable-threads=posix --enable-target-optspace --enable-plugin --enable-gold --disable-nls --disable-multilib --with-local-prefix=/Users/chris/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot --enable-long-long
Thread model: posix
gcc version 8.3.0 (crosstool-NG 1.24.0)
COLLECT_GCC_OPTIONS= '-mcpu=arm1176jzf-s' '-mfpu=vfp' '-mfloat-abi=soft' '-v' '-std=c++11' '-mcpu=arm1176jzf-s' '-mfpu=vfp' '-mfloat-abi=soft' '-v' '-std=c++11' '-isysroot' '/Users/dro/Development/arm/rpisysroot/rpisysroot/' '-Wall' '-MD' '-MT' 'Hello/CMakeFiles/Hello.dir/Speaker.cpp.o' '-MF' 'CMakeFiles/Hello.dir/Speaker.cpp.o.d' '-o' 'CMakeFiles/Hello.dir/Speaker.cpp.o' '-c' '-shared-libgcc' '-mtls-dialect=gnu' '-marm' '-march=armv6zk'
/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../libexec/gcc/arm-unknown-linux-gnueabi/8.3.0/cc1plus -quiet -v -v -iprefix /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/ -isysroot /Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../arm-unknown-linux-gnueabi/sysroot -MD CMakeFiles/Hello.dir/Speaker.cpp.d -MF CMakeFiles/Hello.dir/Speaker.cpp.o.d -MT Hello/CMakeFiles/Hello.dir/Speaker.cpp.o -D_GNU_SOURCE -isysroot /Users/dro/Development/arm/rpisysroot/rpisysroot/ /Users/dro/Development/arm/code/cmake-hello-world/Hello/Speaker.cpp -quiet -dumpbase Speaker.cpp -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=soft -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=soft -mtls-dialect=gnu -marm -march=armv6zk -auxbase-strip CMakeFiles/Hello.dir/Speaker.cpp.o -Wall -std=c++11 -std=c++11 -version -o /var/folders/s0/bp0mmft901q26dz9_qq44vdr0000gn/T//ccnjOjGr.s
GNU C++11 (crosstool-NG 1.24.0) version 8.3.0 (arm-unknown-linux-gnueabi)
compiled by GNU C version 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2), GMP version 6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.20-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory "/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/../../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/include/c++/8.3.0"
ignoring duplicate directory "/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/../../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/include/c++/8.3.0/arm-unknown-linux-gnueabi"
ignoring duplicate directory "/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/../../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/include/c++/8.3.0/backward"
ignoring duplicate directory "/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/../../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/include"
ignoring nonexistent directory "/Users/dro/Development/arm/rpisysroot/rpisysroot/Users/chris/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot/include"
ignoring duplicate directory "/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/../../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/include-fixed"
ignoring duplicate directory "/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/../../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/include"
#include "..." search starts here:
#include <...> search starts here:
/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/include/c++/8.3.0
/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/include/c++/8.3.0/arm-unknown-linux-gnueabi
/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/include/c++/8.3.0/backward
/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/include
/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/include-fixed
/Users/dro/Development/arm/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/8.3.0/../../../../arm-unknown-linux-gnueabi/include
/Users/dro/Development/arm/rpisysroot/rpisysroot/usr/include
End of search list.
GNU C++11 (crosstool-NG 1.24.0) version 8.3.0 (arm-unknown-linux-gnueabi)
compiled by GNU C version 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2), GMP version 6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.20-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 404818f033b9b61c85c022357f071914
In file included from /Users/dro/Development/arm/rpisysroot/rpisysroot/usr/include/features.h:448,
from /Users/dro/Development/arm/rpisysroot/rpisysroot/usr/include/bits/libc-header-start.h:33,
from /Users/dro/Development/arm/rpisysroot/rpisysroot/usr/include/stdio.h:27,
from /Users/dro/Development/arm/code/cmake-hello-world/Hello/Speaker.h:1,
from /Users/dro/Development/arm/code/cmake-hello-world/Hello/Speaker.cpp:1:
**/Users/dro/Development/arm/rpisysroot/rpisysroot/usr/include/gnu/stubs.h:7:11: fatal error: gnu/stubs-soft.h: No such file or directory

include <gnu/stubs-soft.h>**

       ^~~~~~~~~~~~~~~~~~

compilation terminated.
make[2]: *** [Hello/CMakeFiles/Hello.dir/Speaker.cpp.o] Error 1
make[1]: *** [Hello/CMakeFiles/Hello.dir/all] Error 2
make: *** [all] Error 2

arm-unknown-linux-gnueabihf/bin/ld.bfd: cannot find crt1.o: No such file or directory

Hey!

I hope you can help me. I have a new M1 Mac and I'm still trying to get all my Raspberry Pi toolchains working again.
Specifically, I'm trying to compile Qt 5.15.2 for Raspberry Pi zero using your toolchain. In the first step the toolchain is tested, which leads directly to an error.

The following linker command executed by ./configure of Qt fails...

/Users/friedemannmetzger/rpi-zero-new/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-g++ -mfloat-abi=hard --sysroot=/Users/friedemannmetzger/rpi-zero-new/sysroot -Wl,-O1 -Wl,-rpath-link,/Users/friedemannmetzger/rpi-zero-new/sysroot/opt/vc/lib -Wl,-rpath-link,/Users/friedemannmetzger/rpi-zero-new/sysroot/usr/lib/arm-unknown-linux-gnueabihf -Wl,-rpath-link,/Users/friedemannmetzger/rpi-zero-new/sysroot/lib/arm-unknown-linux-gnueabihf -o verifyspec verifyspec.o

It can't find these files:

/Users/friedemannmetzger/rpi-zero-new/arm-unknown-linux-gnueabihf/bin/../lib/gcc/arm-unknown-linux-gnueabihf/8.3.0/../../../../arm-unknown-linux-gnueabihf/bin/ld.bfd: cannot find crt1.o: No such file or directory
/Users/friedemannmetzger/rpi-zero-new/arm-unknown-linux-gnueabihf/bin/../lib/gcc/arm-unknown-linux-gnueabihf/8.3.0/../../../../arm-unknown-linux-gnueabihf/bin/ld.bfd: cannot find crti.o: No such file or directory
/Users/friedemannmetzger/rpi-zero-new/arm-unknown-linux-gnueabihf/bin/../lib/gcc/arm-unknown-linux-gnueabihf/8.3.0/../../../../arm-unknown-linux-gnueabihf/bin/ld.bfd: cannot find -lm

Basically the files are shipped in the sysroot folder. But how do I teach the linker to find and take them?
All attempts with LIBRARY_PATH, LD_LIBRARY_PATH, -I etc.. failed until now. Do you have any idea?

My system:
macOS 12.2.1, M1 Pro

Thank you very much in advance!

arm-linux-gnueabihf-gcc for ArmV7

Currently, hardfloat is not supported for ArmV7, but is for ArmV8, but the RPI0-W supports V7-hard float. Is it possible to get this supported?

code signing recipe

The readme needs some instructions on how to sign the binaries so that they will run on macOS Catalina and later. I used this:

find <install directory> -executable | xargs -n1 sudo codesign --force --deep --sign -

What machine arch were these compiled on x86_64 or arm (M1)?

First off THANK YOU, this repo is extremely helpful.

Trying to build my own version of them, as I need a few tweaks, but running into some issues on the bison step of ct-ng.

Wondering if the machine you originally created these with was Intel or M1.

hello,can you send me the .config file

i use the macos big sur and crosstool-ng 1.24.0 build the arm-unknow-linux-gnueabi ,it if faild. can you set you .config to me ? i need build the kernel 4.19

log:
[ALL ] Unknown target in --with-cpu=arm
[ERROR] make[1]: *** [Makefile:4183: configure-gcc] Error 1
[ALL ] make[1]: Leaving directory '/Volumes/e-mac/ct-ng-arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/build/build-cc-gcc-core-pass-1'
[ERROR]
[ERROR] >>
[ERROR] >> Build failed in step 'Installing pass-1 core C gcc compiler'
[ERROR] >> called in step '(top-level)'
[ERROR] >>
[ERROR] >> Error happened in: CT_DoExecLog[scripts/functions@376]
[ERROR] >> called from: do_gcc_core_backend[scripts/build/cc/gcc.sh@684]
[ERROR] >> called from: do_cc_core_pass_1[scripts/build/cc/gcc.sh@209]
[ERROR] >> called from: main[scripts/crosstool-NG.sh@696]
[ERROR] >>
[ERROR] >> For more info on this error, look at the file: 'build.log'
[ERROR] >> There is a list of known issues, some with workarounds, in:
[ERROR] >> https://crosstool-ng.github.io/docs/known-issues/
[ERROR] >>
[ERROR] >> NOTE: Your configuration includes features marked EXPERIMENTAL.
[ERROR] >> Before submitting a bug report, try to reproduce it without enabling
[ERROR] >> any experimental features. Otherwise, you'll need to debug it
[ERROR] >> and present an explanation why it is a bug in crosstool-NG - or
[ERROR] >> preferably, a fix.
[ERROR] >>
[ERROR] >> If you feel this is a bug in crosstool-NG, report it at:
[ERROR] >> https://github.com/crosstool-ng/crosstool-ng/issues/
[ERROR] >>
[ERROR] >> Make sure your report includes all the information pertinent to this issue.
[ERROR] >> Read the bug reporting guidelines here:
[ERROR] >> http://crosstool-ng.github.io/support/
[ERROR]
[ERROR] (elapsed: 14:04.00)

Toolchains for x86_64 osx

I might be wrong nut I tried compiling c++ under linux to generate a macos library but i cant make gcc genarate Mach-O and After a lot of research this repo is my last hope, can you help me?
Also, really importand, does osx supports arm, ins't just 64 - bit?

#error Unsupported architecture

When I'm using this in CLion and cmake, it occurred below.

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:784:2: error: #error Unsupported architecture

How can I use this compiler... please.. I need this..

Add cmake support

That would be great to automatically build a C/C++ project using cmake and your toolchains.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.