Bug 106114

Summary: Building loolwsd in 32-bit fails
Product: LibreOffice Online Reporter: Yuri <vistolover>
Component: LibreOfficeAssignee: Not Assigned <libreoffice-bugs>
Status: RESOLVED NOTABUG    
Severity: normal CC: aron.budea, xiscofauli
Priority: medium    
Version: unspecified   
Hardware: ARM   
OS: Linux (All)   
See Also: https://bugs.documentfoundation.org/show_bug.cgi?id=114102
Whiteboard:
Crash report or crash signature: Regression By:

Description Yuri 2017-02-20 20:20:03 UTC
Hi!
I'm trying to build LO Online on Arch Linux ARM and every time whole things are ending from very end of make with error at Admin.o module. Here is compiler output:

make  all-recursive
make[1]: Entering directory '/mnt/usbstick/lool_co_git'
Making all in .
make[2]: Entering directory '/mnt/usbstick/lool_co_git'
  CXX      wsd/Admin.o
In file included from ./wsd/LOOLWebSocket.hpp:22:0,
                 from wsd/AdminModel.hpp:20,
                 from wsd/Admin.hpp:23,
                 from wsd/Admin.cpp:28:
./common/Protocol.hpp: In function 'std::__cxx11::string LOOLProtocol::getAbbreviatedMessage(const string&)':
./common/Protocol.hpp:268:93: error: no matching function for call to 'min(std::__cxx11::basic_string<char>::size_type, long unsigned int)'
  = getDelimiterPosition(message.data(), std::min(message.size(), 500UL), '\n');
                                                                       ^
In file included from /usr/include/c++/6.3.1/bits/char_traits.h:39:0,
                 from /usr/include/c++/6.3.1/string:40,
                 from /usr/include/c++/6.3.1/stdexcept:39,
                 from /usr/include/c++/6.3.1/array:39,
                 from /usr/include/c++/6.3.1/tuple:39,
                 from /usr/include/c++/6.3.1/mutex:38,
                 from wsd/Admin.cpp:13:
/usr/include/c++/6.3.1/bits/stl_algobase.h:195:5: note: candidate: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)
     min(const _Tp& __a, const _Tp& __b)
     ^~~
/usr/include/c++/6.3.1/bits/stl_algobase.h:195:5: note:   template argument deduction/substitution failed:
In file included from ./wsd/LOOLWebSocket.hpp:22:0,
                 from wsd/AdminModel.hpp:20,
                 from wsd/Admin.hpp:23,
                 from wsd/Admin.cpp:28:
./common/Protocol.hpp:268:93: note:   deduced conflicting types for parameter 'const _Tp' ('unsigned int' and 'long unsigned int')
  = getDelimiterPosition(message.data(), std::min(message.size(), 500UL), '\n');
                                                                       ^
In file included from /usr/include/c++/6.3.1/bits/char_traits.h:39:0,
                 from /usr/include/c++/6.3.1/string:40,
                 from /usr/include/c++/6.3.1/stdexcept:39,
                 from /usr/include/c++/6.3.1/array:39,
                 from /usr/include/c++/6.3.1/tuple:39,
                 from /usr/include/c++/6.3.1/mutex:38,
                 from wsd/Admin.cpp:13:
/usr/include/c++/6.3.1/bits/stl_algobase.h:243:5: note: candidate: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)
     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
     ^~~
/usr/include/c++/6.3.1/bits/stl_algobase.h:243:5: note:   template argument deduction/substitution failed:
In file included from ./wsd/LOOLWebSocket.hpp:22:0,
                 from wsd/AdminModel.hpp:20,
                 from wsd/Admin.hpp:23,
                 from wsd/Admin.cpp:28:
./common/Protocol.hpp:268:93: note:   deduced conflicting types for parameter 'const _Tp' ('unsigned int' and 'long unsigned int')
  = getDelimiterPosition(message.data(), std::min(message.size(), 500UL), '\n');
                                                                       ^
In file included from /usr/include/c++/6.3.1/algorithm:62:0,
                 from /opt/poco/include/Poco/String.h:26,
                 from /opt/poco/include/Poco/Net/NameValueCollection.h:24,
                 from /opt/poco/include/Poco/Net/MessageHeader.h:24,
                 from /opt/poco/include/Poco/Net/HTTPMessage.h:24,
                 from /opt/poco/include/Poco/Net/HTTPRequest.h:24,
                 from wsd/Admin.cpp:17:
/usr/include/c++/6.3.1/bits/stl_algo.h:3447:5: note: candidate: template<class _Tp> _Tp std::min(std::initializer_list<_Tp>)
     min(initializer_list<_Tp> __l)
     ^~~
/usr/include/c++/6.3.1/bits/stl_algo.h:3447:5: note:   template argument deduction/substitution failed:
In file included from ./wsd/LOOLWebSocket.hpp:22:0,
                 from wsd/AdminModel.hpp:20,
                 from wsd/Admin.hpp:23,
                 from wsd/Admin.cpp:28:
./common/Protocol.hpp:268:93: note:   mismatched types 'std::initializer_list<_Tp>' and 'unsigned int'
  = getDelimiterPosition(message.data(), std::min(message.size(), 500UL), '\n');
                                                                       ^
In file included from /usr/include/c++/6.3.1/algorithm:62:0,
                 from /opt/poco/include/Poco/String.h:26,
                 from /opt/poco/include/Poco/Net/NameValueCollection.h:24,
                 from /opt/poco/include/Poco/Net/MessageHeader.h:24,
                 from /opt/poco/include/Poco/Net/HTTPMessage.h:24,
                 from /opt/poco/include/Poco/Net/HTTPRequest.h:24,
                 from wsd/Admin.cpp:17:
/usr/include/c++/6.3.1/bits/stl_algo.h:3453:5: note: candidate: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare)
     min(initializer_list<_Tp> __l, _Compare __comp)
     ^~~
/usr/include/c++/6.3.1/bits/stl_algo.h:3453:5: note:   template argument deduction/substitution failed:
In file included from ./wsd/LOOLWebSocket.hpp:22:0,
                 from wsd/AdminModel.hpp:20,
                 from wsd/Admin.hpp:23,
                 from wsd/Admin.cpp:28:
./common/Protocol.hpp:268:93: note:   mismatched types 'std::initializer_list<_Tp>' and 'unsigned int'
  = getDelimiterPosition(message.data(), std::min(message.size(), 500UL), '\n');
                                                                       ^
wsd/Admin.cpp: In member function 'virtual void MemoryStatsTask::run()':
wsd/Admin.cpp:336:18: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     if (totalMem != _lastTotalMemory)
         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [Makefile:1065: wsd/Admin.o] Error 1
make[2]: Leaving directory '/mnt/usbstick/lool_co_git'
make[1]: *** [Makefile:1524: all-recursive] Error 1
make[1]: Leaving directory '/mnt/usbsti

So, how it can be fixed?
Thanks in advance.

P.S. My note for clear is: I put all sources under /mnt/usbstick and trying to have all stuff under /opt; poco libs are under /opt/poco
Comment 1 Aron Budea 2017-03-11 00:03:02 UTC
Confirmed.
Comment 2 Xisco FaulĂ­ 2017-09-28 10:56:05 UTC
Hello Yuri,
Thanks for reporting this issue.
Since this is not an issue in LibreOffice's software, I recommend you to send an email to the dev mailing list [1] instead, the right place for this kind of  problems.
Closing as RESOLVED NOTABUG

[1] https://lists.freedesktop.org/mailman/listinfo/libreoffice