bug-lilypond
[Top][All Lists]
Advanced

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

Re: lilypond-2.17.28 doesn't build with libc++


From: Joerg Sonnenberger
Subject: Re: lilypond-2.17.28 doesn't build with libc++
Date: Fri, 8 Nov 2013 21:01:02 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

On Fri, Nov 08, 2013 at 12:01:04PM +0100, David Kastrup wrote:
> Thomas Klausner <address@hidden> writes:
> 
> > Hi!
> >
> > 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) {}
> 
> Looks like a rather fundamental problem in the C++ library to me.  Note
> that this is triggered by use of the template function

It isn't. It's a bug in Lilypond I had fixed in pkgsrc for the old
version, but Thomas was missing the various changed for 2.17.28.
Essentially, lots of files are not including config.h and therefore
don't have the HAVE_STD_VECTOR_DATA define set.

Attached is a patchset to fix this, some inconsistencies in the forward
type defines and some issues with the ambiguity of to_string.

Joerg

Attachment: lilypond.diff
Description: Text Data

Attachment: lilypond2.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]