Re: build difficulty
Sometimes my question is why on the earth one does not make something non-copyable by declaring and not defining private copy constructor and operator= and bothers with the complexity of boost for just this little thing. Get me right, I love boost, since it simplifies many things, but then noncopyable is not one of those things that were difficult without it. Cheers Fridrich On 29/08/13 21:30, Kohei Yoshida wrote: On 08/29/2013 03:27 PM, Stephan van den Akker wrote: Kohei: Can you explain what your change does? I might try that too. No idea exactly, other than that it avoids the lines that cause error in my build. I got the idea by reading the offending boost header file boost/boost/noncopyable.hpp. Kohei ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: build difficulty
On Fri, Aug 30, 2013 at 09:16:26AM +0200, Fridrich Strba wrote: Sometimes my question is why on the earth one does not make something non-copyable by declaring and not defining private copy constructor and operator= and bothers with the complexity of boost for just this little thing. Get me right, I love boost, since it simplifies many things, but then noncopyable is not one of those things that were difficult without it. https://en.wikipedia.org/wiki/Inner-platform_effect (and yes, a point could be made that this applies to gbuild too) Best, Bjoern ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: build difficulty
On 08/30/2013 09:16 AM, Fridrich Strba wrote: Sometimes my question is why on the earth one does not make something non-copyable by declaring and not defining private copy constructor and operator= and bothers with the complexity of boost for just this little thing. ...because boost::noncopyable has become the de-facto standard idiom for this, at least for pre-C++11 code that depends on Boost anyway. [citation missing] Stephan ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: build difficulty
On 30/08/13 11:11, Stephan Bergmann wrote: ...because boost::noncopyable has become the de-facto standard idiom for this, at least for pre-C++11 code that depends on Boost anyway. [citation missing] Sure, nice to have standard idiom that causes us to have to work-around implementation bugs. Where two private declarations could be enough. But then maybe I am too low-level for the modern C++ developers. I even know how to manage my memory myself :) F. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: build difficulty
Stephan Bergmann wrote: ...because boost::noncopyable has become the de-facto standard idiom for this, at least for pre-C++11 code that depends on Boost anyway. And it's just one line to parse, ~impossible to screw up subtly, and declarative rather than implicit. It wins hands-down against any other option there. -- Thorsten signature.asc Description: Digital signature ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: build difficulty
On Fri, Aug 30, 2013 at 11:39:22AM +0200, Fridrich Strba wrote: I even know how to manage my memory myself :) There are two kinds of people making this statement: Those that have been wrong and those that will be. ;) Best, Bjoern ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: build difficulty
On 08/30/2013 11:39 AM, Fridrich Strba wrote: On 30/08/13 11:11, Stephan Bergmann wrote: ...because boost::noncopyable has become the de-facto standard idiom for this, at least for pre-C++11 code that depends on Boost anyway. [citation missing] Sure, nice to have standard idiom that causes us to have to work-around implementation bugs. Where two private declarations could be enough. But then maybe I am too low-level for the modern C++ developers. I even know how to manage my memory myself :) The working hypothesis is that if a configuration fails to process uses of boost::noncopyable, it is sufficiently broken to fail on more elaborate uses of Boost further down the LO build, too, Stephan ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: build difficulty
On 30/08/13 12:15, bjoern wrote: There are two kinds of people making this statement: Those that have been wrong and those that will be. ;) Sure, don't worry, I'll shut up :) F. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: build difficulty
Quoting Kohei Yoshida kohei.yosh...@suse.de: [snip] + -DBOOST_NO_DEFAULTED_FUNCTIONS \ [snip] I'm having the same issue on my machine running a slightly antiquated version of openSUSE (11.4), and this change fixes it for me. Kohei Thank you, Kohei. My build is making progress. Terry. -- View this message in context: http://nabble.documentfoundation.org/build-difficulty-tp4072217p4072343.html Sent from the Dev mailing list archive at Nabble.com. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
build difficulty
I am unable to build (after `make clean`) master 139a7d2 (pulled today around 12:30 UTC). The messages are, line-wrapped for e-mail, ... /home/terry/lo_hacking/git/libo2/workdir/unxlngi6/UnpackedTarball/ boost/boost/noncopyable.hpp:27:21: error: boost::noncopyable_::noncopyable::noncopyable() declared with non-public access cannot be defaulted in the class body /home/terry/lo_hacking/git/libo2/workdir/unxlngi6/UnpackedTarball/ boost/boost/noncopyable.hpp:28:22: error: boost::noncopyable_::noncopyable::~noncopyable() declared with non-public access cannot be defaulted in the class body I have to suspect that this has something to do with commit 4910c54 Update the bundled boost to 1.54 combined with the fact that I am building on an old release, ubuntu-natty (11.04) 32-bit. Suggestions welcome. Thanks, Terry. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: build difficulty
On 08/29/2013 09:56 AM, dk...@torfree.net wrote: I am unable to build (after `make clean`) master 139a7d2 (pulled today around 12:30 UTC). The messages are, line-wrapped for e-mail, ... /home/terry/lo_hacking/git/libo2/workdir/unxlngi6/UnpackedTarball/ boost/boost/noncopyable.hpp:27:21: error: ‘boost::noncopyable_::noncopyable::noncopyable()’ declared with non-public access cannot be defaulted in the class body /home/terry/lo_hacking/git/libo2/workdir/unxlngi6/UnpackedTarball/ boost/boost/noncopyable.hpp:28:22: error: ‘boost::noncopyable_::noncopyable::~noncopyable()’ declared with non-public access cannot be defaulted in the class body I have to suspect that this has something to do with commit 4910c54 Update the bundled boost to 1.54 combined with the fact that I am building on an old release, ubuntu-natty (11.04) 32-bit. Suggestions welcome. Try this change diff --git a/solenv/gbuild/platform/com_GCC_defs.mk b/solenv/gbuild/platform/com_GCC_defs.mk index c9adf88..4b7e413 100644 --- a/solenv/gbuild/platform/com_GCC_defs.mk +++ b/solenv/gbuild/platform/com_GCC_defs.mk @@ -66,6 +66,7 @@ gb_CXXFLAGS_COMMON := \ -fmessage-length=0 \ -fno-common \ -pipe \ + -DBOOST_NO_DEFAULTED_FUNCTIONS \ ifneq ($(HAVE_THREADSAFE_STATICS),TRUE) gb_CXXFLAGS_COMMON += -fno-threadsafe-statics I'm having the same issue on my machine running a slightly antiquated version of openSUSE (11.4), and this change fixes it for me. Kohei -- Kohei Yoshida, LibreOffice Calc hacker, SUSE. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: build difficulty
Hi Terry and Kohei, Running openSUSE 11.4 as well, having the same problem as you two. Over on #libreoffice-dev the suggestion was that my compiler and my system boost libs are too old. I'm currently trying their suggestion of: 1 - building boost 1.47 from source 2 - building LO with this boost version I chose boost version 1.47 because is is the oldest version that has all the functionality needed by LO. I is old enough to be compatible with my compiler. Kohei: Can you explain what your change does? I might try that too. 2013/8/29 Kohei Yoshida kohei.yosh...@suse.de: On 08/29/2013 09:56 AM, dk...@torfree.net wrote: I am unable to build (after `make clean`) master 139a7d2 (pulled today around 12:30 UTC). The messages are, line-wrapped for e-mail, ... /home/terry/lo_hacking/git/libo2/workdir/unxlngi6/UnpackedTarball/ boost/boost/noncopyable.hpp:27:21: error: ‘boost::noncopyable_::noncopyable::noncopyable()’ declared with non-public access cannot be defaulted in the class body /home/terry/lo_hacking/git/libo2/workdir/unxlngi6/UnpackedTarball/ boost/boost/noncopyable.hpp:28:22: error: ‘boost::noncopyable_::noncopyable::~noncopyable()’ declared with non-public access cannot be defaulted in the class body I have to suspect that this has something to do with commit 4910c54 Update the bundled boost to 1.54 combined with the fact that I am building on an old release, ubuntu-natty (11.04) 32-bit. Suggestions welcome. Try this change diff --git a/solenv/gbuild/platform/com_GCC_defs.mk b/solenv/gbuild/platform/com_GCC_defs.mk index c9adf88..4b7e413 100644 --- a/solenv/gbuild/platform/com_GCC_defs.mk +++ b/solenv/gbuild/platform/com_GCC_defs.mk @@ -66,6 +66,7 @@ gb_CXXFLAGS_COMMON := \ -fmessage-length=0 \ -fno-common \ -pipe \ + -DBOOST_NO_DEFAULTED_FUNCTIONS \ ifneq ($(HAVE_THREADSAFE_STATICS),TRUE) gb_CXXFLAGS_COMMON += -fno-threadsafe-statics I'm having the same issue on my machine running a slightly antiquated version of openSUSE (11.4), and this change fixes it for me. Kohei -- Kohei Yoshida, LibreOffice Calc hacker, SUSE. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: build difficulty
On 08/29/2013 03:27 PM, Stephan van den Akker wrote: Kohei: Can you explain what your change does? I might try that too. No idea exactly, other than that it avoids the lines that cause error in my build. I got the idea by reading the offending boost header file boost/boost/noncopyable.hpp. Kohei -- Kohei Yoshida, LibreOffice Calc hacker, SUSE. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: build difficulty
On 08/29/2013 03:30 PM, Kohei Yoshida wrote: On 08/29/2013 03:27 PM, Stephan van den Akker wrote: Kohei: Can you explain what your change does? I might try that too. No idea exactly, other than that it avoids the lines that cause error in my build. I got the idea by reading the offending boost header file boost/boost/noncopyable.hpp. Having said that, if I were to guess, I think that macro would avoid using the new C++11 only syntax that boost now uses by default, and achieves the same effect using the pre-C++11 syntax equivalent. Normally we would add some sort of configure check for such C++11 syntax and take appropriate steps. But since by my own admission I'm running an OS that's considered too old, I just use my local fix to get around this problem. And I really really need to upgrade my openSUSE installation on my machine... ;-) Kohei -- Kohei Yoshida, LibreOffice Calc hacker, SUSE. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: build difficulty
Kohei, don't let me down. I spend most of the day educating the masses on #libreoffice-dev that 11.4 is not *antiquated* of *end of life*, but beautifully Evergreen. 2013/8/29 Kohei Yoshida kohei.yosh...@suse.de: On 08/29/2013 03:30 PM, Kohei Yoshida wrote: On 08/29/2013 03:27 PM, Stephan van den Akker wrote: Kohei: Can you explain what your change does? I might try that too. No idea exactly, other than that it avoids the lines that cause error in my build. I got the idea by reading the offending boost header file boost/boost/noncopyable.hpp. Having said that, if I were to guess, I think that macro would avoid using the new C++11 only syntax that boost now uses by default, and achieves the same effect using the pre-C++11 syntax equivalent. Normally we would add some sort of configure check for such C++11 syntax and take appropriate steps. But since by my own admission I'm running an OS that's considered too old, I just use my local fix to get around this problem. And I really really need to upgrade my openSUSE installation on my machine... ;-) Kohei -- Kohei Yoshida, LibreOffice Calc hacker, SUSE. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice