From owner-freebsd-ports@FreeBSD.ORG Tue Mar 31 22:31:09 2015 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 64E52D89 for ; Tue, 31 Mar 2015 22:31:09 +0000 (UTC) Received: from mail-ig0-x236.google.com (mail-ig0-x236.google.com [IPv6:2607:f8b0:4001:c05::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2795C263 for ; Tue, 31 Mar 2015 22:31:09 +0000 (UTC) Received: by igcau2 with SMTP id au2so32426117igc.0 for ; Tue, 31 Mar 2015 15:31:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-type; bh=F7hGbeE3ej4yIq1bCqHduhO6dKV6UEPGoZ9L88Uo0aU=; b=w3x9a1bugMJmhhQFvMdv/6r4SnRLDB4PbnpW93PHyUEAdTttysK5DVXmbcLJSZkk3+ /+Mw543uPc+jOp2cEu/6NGiQsbpJoxh+1S0ActFdTf7vDDZHiQJSOvDJrvH5dgJjdGZY VJM6Y6HUGdlrqiL4h7FwO0MVnBoNiATBIb8AYALKAkBdTiqZmTvbce4QkHgMDNRvcjOI kBQHRIt107yEQFcirtf28B0AEgQm4ULAZtmIhRKx6qgyWXhL5ilPewQnFxPB330Du1Mc vE1vhiNDEXtSE65zFbBmqkfYS8VEYVkf+FmOvIPa+z8IlMM7fKYz5DiJXaCQ9cdAmrni jI8w== X-Received: by 10.50.97.41 with SMTP id dx9mr7769503igb.1.1427841068488; Tue, 31 Mar 2015 15:31:08 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Ben Woods Date: Tue, 31 Mar 2015 22:31:08 +0000 Message-ID: Subject: Re: Update editors/abiword to 3.0.1 To: Gleb Popov <6yearold@gmail.com> Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: FreeBSD ports X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Mar 2015 22:31:09 -0000 Thanks for the feedback Gleb. I am compiling with clang 3.4.1 in FreeBSD 10.1 base. I have since spoken to an Abiword developer, who kindly helped me fix this issue with the following patch (which I will include in the PR I will submit to update this port): diff --git a/src/text/ptbl/xp/pd_DocumentRDF.cpp b/src/text/ptbl/xp/pd_DocumentRDF.cpp index 798e262..3406b88 100644 --- a/src/text/ptbl/xp/pd_DocumentRDF.cpp +++ b/src/text/ptbl/xp/pd_DocumentRDF.cpp @@ -570,6 +570,11 @@ bool PD_URI::operator==(const std::string& b) const return m_value == b; } +bool PD_URI::operator<(const PD_URI& b) const +{ + return m_value < b.m_value; +} + PD_URI PD_URI::prefixedToURI( PD_RDFModelHandle model ) const { @@ -611,11 +616,6 @@ bool PD_URI::write( std::ostream& ss ) const return true; } -bool operator<( PD_URI a, PD_URI b) -{ - return a.toString() < b.toString(); -} - bool operator<( std::pair< PD_URI, PD_URI > a, PD_URI b) { return a.first.toString() < b.toString(); diff --git a/src/text/ptbl/xp/pd_DocumentRDF.h b/src/text/ptbl/xp/pd_DocumentRDF.h index 66e9fd6..3e6b8ef 100644 --- a/src/text/ptbl/xp/pd_DocumentRDF.h +++ b/src/text/ptbl/xp/pd_DocumentRDF.h @@ -68,6 +68,7 @@ class ABI_EXPORT PD_URI bool isValid() const; bool operator==(const PD_URI& b) const; bool operator==(const std::string& b) const; + bool operator<(const PD_URI& b) const; virtual bool read( std::istream& ss ); virtual bool write( std::ostream& ss ) const; Regards, Ben On Wed, Apr 1, 2015 at 2:22 AM Gleb Popov <6yearold@gmail.com> wrote: > On Tue, Mar 31, 2015 at 6:00 PM, Ben Woods wrote: > >> I am trying to update editors/abiword from 2.8.6 to 3.0.1. >> >> Part way through compiling my new test port, I get the following errors: >> >> gmake[7]: Entering directory >> '/wrkdirs/usr/ports/editors/abiword/work/abiword-3.0.1/src/text/fmt/xp' >> CXX fl_Squiggles.lo >> CXX fb_Alignment.lo >> In file included from fb_Alignment.cpp:22: >> ./fb_Alignment.h:114:8: warning: private field 'm_iSpaceCountLeft' is >> not used [-Wunused-private-field] >> int m_iSpaceCountLeft; >> ^ >> ./fb_Alignment.h:115:8: warning: private field 'm_iSpaceCount' is not >> used [-Wunused-private-field] >> int m_iSpaceCount; >> ^ >> 2 warnings generated. >> CXX fb_ColumnBreaker.lo >> In file included from fb_ColumnBreaker.cpp:22: >> ./fb_ColumnBreaker.h:53:24: warning: private field 'm_pCurrentBlock' >> is not used [-Wunused-private-field] >> fl_BlockLayout * m_pCurrentBlock; >> ^ >> 1 warning generated. >> CXX fb_LineBreaker.lo >> CXX fg_Graphic.lo >> CXX fg_GraphicRaster.lo >> CXX fg_GraphicVector.lo >> CXX fl_AutoLists.lo >> CXX fl_AutoNum.lo >> CXX fl_BlockLayout.lo >> CXX fl_ContainerLayout.lo >> CXX fl_DocLayout.lo >> CXX fl_DocListener.lo >> CXX fl_FootnoteLayout.lo >> CXX fl_FrameLayout.lo >> CXX fl_Layout.lo >> CXX fl_SectionLayout.lo >> CXX fl_SelectionPreserver.lo >> CXX fl_TableLayout.lo >> CXX fl_TestRoutines.lo >> CXX fl_TOCLayout.lo >> In file included from fl_TOCLayout.cpp:32: >> ./fl_TOCLayout.h:82:20: warning: private field 'm_iStartAt' is not >> used [-Wunused-private-field] >> UT_sint32 m_iStartAt; >> ^ >> 1 warning generated. >> CXX fp_AnnotationRun.lo >> CXX fp_RDFAnchorRun.lo >> In file included from fp_RDFAnchorRun.cpp:23: >> In file included from ./fp_Run.h:33: >> In file included from ../../../../src/af/util/xp/ut_misc.h:39: >> In file included from /usr/include/c++/v1/string:439: >> In file included from /usr/include/c++/v1/algorithm:627: >> In file included from /usr/include/c++/v1/memory:601: >> /usr/include/c++/v1/__functional_base:63:21: error: invalid operands >> to binary expression ('const PD_URI' and 'const PD_URI') >> {return __x < __y;} >> ~~~ ^ ~~~ >> /usr/include/c++/v1/map:457:17: note: in instantiation of member >> function 'std::__1::less::operator()' requested here >> {return static_cast(*this)(__x.__cc.first, >> __y.__cc.first);} >> ^ >> /usr/include/c++/v1/__tree:1573:29: note: in instantiation of member >> function 'std::__1::__map_value_compare> std::__1::__value_type, std::__1::less, >> true>::operator()' requested here >> if (__hint == end() || !value_comp()(*__hint, __v)) // check before >> ^ >> /usr/include/c++/v1/__tree:1912:36: note: in instantiation of member >> function 'std::__1::__tree, >> std::__1::__map_value_compare> PD_Object>, std::__1::less, true>, >> std::__1::allocator > >> >::__find_leaf' requested here >> __node_base_pointer& __child = __find_leaf(__p, __parent, __v); >> ^ >> /usr/include/c++/v1/map:1779:25: note: in instantiation of member >> function 'std::__1::__tree, >> std::__1::__map_value_compare> PD_Object>, std::__1::less, true>, >> std::__1::allocator > >> >::__insert_multi' requested here >> __tree_.__insert_multi(__e.__i_, *__f); >> ^ >> /usr/include/c++/v1/map:1612:13: note: in instantiation of function >> template specialization 'std::__1::multimap> std::__1::less, std::__1::allocator> PD_URI, PD_Object> > >> >> >::insert> PD_Object>, std::__1::__tree_node> PD_Object>, void *> *, long> > >' requested here >> insert(__m.begin(), __m.end()); >> ^ >> ../../../../src/text/ptbl/xp/pd_DocumentRDF.h:198:18: note: in >> instantiation of member function 'std::__1::multimap> PD_Object, std::__1::less, >> std::__1::allocator > >> >::multimap' requested here >> class ABI_EXPORT PD_RDFModelIterator >> ^ >> ../../../../src/af/util/xp/ut_string_class.h:124:17: note: candidate >> function not viable: no known conversion from 'const PD_URI' to 'const >> UT_String' for 1st argument >> ABI_EXPORT bool operator<(const UT_String& s1, const UT_String& s2); >> ^ >> ../../../../src/af/util/xp/ut_string_class.h:277:17: note: candidate >> function not viable: no known conversion from 'const PD_URI' to 'const >> UT_UTF8String' for 1st argument >> ABI_EXPORT bool operator<(const UT_UTF8String& s1, const UT_UTF8String& >> s2); >> ^ >> ../../../../src/af/util/xp/ut_string_class.h:394:6: note: candidate >> function not viable: no known conversion from 'const PD_URI' to 'const >> UT_UCS4String' for 1st argument >> bool operator<(const UT_UCS4String& s1, const UT_UCS4String& s2); >> ^ >> /usr/include/c++/v1/utility:419:1: note: candidate template ignored: >> could not match 'pair' against >> 'const PD_URI' >> operator< (const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y) >> ^ >> /usr/include/c++/v1/iterator:582:1: note: candidate template ignored: >> could not match 'reverse_iterator' against 'const >> PD_URI' >> operator<(const reverse_iterator<_Iter1>& __x, const >> reverse_iterator<_Iter2>& __y) >> ^ >> /usr/include/c++/v1/iterator:977:1: note: candidate template ignored: >> could not match 'move_iterator' against 'const >> PD_URI' >> operator<(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& >> __y) >> ^ >> /usr/include/c++/v1/iterator:1293:1: note: candidate template ignored: >> could not match '__wrap_iter' against 'const >> PD_URI' >> operator<(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& >> __y) _NOEXCEPT >> ^ >> 1 error generated. >> Makefile:823: recipe for target 'fp_RDFAnchorRun.lo' failed >> gmake[7]: *** [fp_RDFAnchorRun.lo] Error 1 >> gmake[7]: Leaving directory >> '/wrkdirs/usr/ports/editors/abiword/work/abiword-3.0.1/src/text/fmt/xp' >> Makefile:842: recipe for target 'all-recursive' failed >> gmake[6]: *** [all-recursive] Error 1 >> gmake[6]: Leaving directory >> '/wrkdirs/usr/ports/editors/abiword/work/abiword-3.0.1/src/text/fmt/xp' >> Makefile:529: recipe for target 'all-recursive' failed >> gmake[5]: *** [all-recursive] Error 1 >> gmake[5]: Leaving directory >> '/wrkdirs/usr/ports/editors/abiword/work/abiword-3.0.1/src/text/fmt' >> Makefile:528: recipe for target 'all-recursive' failed >> gmake[4]: *** [all-recursive] Error 1 >> gmake[4]: Leaving directory >> '/wrkdirs/usr/ports/editors/abiword/work/abiword-3.0.1/src/text' >> Makefile:1157: recipe for target 'all-recursive' failed >> gmake[3]: *** [all-recursive] Error 1 >> gmake[3]: Leaving directory >> '/wrkdirs/usr/ports/editors/abiword/work/abiword-3.0.1/src' >> Makefile:774: recipe for target 'all-recursive' failed >> gmake[2]: *** [all-recursive] Error 1 >> gmake[2]: Leaving directory >> '/wrkdirs/usr/ports/editors/abiword/work/abiword-3.0.1' >> Makefile:593: recipe for target 'all' failed >> gmake[1]: *** [all] Error 2 >> gmake[1]: Leaving directory >> '/wrkdirs/usr/ports/editors/abiword/work/abiword-3.0.1' >> *** Error code 1 >> >> Stop. >> make: stopped in /usr/ports/editors/abiword >> >> >> Is this an issue with the new C++ stack libc++ referring to the std::__1 >> namespace, not just std::, as explained at the link below? >> https://wiki.freebsd.org/NewC++Stack >> >> Regards, >> Ben >> > _______________________________________________ >> freebsd-ports@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-ports >> To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org" >> > > Nope, the error is that there is no operator< for operands with types > ('const PD_URI' and 'const PD_URI'). They, probably, should be implicitly > casted to something else, but something goes wrong. What compiler are you > building with? >