[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: lilypond-2.17.28 doesn't build with libc++
From: |
Thomas Klausner |
Subject: |
Re: lilypond-2.17.28 doesn't build with libc++ |
Date: |
Fri, 8 Nov 2013 12:27:55 +0100 |
On Fri, Nov 08, 2013 at 11:15:29AM +0100, Thomas Klausner wrote:
> I've tried building lilypond-2.17.28 with libc++, the new standard c++
> library for use with llvm (http://libcxx.llvm.org/).
>
> I have a build failure I don't really know how to fix, it is:
>
> In file included from file-path.cc:21:
> In file included from ./include/file-path.hh:23:
> In file included from ./include/std-vector.hh:74:
> /usr/include/c++/vector:1371:12: error: calling a private constructor of
> class 'std::__1::__wrap_iter<std::__1::basic_string<char> *>'
> return iterator(__p);
> ^
> /usr/include/c++/vector:1408:12: note: in instantiation of member function
> 'std::__1::__flower_vector<std::__1::basic_string<char>,
> std::__1::allocator<std::__1::basic_string<char> > >::__make_iter'
> requested here
> return __make_iter(this->__end_);
> ^
> ./include/std-vector.hh:155:15: note: in instantiation of member function
> 'std::__1::__flower_vector<std::__1::basic_string<char>,
> std::__1::allocator<std::__1::basic_string<char> > >::end' requested
> here
> v.insert (v.end (), w.begin (), w.end ());
> ^
> file-path.cc:52:3: note: in instantiation of function template specialization
> 'concat<std::__1::basic_string<char> >' requested here
> concat (dirs_, string_split (p, PATHSEP));
> ^
> /usr/include/c++/iterator:1200:31: note: declared private here
> _LIBCPP_INLINE_VISIBILITY __wrap_iter(iterator_type __x) _NOEXCEPT :
> __i(__x) {}
> ^
>
> same error in another file:
> In file included from file-path.cc:21:
> In file included from ./include/file-path.hh:23:
> In file included from ./include/std-vector.hh:74:
> /usr/include/c++/vector:1371:12: error: calling a private constructor of
> class 'std::__1::__wrap_iter<std::__1::basic_string<char> *>'
> return iterator(__p);
> ^
> /usr/include/c++/vector:1408:12: note: in instantiation of member function
> 'std::__1::__flower_vector<std::__1::basic_string<char>,
> std::__1::allocator<std::__1::basic_string<char> > >::__make_iter'
> requested here
> return __make_iter(this->__end_);
> ^
> ./include/std-vector.hh:155:15: note: in instantiation of member function
> 'std::__1::__flower_vector<std::__1::basic_string<char>,
> std::__1::allocator<std::__1::basic_string<char> > >::end' requested
> here
> v.insert (v.end (), w.begin (), w.end ());
> ^
> file-path.cc:52:3: note: in instantiation of function template specialization
> 'concat<std::__1::basic_string<char> >' requested here
> concat (dirs_, string_split (p, PATHSEP));
> ^
> /usr/include/c++/iterator:1200:31: note: declared private here
> _LIBCPP_INLINE_VISIBILITY __wrap_iter(iterator_type __x) _NOEXCEPT :
> __i(__x) {}
> ^
>
> I know that there are differences between GNU cc and clang wrt. the
> inline keyword, see
>
> http://clang.llvm.org/compatibility.html#inline
>
> and I guess it might be related, but I don't see how to fix that.
>
> Ideas?
I just saw that 2.17.95 is out.
It still has the same error.
I also saw
In file included from interval-set.cc:20:
In file included from ./include/interval-set.hh:23:
In file included from ./include/std-vector.hh:74:
/usr/include/c++/vector:1371:12: error: calling a private constructor of class
'std::__1::__wrap_iter<Interval_t<double> *>'
return iterator(__p);
^
/usr/include/c++/vector:1392:12: note: in instantiation of member function
'std::__1::__flower_vector<Interval_t<double>,
std::__1::allocator<Interval_t<double> >
>::__make_iter' requested here
return __make_iter(this->__begin_);
^
./include/std-vector.hh:216:11: note: in instantiation of member function
'std::__1::__flower_vector<Interval_t<double>,
std::__1::allocator<Interval_t<double> > >::begin'
requested here
sort (v.begin () + b, v.begin () + e, less);
^
interval-set.cc:40:3: note: in instantiation of function template
specialization 'vector_sort<Interval_t<double>, bool (*)(const
Interval_t<double> &, const Interval_t<double>
&)>' requested here
vector_sort (ivs, Interval::left_less);
^
/usr/include/c++/iterator:1200:31: note: declared private here
_LIBCPP_INLINE_VISIBILITY __wrap_iter(iterator_type __x) _NOEXCEPT :
__i(__x) {}
^
warn.cc:114:29: error: use of undeclared identifier 'expected_warnings'; did
you mean 'expect_warning'?
for (vsize i = 0; i < expected_warnings.size (); i++)
^~~~~~~~~~~~~~~~~
expect_warning
warn.cc:102:6: note: 'expect_warning' declared here
void expect_warning (const string &msg)
^
warn.cc:114:46: error: member reference base type 'void (const string &)' is
not a structure or union
for (vsize i = 0; i < expected_warnings.size (); i++)
~~~~~~~~~~~~~~~~~^~~~~
warn.cc:115:31: error: use of undeclared identifier 'expected_warnings'; did
you mean 'expect_warning'?
msg += "\n " + expected_warnings[i];
^~~~~~~~~~~~~~~~~
expect_warning
warn.cc:102:6: note: 'expect_warning' declared here
void expect_warning (const string &msg)
^
warn.cc:115:31: error: subscript of pointer to function type 'void (const
string &)'
msg += "\n " + expected_warnings[i];
^~~~~~~~~~~~~~~~~
warn.cc:119:3: error: use of undeclared identifier 'expected_warnings'; did you
mean 'expect_warning'?
expected_warnings.clear ();
^~~~~~~~~~~~~~~~~
expect_warning
warn.cc:102:6: note: 'expect_warning' declared here
void expect_warning (const string &msg)
^
warn.cc:119:20: error: member reference base type 'void (const string &)' is
not a structure or union
expected_warnings.clear ();
~~~~~~~~~~~~~~~~~^~~~~~
And
string-convert.cc:302:26: error: call to 'to_string' is ambiguous
string format = "%." + to_string (max (0, n - 1)) + "e";
^~~~~~~~~
/usr/include/c++/string:4011:25: note: candidate function
_LIBCPP_FUNC_VIS string to_string(int __val);
^
./include/std-string.hh:44:8: note: candidate function
string to_string (int i, char const *format = 0);
^
/usr/include/c++/string:4012:25: note: candidate function
_LIBCPP_FUNC_VIS string to_string(unsigned __val);
^
/usr/include/c++/string:4013:25: note: candidate function
_LIBCPP_FUNC_VIS string to_string(long __val);
^
/usr/include/c++/string:4014:25: note: candidate function
_LIBCPP_FUNC_VIS string to_string(unsigned long __val);
^
/usr/include/c++/string:4015:25: note: candidate function
_LIBCPP_FUNC_VIS string to_string(long long __val);
^
/usr/include/c++/string:4016:25: note: candidate function
_LIBCPP_FUNC_VIS string to_string(unsigned long long __val);
^
/usr/include/c++/string:4017:25: note: candidate function
_LIBCPP_FUNC_VIS string to_string(float __val);
^
/usr/include/c++/string:4018:25: note: candidate function
_LIBCPP_FUNC_VIS string to_string(double __val);
^
/usr/include/c++/string:4019:25: note: candidate function
_LIBCPP_FUNC_VIS string to_string(long double __val);
^
./include/std-string.hh:43:8: note: candidate function
string to_string (char c, int n = 1);
^
./include/std-string.hh:45:8: note: candidate function
string to_string (double f, char const *format = 0);
^
./include/std-string.hh:46:8: note: candidate function
string to_string (long);
^
./include/std-string.hh:47:8: note: candidate function
string to_string (long unsigned);
^
./include/std-string.hh:48:8: note: candidate function
string to_string (I64, char const *format = 0);
^
./include/std-string.hh:49:8: note: candidate function
string to_string (unsigned);
^
./include/std-string.hh:50:8: note: candidate function
string to_string (bool b);
^
And:
warn.cc:101:1: error: unknown type name 'vector'
vector<string> expected_warnings;
^
warn.cc:101:7: error: expected unqualified-id
vector<string> expected_warnings;
^
interval-set.cc:82:3: error: use of undeclared identifier 'vector'
vector<Interval>::const_iterator i = upper_bound (x);
^
interval-set.cc:82:10: error: unexpected type name 'Interval': expected
expression
vector<Interval>::const_iterator i = upper_bound (x);
^
warn.cc:104:3: error: use of undeclared identifier 'expected_warnings'; did you
mean 'expect_warning'?
expected_warnings.push_back (msg);
^~~~~~~~~~~~~~~~~
expect_warning
warn.cc:102:6: note: 'expect_warning' declared here
void expect_warning (const string &msg)
^
warn.cc:104:20: error: member reference base type 'void (const string &)' is
not a structure or union
expected_warnings.push_back (msg);
~~~~~~~~~~~~~~~~~^~~~~~~~~~
interval-set.cc:82:21: error: no member named 'const_iterator' in the global
namespace
vector<Interval>::const_iterator i = upper_bound (x);
~~^
interval-set.cc:83:7: error: use of undeclared identifier 'i'
if (i != intervals_.end ())
^
warn.cc:109:7: error: use of undeclared identifier 'expected_warnings'; did you
mean 'expect_warning'?
if (expected_warnings.size () > 0)
^~~~~~~~~~~~~~~~~
expect_warning
warn.cc:102:6: note: 'expect_warning' declared here
void expect_warning (const string &msg)
^
warn.cc:109:24: error: member reference base type 'void (const string &)' is
not a structure or union
if (expected_warnings.size () > 0)
~~~~~~~~~~~~~~~~~^~~~~
interval-set.cc:84:15: error: use of undeclared identifier 'i'
right = (*i)[LEFT];
^
interval-set.cc:86:7: error: use of undeclared identifier 'i'
if (i != intervals_.begin ())
^
interval-set.cc:88:28: error: use of undeclared identifier 'i'
Interval left_iv = *(i - 1);
^
warn.cc:113:24: error: use of undeclared identifier 'expected_warnings'; did
you mean 'expect_warning'?
expected_warnings.size ());
^~~~~~~~~~~~~~~~~
expect_warning
warn.cc:102:6: note: 'expect_warning' declared here
void expect_warning (const string &msg)
^
warn.cc:113:41: error: member reference base type 'void (const string &)' is
not a structure or union
expected_warnings.size ());
~~~~~~~~~~~~~~~~~^~~~~
Thomas
- Re: lilypond-2.17.28 doesn't build with libc++, (continued)
- Re: lilypond-2.17.28 doesn't build with libc++, David Kastrup, 2013/11/08
- Re: lilypond-2.17.28 doesn't build with libc++, Thomas Klausner, 2013/11/08
- Re: lilypond-2.17.28 doesn't build with libc++, Joerg Sonnenberger, 2013/11/08
- Re: lilypond-2.17.28 doesn't build with libc++, James, 2013/11/09
- Re: lilypond-2.17.28 doesn't build with libc++, Joerg Sonnenberger, 2013/11/09
- Re: lilypond-2.17.28 doesn't build with libc++, Thomas Klausner, 2013/11/13
- Re: lilypond-2.17.28 doesn't build with libc++, David Kastrup, 2013/11/13
- Re: lilypond-2.17.28 doesn't build with libc++, Thomas Klausner, 2013/11/13
- Re: lilypond-2.17.28 doesn't build with libc++, David Kastrup, 2013/11/13
- Re: lilypond-2.17.28 doesn't build with libc++, David Kastrup, 2013/11/09
Re: lilypond-2.17.28 doesn't build with libc++,
Thomas Klausner <=
Re: lilypond-2.17.28 doesn't build with libc++, Thomas Klausner, 2013/11/21