Bug 219413 - editors/libreoffice 5.3.3 doesn't build with Python 2.7 (PyUno) error
Summary: editors/libreoffice 5.3.3 doesn't build with Python 2.7 (PyUno) error
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: FreeBSD Office Team (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-05-20 09:15 UTC by jakub_lach
Modified: 2018-01-16 10:48 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (office)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jakub_lach 2017-05-20 09:15:48 UTC
[CXX] pyuno/source/module/pyuno_adapter.cxx
/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/pyuno/source/module/pyuno_util.cxx:43:18: error: no matching function for call to 'PyUnicodeUCS2_FromUnicode'
    ret = PyRef( PyUnicode_FromUnicode( str.getStr(), str.getLength() ), SAL_NO_ACQUIRE );
                 ^~~~~~~~~~~~~~~~~~~~~
/usr/local/include/python2.7/unicodeobject.h:196:32: note: expanded from macro 'PyUnicode_FromUnicode'
# define PyUnicode_FromUnicode PyUnicodeUCS2_FromUnicode
                               ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/python2.7/unicodeobject.h:464:23: note: candidate function not viable: no known conversion from 'const sal_Unicode *' (aka 'const char16_t *') to 'const Py_UNICODE *' (aka 'const unsigned short *') for 1st argument
PyAPI_FUNC(PyObject*) PyUnicode_FromUnicode(
                      ^
/usr/local/include/python2.7/unicodeobject.h:196:32: note: expanded from macro 'PyUnicode_FromUnicode'
# define PyUnicode_FromUnicode PyUnicodeUCS2_FromUnicode
                               ^
/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/pyuno/source/module/pyuno_util.cxx:63:11: error: no matching conversion for functional-style cast from 'Py_UNICODE *' (aka 'unsigned short *') to 'rtl::OUString'
    ret = OUString( PyUnicode_AS_UNICODE( pystr ) );
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/include/rtl/ustring.hxx:177:14: note: candidate constructor not viable: no known conversion from 'Py_UNICODE *' (aka 'unsigned short *') to 'sal_Unicode' (aka 'char16_t') for 1st argument; dereference the argument with *
    explicit OUString( sal_Unicode value )
             ^
/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/include/rtl/ustring.hxx:187:5: note: candidate constructor not viable: no known conversion from 'Py_UNICODE *' (aka 'unsigned short *') to 'int' for 1st argument; dereference the argument with *
    OUString(int) = delete;
    ^
/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/include/rtl/ustring.hxx:188:14: note: candidate constructor not viable: no known conversion from 'Py_UNICODE *' (aka 'unsigned short *') to 'char' for 1st argument; dereference the argument with *
    explicit OUString(char c):
             ^
/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/include/rtl/ustring.hxx:127:5: note: candidate constructor not viable: no known conversion from 'Py_UNICODE *' (aka 'unsigned short *') to 'const rtl::OUString' for 1st argument
    OUString( const OUString & str )
    ^
/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/include/rtl/ustring.hxx:141:5: note: candidate constructor not viable: no known conversion from 'Py_UNICODE *' (aka 'unsigned short *') to 'rtl::OUString' for 1st argument
    OUString( OUString && str )
    ^
/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/include/rtl/ustring.hxx:155:5: note: candidate constructor not viable: no known conversion from 'Py_UNICODE *' (aka 'unsigned short *') to 'rtl_uString *' (aka '_rtl_uString *') for 1st argument
    OUString( rtl_uString * str )
    ^
/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/include/rtl/ustring.hxx:199:5: note: candidate constructor not viable: no known conversion from 'Py_UNICODE *' (aka 'unsigned short *') to 'const sal_Unicode *' (aka 'const char16_t *') for 1st argument
    OUString( const sal_Unicode * value )
    ^
/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/include/rtl/ustring.hxx:317:5: note: candidate constructor not viable: no known conversion from 'Py_UNICODE *' (aka 'unsigned short *') to 'rtl::OUStringLiteral' for 1st argument
    OUString(OUStringLiteral literal): pData(NULL) {
    ^
/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/include/rtl/ustring.hxx:235:5: note: candidate template ignored: substitution failure [with T = unsigned short *]: no type named 'Type' in 'rtl::libreoffice_internal::ConstCharArrayDetector<unsigned short *, rtl::libreoffice_internal::Dummy>'
    OUString( T& literal, typename libreoffice_internal::ConstCharArrayDetector< T, libreoffice_internal::Dummy >::Type = libreoffice_internal::Dummy() )
    ^                                                                                                              ~~~~
/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/include/rtl/ustring.hxx:256:26: note: candidate template ignored: substitution failure [with T = unsigned short *]: no type named 'TypeUtf16' in 'rtl::libreoffice_internal::ConstCharArrayDetector<unsigned short *, rtl::libreoffice_internal::Dummy>'
    template<typename T> OUString(
                         ^
/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/include/rtl/ustring.hxx:380:5: note: candidate template ignored: could not match 'OUStringConcat<type-parameter-0-0, type-parameter-0-1>' against 'unsigned short *'
    OUString( const OUStringConcat< T1, T2 >& c )
    ^
/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/include/rtl/ustring.hxx:116:5: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
    OUString()
    ^
/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/include/rtl/ustring.hxx:169:12: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
    inline OUString( rtl_uString * str, __sal_NoAcquire )
           ^
/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/include/rtl/ustring.hxx:213:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
    OUString( const sal_Unicode * value, sal_Int32 length )
    ^
/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/include/rtl/ustring.hxx:364:21: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
    inline explicit OUString(
                    ^
/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/include/rtl/ustring.hxx:337:5: note: candidate constructor not viable: requires at least 3 arguments, but 1 was provided
    OUString( const sal_Char * value, sal_Int32 length,
    ^
2 errors generated.
gmake[3]: *** [/usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/solenv/gbuild/LinkTarget.mk:191: /usr/obj/usr/ports/editors/libreoffice/work/libreoffice-5.3.3.2/workdir/CxxObject/pyuno/source/module/pyuno_util.o] Error 1
gmake[3]: *** Waiting for unfinished jobs....
Comment 1 jakub_lach 2017-05-20 09:19:53 UTC
All options unchecked beside JAVA, FreeBSD 11.0-STABLE #0 r318285 amd64, previous version was building fine.
Comment 2 jakub_lach 2017-06-13 06:58:21 UTC
I have tried building without WRKDIRPREFIX=, but it made no difference.
Comment 3 jakub_lach 2017-06-29 09:04:14 UTC
No change after update
Comment 4 jakub_lach 2017-08-09 22:02:22 UTC
Rebuild of Python with default config fixed that. I suspect UCS2 option.
Comment 5 Walter Schwarzenfeld freebsd_triage 2018-01-16 10:37:53 UTC
We have version 5.3.7. Seems overcome by events.
Comment 6 jakub_lach 2018-01-16 10:46:48 UTC
(In reply to w.schwarzenfeld from comment #5)

True, though I think the problem was (non-default) UCS2=on in python27 port in the end, changed to UCS4 as in defaults, haven't had that problem ever since.