Re: GCC 4.8.3 make all-target-libstdc++-v3 error: eh_arm.cc cannot use typeid with -fno-rtti

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

 



On Fri, Dec 19, 2014 at 6:31 AM, Cyd Haselton <chaselton@xxxxxxxxx> wrote:
> So I've decided to upgrade from 4.8.0 to 4.8.3 before attempting to
> upgrade to 4.9.2 on my android device and I've run into the following
> error when make attempts to compile libstdc++:
> **snip**
>
> libtool: compile:  /bld/gcc/builddir-4.8.3/./gcc/xgcc -shared-libgcc
> -B/bld/gcc/builddir-4.8.3/./gcc -nostdinc++
> -L/bld/gcc/builddir-4.8.3/arm-linux-androideabi/libstdc++-v3/src
> -L/bld/gcc/builddir-4.8.3/arm-linux-androideabi/libstdc++-v3/src/.libs
> -B/usr/gcc-4.9/arm-linux-androideabi/bin/
> -B/usr/gcc-4.9/arm-linux-androideabi/lib/ -isystem
> /usr/gcc-4.9/arm-linux-androideabi/include -isystem
> /usr/gcc-4.9/arm-linux-androideabi/sys-include
> --sysroot=/usr/gcc-4.9/sysroot
> -I/bld/gcc/gcc-4.8.3/libstdc++-v3/../libgcc
> -I/bld/gcc/builddir-4.8.3/arm-linux-androideabi/libstdc++-v3/include/arm-linux-androideabi
> -I/bld/gcc/builddir-4.8.3/arm-linux-androideabi/libstdc++-v3/include
> -I/bld/gcc/gcc-4.8.3/libstdc++-v3/libsupc++ -D_GLIBCXX_SHARED -Wall
> -Wextra -Wwrite-strings -Wcast-qual -Wabi
> -fdiagnostics-show-location=once -ffunction-sections -fdata-sections
> -frandom-seed=eh_arm.lo -g -O2 -D_GNU_SOURCE -c
> ../../../../gcc-4.8.3/libstdc++-v3/libsupc++/eh_arm.cc  -fPIC -DPIC
> -D_GLIBCXX_SHARED -o eh_arm.o
> ../../../../gcc-4.8.3/libstdc++-v3/libsupc++/eh_arm.cc: In function
> '__cxxabiv1::__cxa_type_match_result
> __cxa_type_match(_Unwind_Control_Block*, const std::type_info*, bool,
> void**)':
> ../../../../gcc-4.8.3/libstdc++-v3/libsupc++/eh_arm.cc:57:46: error:
> cannot use typeid with -fno-rtti
>      throw_type = &typeid(abi::__forced_unwind);
>                                               ^
> ../../../../gcc-4.8.3/libstdc++-v3/libsupc++/eh_arm.cc:59:50: error:
> cannot use typeid with -fno-rtti
>      throw_type = &typeid(abi::__foreign_exception);
>                                                   ^
> make[5]: *** [eh_arm.lo] Error 1
> make[5]: Leaving directory
> `/bld/gcc/builddir-4.8.3/arm-linux-androideabi/libstdc++-v3/libsupc++'
> make[4]: *** [all-recursive] Error 1
> make[4]: Leaving directory
> `/bld/gcc/builddir-4.8.3/arm-linux-androideabi/libstdc++-v3'
> make[3]: *** [all] Error 2
> make[3]: Leaving directory
> `/bld/gcc/builddir-4.8.3/arm-linux-androideabi/libstdc++-v3'
> make[2]: *** [all-stage1-target-libstdc++-v3] Error 2
> make[2]: Leaving directory `/bld/gcc/builddir-4.8.3'
> make[1]: *** [stage1-bubble] Error 2
> make[1]: Leaving directory `/bld/gcc/builddir-4.8.3'
> make: *** [all] Error 2
>
> When researching this error I found a post that indicated that -frtti
> is possible when lgnustl_shared is included...which I have in
> LIBS...however I've usually left the default -fno-rtti flag to avoid
> complications.
>
> Is there a way around this error that doesn't involve re-running the
> top-level configure with -frtti?

UPDATE:  At some point during this procedure I had to start from
scratch and re-ran configure with -frtti.  Doing so did not resolve
the original error; the only workaround was to manually run configure
within the libstdc++-v3 directory with the -frtti option, then make,
then resume make from the top level build directory.



[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