I tried to build this last week. Run into a couple of problems I couldn't solve.
I made some notes, which I was intending to post after I got everything working:
1. The page has:
# git clone git://github.com/cahirwpz/amigaos-cross-toolchain.git
But this should be:
# git clone git://github.com/bebbo/amigaos-cross-toolchain.git
otherwise you will build gcc 2.95 like me :-)
2. You are going to need 32bit gcc and libs (anyone know why?). Didn't keep all my notes but I needed at least these:
sudo apt-get install libgmp-dev:i386 libmpfr-dev:i386 libmpc-dev:i386 gcc-multilib g++-multilib
3. Don't forget the "--gcc 6" parameter! It says it right at the top of the page but wasn't obvious to me.
4. You need a github account with a ssh key! I think this is because the scripts use ssh:// instead of https:// (which shouldn't be necessary for a RO checkout). You can add a key here:
https://github.com/settings/ssh
After all this I get 2 errors.
Code:
/usr/bin/install: cannot create regular file '/home/paul/source/gcc6.2/amigaos-cross-toolchain/.build-m68k/host/man/man1/flex.1': No such file or directory
Makefile:180: recipe for target 'install.man' failed
It's not a rights issue. If I build a second time it continues...
GCC actually builds OK but libnix fails.
submodules/libnix/sources/stubs/../nix/misc/__request.c
Code:
toolchain/submodules/libnix/sources/stubs/../headers -O3 -fomit-frame-pointer -c /home/paul/source/gcc6.2/amigaos-cross-toolchain/submodules/libnix/sources/stubs/../nix/misc/__request.c -o ../nix/misc/__request.o
In file included from /opt/m68k-amigaos/os-include/inline/intuition.h:16:0,
from /opt/m68k-amigaos/os-include/proto/intuition.h:13,
from /home/paul/source/gcc6.2/amigaos-cross-toolchain/submodules/libnix/sources/stubs/../nix/misc/__request.c:2:
/home/paul/source/gcc6.2/amigaos-cross-toolchain/submodules/libnix/sources/stubs/../nix/misc/__request.c: In function ‘__request’:
/home/paul/source/gcc6.2/amigaos-cross-toolchain/submodules/libnix/sources/stubs/../nix/misc/__request.c:13:26: error: invalid use of void expression
if (((struct Process *)FindTask(NULL))->pr_WindowPtr != (APTR)-1L) {
^
/home/paul/source/gcc6.2/amigaos-cross-toolchain/submodules/libnix/sources/stubs/../nix/misc/__request.c:14:23: error: void value not ignored as it ought to be
if ((IntuitionBase=OpenLibrary(__intuitionname,0))) {
^
Looks like OS calls are defined as returning void? If I hack around this the next file fails.
Building under Debian Linux VM. Cahirwpz's GCC 2.95 builds correctly.
Would love to know if anyone else has similar issues.