NetBSD-Bugs archive

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

lib/49989: libc++ fails to build with g++ 5.1 due to libpthread volatiles



>Number:         49989
>Category:       lib
>Synopsis:       libc++ fails to build with g++ 5.1 due to libpthread volatiles
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    lib-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jun 20 15:05:00 +0000 2015
>Originator:     Antti Kantee
>Release:        some future NetBSD
>Organization:
>Environment:
>Description:
libc++ fails to build with g++ 5.1 due to the following types of errors:

=== snip ===
libc++/dist/libcxx/include/__mutex_base:32:69: error: temporary of non-literal type '__pthread_mutex_st' in a constant expression
      constexpr mutex() _NOEXCEPT : __m_(PTHREAD_MUTEX_INITIALIZER) {}
[...]
include/pthread_types.h:101:8: note: '__pthread_mutex_st' is not literal because:
 struct __pthread_mutex_st {
        ^
include/pthread_types.h:103:17: note:   non-static data member '__pthread_mutex_st::ptm_errorcheck' has volatile type
  pthread_spin_t ptm_errorcheck;
=== snip ===

For a full build log including the full g++ error output, see:
https://gist.githubusercontent.com/anonymous/566a26a930fa2d902894/raw/6824c3c138580bff415caddec3bdf1062d560a31/build.log

(via rumprun issue #33)
>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:
No idea, I don't speak C++.  Not sure if this is a libpthread problem or a libc++ problem.  (it might even be a g++ problem, in which case it's not a NetBSD bug and this report can be closed, but my money is on the first two and hence submitting it here)



Home | Main Index | Thread Index | Old Index