incubator-ooo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ariel Constenla-Haile <arie...@apache.org>
Subject Re: [BUILD]AOO build error in solaris
Date Sat, 17 Dec 2011 15:38:55 GMT
Hi "L'oiseau de mer",

On Sat, Dec 17, 2011 at 04:58:12PM +0800, L'oiseau de mer wrote:
> Thanks for your help, now i meet another problem in building binfilter:
> In file ooo/main/binfilter/inc/bf_goodies/hmatrix.hxx in line 115~117:
> I don't know how to modify it , because i don't know what's means "lvalue".....

so you won't understand the error. Google lvalue and rvalue sure you'll
find some tutorial.

> ===============================================================
> Entering /UNIX-LAB/ooo/main/binfilter/bf_sch/source/ui/docshell
> 
> Compiling: binfilter/bf_sch/source/ui/docshell/sch_docshell.cxx
> "../../../../inc/bf_goodies/hmatrix.hxx", line 115: Error:
> Initializing binfilter::Point4D& requires an lvalue.
> "../../../../inc/bf_goodies/hmatrix.hxx", line 116: Error:
> Initializing binfilter::Vector3D& requires an lvalue.
> "../../../../inc/bf_goodies/hmatrix.hxx", line 117: Error:
> Initializing binfilter::Vector3D& requires an lvalue.

your compiler's behaviour has changed:
http://docs.oracle.com/cd/E18659_01/html/821-2414/gkeza.html
You cannot initialize a reference to a non-const object with an rvalue
or temporary.

You can fix this in different ways:

a) changing AOO source code, where relevant. In this case, for example,
   see 
   trunk/main/binfilter/inc/bf_goodies/hmatrix.hxx#110
   trunk/main/binfilter/bf_goodies/source/base3d/goodies_hmatrix.cxx#588
   http://svn.apache.org/viewvc/incubator/ooo/trunk/main/binfilter/inc/bf_goodies/hmatrix.hxx?revision=1198409&view=markup#l110
   http://svn.apache.org/viewvc/incubator/ooo/trunk/main/binfilter/bf_goodies/source/base3d/goodies_hmatrix.cxx?revision=1198219&view=markup#l588

   You can add your compiler in the line
   #if defined ( ICC ) || defined( GCC )

b) modify the options passed to the compiler, so that it can restore the
old behaviour. According to the Oracle documentation:
http://docs.oracle.com/cd/E18659_01/html/821-1383/bkana.html
[Do not] Allow binding a non-const reference to an rvalue or temporary.
Default: -features=no%rvalueref
The C++ compiler, by default, enforces the rule that a non-const
reference cannot be bound to a temporary or rvalue. To override this
rule, use the option -features=rvalueref.

See also
http://docs.oracle.com/cd/E18659_01/html/821-2676/CCplusplus.1.html

For (b) you can:
b.1. modify AOO settings in trunk/main/solenv
b.2. try exporting ARCH_FLAGS, vid.
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/solenv/inc/unxsoli4.mk?revision=1174164&view=markup#l45

So please open an issue for this in bugzilla, and try

export ARCH_FLAGS=-features=rvalueref

and tell us if this worked for you.


Regards
-- 
Ariel Constenla-Haile
La Plata, Argentina

Mime
View raw message