Re: build difficulty

2013-08-30 Thread Fridrich Strba
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

2013-08-30 Thread bjoern
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

2013-08-30 Thread Stephan Bergmann

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

2013-08-30 Thread Fridrich Strba
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

2013-08-30 Thread Thorsten Behrens
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

2013-08-30 Thread bjoern
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

2013-08-30 Thread Stephan Bergmann

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

2013-08-30 Thread Fridrich Strba
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

2013-08-30 Thread Terrence Enger
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

2013-08-29 Thread dk122

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

2013-08-29 Thread Kohei Yoshida

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

2013-08-29 Thread Stephan van den Akker
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

2013-08-29 Thread Kohei Yoshida

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

2013-08-29 Thread Kohei Yoshida

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

2013-08-29 Thread Stephan van den Akker
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