Wednesday, 9 September 2020

Re: [gccsdk] Build problems for crosscompiler

Now that I got the gccsdk building, I tried my next step, which is building it on my NAS. It's a QNAP TS-431P2, which is an ARM model. I tried building a docker image for it, using this docker image here: https://github.com/kuroneko/docker-riscos-gccsdk .

It seems to do the correct thing, but it also fails during build. It builds under an ubuntu image, so it should be pretty close to the build on my machine which was OK, so I think it has to do something with it being an ARM model, which causes a problem. The problem seems to be this:
 

gcc   -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat   -DHAVE_CONFIG_H -I. -I. -I/home/gccsdk/gcc4/srcdir/gcc/gcc -I/home/gccsdk/gcc4/srcdir/gcc/gcc/. -I/home/gccsdk/gcc4/srcdir/gcc/gcc/../include -I/home/gccsdk/gcc4/srcdir/gcc/gcc/../libcpp/include -I/home/gccsdk/gcc4/builddir/installed-libs-for-cross-gcc/include -I/home/gccsdk/gcc4/builddir/installed-libs-for-cross-gcc/include -I/home/gccsdk/gcc4/builddir/installed-libs-for-cross-gcc/include  -I/home/gccsdk/gcc4/srcdir/gcc/gcc/../libdecnumber -I/home/gccsdk/gcc4/srcdir/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/gccsdk/gcc4/builddir/installed-libs-for-cross-gcc/include  -I/home/gccsdk/gcc4/builddir/installed-libs-for-cross-gcc/include  \
  -DSTANDARD_STARTFILE_PREFIX=\"../../../\" -DSTANDARD_EXEC_PREFIX=\"/home/gccsdk/cross/lib/gcc/\" -DSTANDARD_LIBEXEC_PREFIX=\"/home/gccsdk/cross/libexec/gcc/\" -DDEFAULT_TARGET_VERSION=\"4.7.4\" -DDEFAULT_TARGET_MACHINE=\"arm-unknown-riscos\" -DSTANDARD_BINDIR_PREFIX=\"/home/gccsdk/cross/bin/\" -DTOOLDIR_BASE_PREFIX=\"../../../../\"  `test "X${SHLIB}" = "X" || test "yes" != "yes" || echo "-DENABLE_SHARED_LIBGCC"` -DCONFIGURE_SPECS="\"\"" \
  -c /home/gccsdk/gcc4/srcdir/gcc/gcc/gcc.c -o gcc.o)
In file included from ./tm.h:21:0,
                 from /home/gccsdk/gcc4/srcdir/gcc/gcc/gcc.c:37:
/home/gccsdk/gcc4/srcdir/gcc/gcc/config/arm/arm.h:2229:31: error: 'SUBTARGET_EXTRA_SPEC_FUNCTIONS' undeclared here (not in a function); did you mean 'SUBTARGET_EXTRA_SPECS'?
 # define EXTRA_SPEC_FUNCTIONS SUBTARGET_EXTRA_SPEC_FUNCTIONS  \
                               ^
/home/gccsdk/gcc4/srcdir/gcc/gcc/gcc.c:1270:3: note: in expansion of macro 'EXTRA_SPEC_FUNCTIONS'
   EXTRA_SPEC_FUNCTIONS
   ^~~~~~~~~~~~~~~~~~~~
/home/gccsdk/gcc4/srcdir/gcc/gcc/config/arm/arm.h:2230:3: error: expected '}' before '{' token


I found a reference to this problem at https://www.riscosopen.org/forum/forums/11/topics/9097 (search for SUBTARGET_EXTRA_SPEC_FUNCTIONS) but that again references a mail in this list saying the problem has gone away, but that doesn't seem to be the case for me.

I'll try to do the same solution as in that posting, but is there a proper solution?

Thanks
Jan-Jaap


-------------------------------------------------
This free account was provided by VFEmail.net - report spam to abuse@vfemail.net
 
ONLY AT VFEmail! - Use our Metadata Mitigator™ to keep your email out of the NSA's hands!
$24.95 ONETIME Lifetime accounts with Privacy Features!
No Bandwidth Quotas!   15GB disk space!
Commercial and Bulk Mail Options!

1 comment:

  1. Put #define SUBTARGET_EXTRA_SPEC_FUNCTIONS near the top of /home/gccsdk/gcc4/srcdir/gcc/gcc/config/arm/arm.h or possibly other means that prevent that troublesome ifdef block from building.
    There's no real fix for it to my knowledge besides doing that.

    ReplyDelete