NetBSD-Bugs archive

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

lib/49990: libc++ fails to build with g++ 5.1 due to the following types of errors:



>Number:         49990
>Category:       lib
>Synopsis:       libc++ fails to build with g++ 5.1 due to the following types of errors:
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    lib-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jun 20 23:15:00 +0000 2015
>Originator:     Brian Graham
>Release:        some future NetBSD
>Organization:
N/a
>Environment:
Linux Vagabond 4.0.5-1-MANJARO #1 SMP PREEMPT Sat Jun 6 19:29:16 UTC 2015 x86_64 GNU/Linux

>Description:
libc++ fails to build with g++ 5.1 due to the following types of errors:

=== snip ===
--- rt_exception.o ---
rt_exception.cc:679:43: error: declaration of 'void* __cxa_begin_catch(void*)' has a different exception specifier
 extern "C" void *__cxa_begin_catch(void *e);
                                           ^
rt_exception.cc:608:9: error: from previous declaration 'void* __cxa_begin_catch(void*) throw ()'
   catch(...)
         ^
rt_exception.cc: In function 'handler_type check_action_record(_Unwind_Context*, dwarf_eh_lsda*, dw_eh_ptr_t, __cxxabiv1::__cxa_exception*, long unsigned int*, void*&)':
rt_exception.cc:974:20: warning: declaration of 'handler_type' shadows a global declaration [-Wshadow]
    std::type_info *handler_type = get_type_info_entry(context, lsda, filter);
                    ^
rt_exception.cc:147:3: note: shadowed declaration is here
 } handler_type;
   ^
rt_exception.cc:1001:21: warning: declaration of 'handler_type' shadows a global declaration [-Wshadow]
     std::type_info *handler_type = get_type_info_entry(context, lsda, *(type_index++));
                     ^
rt_exception.cc:147:3: note: shadowed declaration is here
 } handler_type;
   ^
rt_exception.cc: In function '_Unwind_Reason_Code __gxx_personality_v0(int, _Unwind_Action, __uint64_t, _Unwind_Exception*, _Unwind_Context*)':
rt_exception.cc:1087:29: warning: missing initializer for member 'dwarf_eh_action::action_record' [-Wmissing-field-initializers]
  dwarf_eh_action action = {0};
                             ^
*** [rt_exception.o] Error code 1

nbmake[2]: stopped in /home/brian/unik/rumprun-dist/src-netbsd/external/bsd/libc++/lib
1 error

nbmake[2]: stopped in /home/brian/unik/rumprun-dist/src-netbsd/external/bsd/libc++/lib
*** [dependall] Error code 2

nbmake[1]: stopped in /home/brian/unik/rumprun-dist/src-netbsd/external/bsd/libc++/lib
1 error

nbmake[1]: stopped in /home/brian/unik/rumprun-dist/src-netbsd/external/bsd/libc++/lib
*** [dependall-lib] Error code 2

nbmake: stopped in /home/brian/unik/rumprun-dist/src-netbsd/external/bsd/libc++

nbmake: stopped in /home/brian/unik/rumprun-dist/src-netbsd/external/bsd/libc++

=== snip ===

For a full build log including the full g++ error output, see:

https://gist.githubusercontent.com/Incognito/376c48cf9db59ad91bd8/raw/aaecbc88891f4c8a6b6793a66c5675e4352df37d/build.log
>How-To-Repeat:
On a(n x86) system with g++ 5.1, git clone repo.rumpkernel.org/rumprun and run "./build-rr.sh hw".
>Fix:
Well... I compile with clang++ instead of g++ and it seems to work for this specific error.



Home | Main Index | Thread Index | Old Index