This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: Error Building Newlib for arm-none-eabi
- From: R0b0t1 <r030t1 at gmail dot com>
- To: newlib at sourceware dot org
- Date: Tue, 20 Feb 2018 18:33:08 -0600
- Subject: Re: Error Building Newlib for arm-none-eabi
- Authentication-results: sourceware.org; auth=none
- References: <CAAD4mYj9uL9TXir3qH7TvoccqYDnL_hzgdNb18dtfUr7mXix4g@mail.gmail.com> <CAAD4mYinK5D-8Wc19ea+pRGK9kKkDdS7eV-4guiy_6=QrnSe9g@mail.gmail.com>
On Mon, Feb 19, 2018 at 10:44 PM, R0b0t1 <r030t1@gmail.com> wrote:
> On Mon, Feb 19, 2018 at 8:33 PM, R0b0t1 <r030t1@gmail.com> wrote:
>> I am trying to build for arm-none-eabi with GCC.
>>
>> ../../source/${dname}/configure \
>> --target=${TARGET} \
>> --prefix=`realpath ../../${DIR_PREFIX}` \
>> --disable-newlib-supplied-syscalls \
>> --enable-newlib-reent-small \
>> --disable-newlib-fvwrite-in-streamio \
>> --disable-newlib-fseek-optimization \
>> --disable-newlib-wide-orient \
>> --disable-newlib-unbuf-stream-opt \
>> --enable-newlib-global-atexit \
>> --enable-newlib-retargetable-locking \
>> --disable-nls
>>
>> make -j"${NCPU}" -l"${NCPU}"
>> make install
>>
>>
>> Gives:
>>
>> In file included from
>> /home/R0b0t1/devel/toolgen/source/newlib-3.0.0/newlib/libc/include/ssp/stdio.h:34:0,
>> from
>> /home/R0b0t1/devel/toolgen/source/newlib-3.0.0/newlib/libc/include/stdio.h:800,
>> from
>> ../../../../../../source/newlib-3.0.0/newlib/libc/stdio/gets.c:62:
>> ../../../../../../source/newlib-3.0.0/newlib/libc/stdio/gets.c:96:1:
>> error: expected declaration specifiers or ‘...’ before
>> ‘__builtin_object_size’
>> gets (char *buf)
>> ^
>>
>> I attempted to search for the error, but did not get much of anywhere.
>> The GCC mailing list informed me that building all components
>> separately may not be the best idea, but I am looking to copy existing
>> build systems and to integrate the code into those build systems. In
>> which case separate component builds are more convenient, at least for
>> now.
>>
>
> Some testing with a default configuration, just setting --target,
> leads to more of the same:
>
> In file included from
> /home/R0b0t1/devel/toolgen/source/newlib-3.0.0/newlib/libc/include/stdio.h:800:0,
> from
> ../../../../../../../source/newlib-3.0.0/newlib/libc/stdio/sprintf.c:572:
> ../../../../../../../source/newlib-3.0.0/newlib/libc/stdio/sprintf.c:606:1:
> error: expected declaration specifiers or ‘...’ before numeric
> constant
> sprintf (char *__restrict str,
> ^
> In file included from
> /home/R0b0t1/devel/toolgen/source/newlib-3.0.0/newlib/libc/include/ssp/stdio.h:34:0,
> from
> /home/R0b0t1/devel/toolgen/source/newlib-3.0.0/newlib/libc/include/stdio.h:800,
> from
> ../../../../../../../source/newlib-3.0.0/newlib/libc/stdio/sprintf.c:572:
> ../../../../../../../source/newlib-3.0.0/newlib/libc/stdio/sprintf.c:606:1:
> error: expected declaration specifiers or ‘...’ before
> ‘__builtin_object_size’
> sprintf (char *__restrict str,
> ^
> make[8]: *** [Makefile:1222: lib_a-sprintf.o] Error 1
> make[8]: *** Waiting for unfinished jobs....
> In file included from
> /home/R0b0t1/devel/toolgen/source/newlib-3.0.0/newlib/libc/include/ssp/stdio.h:34:0,
> from
> /home/R0b0t1/devel/toolgen/source/newlib-3.0.0/newlib/libc/include/stdio.h:800,
> from
> ../../../../../../../source/newlib-3.0.0/newlib/libc/stdio/gets.c:62:
> ../../../../../../../source/newlib-3.0.0/newlib/libc/stdio/gets.c:96:1:
> error: expected declaration specifiers or ‘...’ before
> ‘__builtin_object_size’
> gets (char *buf)
> ^
> In file included from
> /home/R0b0t1/devel/toolgen/source/newlib-3.0.0/newlib/libc/include/stdio.h:800:0,
> from
> ../../../../../../../source/newlib-3.0.0/newlib/libc/stdio/snprintf.c:22:
> ../../../../../../../source/newlib-3.0.0/newlib/libc/stdio/snprintf.c:66:1:
> error: expected declaration specifiers or ‘...’ before numeric
> constant
> snprintf (char *__restrict str,
> ^
> In file included from
> /home/R0b0t1/devel/toolgen/source/newlib-3.0.0/newlib/libc/include/ssp/stdio.h:34:0,
> from
> /home/R0b0t1/devel/toolgen/source/newlib-3.0.0/newlib/libc/include/stdio.h:800,
> from
> ../../../../../../../source/newlib-3.0.0/newlib/libc/stdio/snprintf.c:22:
> ../../../../../../../source/newlib-3.0.0/newlib/libc/stdio/snprintf.c:66:1:
> error: expected declaration specifiers or ‘...’ before
> ‘__builtin_object_size’
> snprintf (char *__restrict str,
> ^
> make[8]: *** [Makefile:1096: lib_a-gets.o] Error 1
> make[8]: *** [Makefile:1216: lib_a-snprintf.o] Error 1
> In file included from
> /home/R0b0t1/devel/toolgen/source/newlib-3.0.0/newlib/libc/include/stdio.h:800:0,
> from
> ../../../../../../../source/newlib-3.0.0/newlib/libc/stdio/vsprintf.c:25:
> ../../../../../../../source/newlib-3.0.0/newlib/libc/stdio/vsprintf.c:34:1:
> error: expected declaration specifiers or ‘...’ before numeric
> constant
> vsprintf (char *__restrict str,
> ^
> In file included from
> /home/R0b0t1/devel/toolgen/source/newlib-3.0.0/newlib/libc/include/ssp/stdio.h:34:0,
> from
> /home/R0b0t1/devel/toolgen/source/newlib-3.0.0/newlib/libc/include/stdio.h:800,
> from
> ../../../../../../../source/newlib-3.0.0/newlib/libc/stdio/vsprintf.c:25:
> ../../../../../../../source/newlib-3.0.0/newlib/libc/stdio/vsprintf.c:34:1:
> error: expected declaration specifiers or ‘...’ before
> ‘__builtin_object_size’
> vsprintf (char *__restrict str,
> ^
> In file included from
> /home/R0b0t1/devel/toolgen/source/newlib-3.0.0/newlib/libc/include/stdio.h:800:0,
> from
> ../../../../../../../source/newlib-3.0.0/newlib/libc/stdio/vsnprintf.c:25:
> ../../../../../../../source/newlib-3.0.0/newlib/libc/stdio/vsnprintf.c:35:1:
> error: expected declaration specifiers or ‘...’ before numeric
> constant
> vsnprintf (char *__restrict str,
> ^
> In file included from
> /home/R0b0t1/devel/toolgen/source/newlib-3.0.0/newlib/libc/include/ssp/stdio.h:34:0,
> from
> /home/R0b0t1/devel/toolgen/source/newlib-3.0.0/newlib/libc/include/stdio.h:800,
> from
> ../../../../../../../source/newlib-3.0.0/newlib/libc/stdio/vsnprintf.c:25:
> ../../../../../../../source/newlib-3.0.0/newlib/libc/stdio/vsnprintf.c:35:1:
> error: expected declaration specifiers or ‘...’ before
> ‘__builtin_object_size’
> vsnprintf (char *__restrict str,
> ^
>
>
I apologize for the updates, but I've just repeated that build with
different results. Only the error in gets.c is reported.
../../source/newlib-3.0.0/configure --target=arm-none-eabi
--host=x86_64-pc-linux-gnu --prefix=`realpath ../../prefix`
--docdir=`realpath ../../prefix/share/doc`
I had a similar issue with GCC that was solved with the addition of a
configuration flag, but here I am at a loss.
>
>> Thanks in advance,
>> R0b0t1