Re: Symbian: Build warnings and errors

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

 



On Sun, 26 Dec 2021 23:31:09 +0000
Jonathan Wakely <jwakely.gcc@xxxxxxxxx> wrote:

> 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.
 That helps.

Can't build libsupc++ at all. "make install-strip-target-libstdc++-v3" output:
make[3]: Leaving directory `/d/mbuild/src/build-gcc/arm-none-symbianelf/v5te/softfp/libgcc'
make[2]: Leaving directory `/d/mbuild/src/build-gcc/arm-none-symbianelf/libgcc'
make[1]: Leaving directory `/d/mbuild/src/build-gcc/arm-none-symbianelf/libgcc'
make[1]: Entering directory `/d/mbuild/src/build-gcc/arm-none-symbianelf/libstdc++-v3'
make[1]: *** No rule to make target `install'.  Stop.
make[1]: Leaving directory `/d/mbuild/src/build-gcc/arm-none-symbianelf/libstdc++-v3'
make: *** [install-target-libstdc++-v3] Error 2 

----- 
Фёдар Стрыжнёў(Fiodar Stryzhniou) <fedor_qd@xxxxxxx>



[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