Re: Symbian: Build warnings and errors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 26 Dec 2021, 23:01 Fiodar Stryzhnoiu via Gcc-help, <
gcc-help@xxxxxxxxxxx> wrote:

> I build baremetal crosscompiler for Symbian. That means no libc used in
> any way. For Symbian libc is usual library. It has two libc ports for now.
>
> Here build config:
> export TARGET=arm-none-symbianelf
> # Installation folder
> export GCCC=gcc-11.2.0
>
> # needed enviroment-free statically linked GCC
> ICONV=--with-libiconv-prefix=/usr/local
>
> export PREFIX=/usr/local/$GCCC
> export PATH=$PATH:$PREFIX/bin
> unset CFLAGS
> export CFLAGS+="-pipe -Wl,-Bstatic"
> MAKEJOBS=-j"${NUMBER_OF_PROCESSORS}"
> #set SHELL=cmd.exe allow parallel build on windows
> set SHELL=cmd.exe
>
> cd build-gcc
>
> ../$GCCC/./configure  --target=$TARGET --prefix=$PREFIX  --without-headers
> \
>         --enable-languages="c,c++,lto" --enable-poison-system-directories \
>         --enable-lto --with-newlib --enable-long-long $ICONV \
>         --with-dwarf2 --enable-interwork --enable-tls --enable-multilib \
>         --disable-hosted-libstdcxx --disable-libstdcxx-pch \
>         --disable-option-checking --disable-threads --disable-nls \
>         --disable-win32-registry --disable-libssp --disable-shared \
>         --enable-wchar_t --enable-extra-sgxxlite-multilibs --enable-c99 \
>         --with-static-standard-libraries
> make $MAKEJOBS -k 2> make-gcc.log
> make -k install-strip 2> install-gcc.log
>
> Here full list warnings and error while build GCC for Symbian:
>
> 1. configure: WARNING: using in-tree isl, disabling version check(long
> ago, maybe even 5.4.0)
>

This is not a problem. It's just telling you that it isn't doing a version
check. If you're using a suitable version of isl, there is no problem.
Using isl is completely optional anyway, you can build GCC without it.



> 2. After several minutes build hang if "make -jX" used(long ago, maybe
> even 5.4.0). One make.exe uses cpu other don't. Build continues immediatly
> if right make killed. Windows itself response ok. Log before hang:
>

This is unlikely to be a problem with GCC, it's more likely to be a bug in
Make on your OS. If it's a GCC process (or one of it's scripts like
fixincludes) which hangs then that would be a GCC problem.


3. Many warnings for every file:
> ../../gcc-11.2.0/./gcc/mem-stats.h:215:72: warning: ISO C++11 does not
> support the 'I64' ms_printf length modifier [-Wformat=]
>        get_percent (m_times, total.m_times), loc->m_ggc ? "ggc" : "heap");
>
> ../../gcc-11.2.0/./gcc/pretty-print.h: In function 'void
> pp_wide_integer(pretty_printer*, long long int)':
> ../../gcc-11.2.0/./gcc/pretty-print.h:329:60: warning: ISO C++11 does not
> support the 'I64' ms_printf length modifier [-Wformat=]
>        sprintf (pp_buffer (PP)->digit_buffer, FORMAT, SCALAR); \
>
> ../../gcc-11.2.0/./gcc/alloc-pool.h:76:31: warning: ISO C++11 does not
> support the 'I64' ms_printf length modifier [-Wformat=]
>
> ../../gcc-11.2.0/./gcc/bitmap.h:252:34: warning: ISO C++11 does not
> support the 'I64' ms_printf length modifier [-Wformat=]
>
> ../../gcc-11.2.0/./gcc/lto-streamer.c:179:42: warning: ISO C++11 does not
> support the 'I64' ms_printf length modifier [-Wformat=]
>

You can ignore those.

4. got build-gcc\mpfr\src\.libs\mpfr.a but has in logs:
> configure:14288: error: possibly undefined macro: AX_PTHREAD
>       If this token and others are legitimate, please use m4_pattern_allow.
>       See the Autoconf documentation.
> make[2]: *** [../../gcc-11.2.0/./mpfr/configure] Error 1
> make[2]: Failed to remake makefile `Makefile'.
> libtool: warning: undefined symbols not allowed in i686-pc-mingw32 shared
> libraries; building static only
> make[1]: *** [all-mpfr] Error 2
> make[1]: Target `all-host' not remade because of errors.
> make[1]: Target `all-target' not remade because of errors.
> make: *** [all] Error 2
>
> 5. Another hang in libgcc if "make -jX":
>

[...]

6. Bunch warnings and errors:
> /bin/install: cannot stat `crtfastmath.o': No such file or directory
> configure: WARNING: No native atomic operations are provided for this
> platform.
> configure: WARNING: They cannot be faked when thread support is disabled.
> configure: WARNING: Thread-safety of certain classes is not guaranteed.
> configure: WARNING: stdbool.h: present but cannot be compiled
> configure: WARNING: stdbool.h:     check for missing prerequisite headers?
> configure: WARNING: stdbool.h: see the Autoconf documentation
> configure: WARNING: stdbool.h:     section "Present But Cannot Be Compiled"
> configure: WARNING: stdbool.h: proceeding with the compiler's result
> configure: WARNING: stdalign.h: present but cannot be compiled
> configure: WARNING: stdalign.h:     check for missing prerequisite headers?
> configure: WARNING: stdalign.h: see the Autoconf documentation
> configure: WARNING: stdalign.h:     section "Present But Cannot Be
> Compiled"
> configure: WARNING: stdalign.h: proceeding with the compiler's result
> configure: error: computing EOF failed
> make[1]: *** [configure-target-libstdc++-v3] Error 1
> make[1]: Target `all-target' not remade because of errors.
> make: *** [all] Error 2
>
> 7. Errors for computing EOF, SEEK_CUR, and SEEK_END:
> checking for the value of EOF... configure: error: computing EOF failed
> make: *** [configure-target-libstdc++-v3] Error 1
> Why they needed in bare metal compiler?
>

You're doing a 3-stage bootstrap, so GCC needs a hosted libstdc++ to build
itself. I think only the final stage will be freestanding. Try
--disable-bootstrap to avoid that.



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux