Re: r246057: buildworld fails with: /usr/obj/usr/src/tmp/usr/lib/libc++.so: undefined reference to `std::bad_alloc::~bad_alloc()'

From: O. Hartmann <ohartman_at_zedat.fu-berlin.de>
Date: Thu, 31 Jan 2013 05:37:59 +0100
Am 01/29/13 17:35, schrieb David Wolfskill:
> On Tue, Jan 29, 2013 at 11:06:02AM +0100, O. Hartmann wrote:
>> I receive this error since yesterday building world and it is still
>> sticky on most recent sources (r246057) and I was wondering why the
>> tinderboxes do not pick this up on the 10.0-CURRENT builds ... just for
>> a notice for the development folks ...
>> ... 
>> ===> libexec/atf/atf-check (all)
>> ...
>> c++ -O3 -pipe -fno-strict-aliasing -march=native -march=native
>> -DHAVE_CONFIG_H -I/usr/src/libexec/atf/atf-check/../../../contrib/atf
>> -Qunused-arguments -fstack-protector -Wsystem-headers -Wall
>> -Wno-format-y2k -W -Wno-unused-parameter -Wpointer-arith
>> -Wno-uninitialized -Wno-empty-body -Wno-string-plus-int
>> -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
>> -Wno-unused-function -Wno-conversion -stdlib=libc++ -std=c++11
>> -L/usr/obj/usr/src/libexec/atf/atf-check/../../../lib/atf/libatf-c++
>> -L/usr/obj/usr/src/libexec/atf/atf-check/../../../lib/atf/libatf-c -o
>> atf-check atf-check.o -latf-c++ -latf-c
>> /usr/obj/usr/src/tmp/usr/lib/libc++.so: undefined reference to
>> `std::bad_alloc::~bad_alloc()'
>> /usr/obj/usr/src/libexec/atf/atf-check/../../../lib/atf/libatf-c++/libatf-c++.so:
>> undefined reference to `std::bad_alloc::bad_alloc()'
>> /usr/obj/usr/src/libexec/atf/atf-check/../../../lib/atf/libatf-c++/libatf-c++.so:
>> undefined reference to `std::bad_alloc::~bad_alloc()'
>> /usr/obj/usr/src/tmp/usr/lib/libc++.so: undefined reference to
>> `std::bad_alloc::bad_alloc()'
>> c++: error: linker command failed with exit code 1 (use -v to see
>> invocation)
>> *** [atf-check] Error code 1
>>
>> Stop in /usr/src/libexec/atf/atf-check.
>> *** [all] Error code 1
>> ...
> 
> In contrast, I don't see a problem; most recent head build I have is:
> 
> FreeBSD freebeast.catwhisker.org 10.0-CURRENT FreeBSD 10.0-CURRENT #1057  r246057M/246068: Tue Jan 29 07:29:55 PST 2013     root_at_freebeast.catwhisker.org:/usr/obj/usr/src/sys/GENERIC  i386
> 
> 
> For reference, yesterday's was:
> 
> FreeBSD freebeast.catwhisker.org 10.0-CURRENT FreeBSD 10.0-CURRENT #1056  r246028M/246028: Mon Jan 28 06:49:44 PST 2013     root_at_freebeast.catwhisker.org:/usr/obj/usr/src/sys/GENERIC  i386
> 
> 
> That said (and this may be relevant), I'm using clang/clang++ to
> build FreeBSD.
> 
> Peace,
> david
> 

First, I suspected the c++ option "-std=c++11" I issued in /etc/src.conf
when building the sources - I did this before without any problems.
Then, leaving the build without "-std=c++11" option, I get the following
error below and compilation stops.

Maybe this reveals the real issue.

The revision of the OS I compile on and where it fails is FreeBSD
10.0-CURRENT #2 r245995: Sun Jan 27 19:56:47 CET 2013. This is maybe of
any help.

The sources are at Revision: 246142

Oliver




[...]
/usr/obj/usr/src/tmp/usr/include/c++/v1/memory:3771:14: error: default
template arguments for a function template are a C++11 extension
[-Werror,-Wc++11-extensions]
             class = typename enable_if
             ^       ~~~~~~~~~~~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
In file included from
/usr/src/lib/atf/libatf-c++/../../../contrib/atf/atf-c++/detail/application.cpp:42:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/iostream:38:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/ios:216:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/__locale:15:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/string:434:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/algorithm:594:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/memory:597:
/usr/obj/usr/src/tmp/usr/include/c++/v1/__functional_base:22:1: error:
inline namespaces are a C++11 feature [-Werror,-Wc++11-extensions]
_LIBCPP_BEGIN_NAMESPACE_STD
^
/usr/obj/usr/src/tmp/usr/include/c++/v1/__config:275:52: note: expanded
from macro '_LIBCPP_BEGIN_NAMESPACE_STD'
#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {inline namespace
_LIBCPP_NAMESPACE {
                                                   ^
/usr/obj/usr/src/tmp/usr/include/c++/v1/__config:275:52: note: expanded
from macro '_LIBCPP_BEGIN_NAMESPACE_STD'
#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {inline namespace
_LIBCPP_NAMESPACE {
                                                   ^
In file included from
/usr/src/lib/atf/libatf-c++/../../../contrib/atf/atf-c++/detail/application.cpp:42:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/iostream:38:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/ios:216:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/__locale:15:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/string:434:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/algorithm:594:
/usr/obj/usr/src/tmp/usr/include/c++/v1/memory:614:1: error: inline
namespaces are a C++11 feature [-Werror,-Wc++11-extensions]
_LIBCPP_BEGIN_NAMESPACE_STD
^
/usr/obj/usr/src/tmp/usr/include/c++/v1/__config:275:52: note: expanded
from macro '_LIBCPP_BEGIN_NAMESPACE_STD'
In file included from
/usr/src/lib/atf/libatf-c++/../../../contrib/atf/atf-c++/build.cpp:36:
In file included from
/usr/src/lib/atf/libatf-c++/../../../contrib/atf/atf-c++/build.hpp:33:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/string:434:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/algorithm:594:
/usr/obj/usr/src/tmp/usr/include/c++/v1/memory:3764:14: error: default
template arguments for a function template are a C++11 extension
[-Werror,-Wc++11-extensions]
             class = typename enable_if
             ^       ~~~~~~~~~~~~~~~~~~
/usr/obj/usr/src/tmp/usr/include/c++/v1/memory:3771:14: error: default
template arguments for a function template are a C++11 extension
[-Werror,-Wc++11-extensions]
             class = typename enable_if
             ^       ~~~~~~~~~~~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
In file included from
/usr/src/lib/atf/libatf-c++/../../../contrib/atf/atf-c++/detail/application.cpp:42:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/iostream:38:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/ios:216:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/__locale:15:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/string:434:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/algorithm:594:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/memory:599:
/usr/obj/usr/src/tmp/usr/include/c++/v1/tuple:126:1: error: inline
namespaces are a C++11 feature [-Werror,-Wc++11-extensions]
_LIBCPP_BEGIN_NAMESPACE_STD
^
/usr/obj/usr/src/tmp/usr/include/c++/v1/__config:275:52: note: expanded
from macro '_LIBCPP_BEGIN_NAMESPACE_STD'
#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {inline namespace
_LIBCPP_NAMESPACE {
                                                   ^
#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {inline namespace
_LIBCPP_NAMESPACE {
                                                   ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
In file included from
/usr/src/lib/atf/libatf-c++/../../../contrib/atf/atf-c++/detail/application.cpp:42:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/iostream:38:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/ios:216:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/__locale:15:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/string:434:
In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/algorithm:594:
/usr/obj/usr/src/tmp/usr/include/c++/v1/memory:614:1: error: inline
namespaces are a C++11 feature [-Werror,-Wc++11-extensions]
_LIBCPP_BEGIN_NAMESPACE_STD
^
/usr/obj/usr/src/tmp/usr/include/c++/v1/__config:275:52: note: expanded
from macro '_LIBCPP_BEGIN_NAMESPACE_STD'
#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {inline namespace
_LIBCPP_NAMESPACE {
                                                   ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
20 errors generated.
*** [application.o] Error code 1
*** [application.So] Error code 1
20 errors generated.
*** [build.o] Error code 1
20 errors generated.
*** [build.So] Error code 1
4 errors
*** [all] Error code 2
1 error
*** [all] Error code 2
1 error
*** [lib__L] Error code 2
1 error
*** [libraries] Error code 2
1 error
*** [_libraries] Error code 2
1 error
*** [buildworld] Error code 2
1 error



Received on Thu Jan 31 2013 - 03:38:03 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:34 UTC