On 11/05/12, 14:21:48, Nicolas Christener 
<[email protected]> wrote regarding Re: Unofficial 
OpenSolaris/SPARC 3.4 build:

> > > * https://issues.apache.org/ooo/show_bug.cgi?id=119332
> >
> > ["Find & Replace" matches wrong sequences]
> >
> > I can't reproduce this with my own Solaris 10 Sparc 3.4.0 build.

> Could you send me some information about how you built the source?

Here goes.  The biggest difference I see is I used Solaris 10.

$ cat /etc/release 
                   Oracle Solaris 10 8/11 s10s_u10wos_17b SPARC
  Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights 
reserved.
                            Assembled 23 August 2011

$ cc -V
cc: Sun C 5.12 SunOS_sparc 2011/11/16


Java: jdk1.6.0_26


I'm still playing with flags.  As my Sparc build takes a day and my x86 
build takes an hour the Sparc flags used for this were set to the minimum 
just to get a test build and not supposed to be final or useful.

The configure args were:

./configure \
--with-epm="/work/oo/epm-3.7/epm" \
--with-gnu-patch=/usr/bin/gpatch \
--with-gnu-cp=/work/oo/PREFIX-root/opt/PREFIX/bin/gcp \
--with-ant-home=/opt/PREFIX \
--with-ant-home=/opt/PREFIX/share/java \
--with-perl-home=/opt/PREFIX \
--with-jdk-home=${JAVA_HOME} \
--disable-gtk \
--disable-gstreamer \
--disable-ldap \
--disable-odk \
--disable-gnomevfs \
--with-external-tar=/work/oo/ext_sources/ \
--with-junit=/opt/PREFIX/share/java/junit.jar \
--disable-cups \
--with-system-openssl \



CFLAGS:
-xO0 -xnolibmopt -xnolibmil -xstrconst -xtarget=generic -xcode=pic32 -m32



I had to hack test tools to avoid a core dump during build but this 
doesn't seem to affect the result.


-DOLD_SHADOW_API=1
 else it (sal?) complains about 4 vs 5 args.


l10n causes it to fail build so I just removed.


Patch to use a perl with the needed modules.


Patch so stop compiler complaining about lvalues:
"../../../../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.

Curiously, this is needed with Sparc but not x86.  I don't understand why 
the choice was ever there but if it's good for gcc then I can't see why 
SunProCC needs anything else.  I'll decide later if this is right, for 
now this is to get it to compile.   I'd like to know why I needed this 
and presumably you don't.


Patch file attached.


The biggest problem I have is it writes the user data to the install 
directory (not $HOME) and crashes when this is correctly read only.  I'm 
still working on this and the whole build.




James.






--- ../original/main/solenv/bin/download_missing_extensions.pl  2012-03-21 
13:16:00.000000000 +0000
+++ main/solenv/bin/download_missing_extensions.pl      2012-05-11 
11:12:36.894757113 +0100
@@ -1,4 +1,4 @@
-#! /usr/bin/perl -w
+#! /usr/bin/env perl -w
 
 #**************************************************************
 #  
--- ../original/main/binfilter/inc/bf_goodies/hmatrix.hxx       2012-01-10 
10:57:42.000000000 +0000
+++ main/binfilter/inc/bf_goodies/hmatrix.hxx   2012-05-11 11:12:36.895138902 
+0100
@@ -107,7 +107,7 @@
 
        // ModelViewMatrix (ViewOrientationMatrix) fuer die Umwandlung
        // ObjectCoordinates in EyeCoordinates
-#if defined( ICC ) || defined( GCC )
+#if defined( ICC ) || defined( GCC ) || defined( __SUNPRO_CC )
        void Orientation(Point4D aVRP = Point4D(0.0,0.0,1.0),
                Vector3D aVPN = Vector3D(0.0,0.0,1.0),
                Vector3D aVUP = Vector3D(0.0,1.0,0.0));
--- ../original/main/binfilter/bf_goodies/source/base3d/goodies_hmatrix.cxx     
2012-01-10 10:57:08.000000000 +0000
+++ main/binfilter/bf_goodies/source/base3d/goodies_hmatrix.cxx 2012-05-11 
11:12:36.895640800 +0100
@@ -585,7 +585,7 @@
 |*
 \************************************************************************/
 
-#if defined ( ICC ) || defined( GCC )
+#if defined ( ICC ) || defined( GCC ) || defined( __SUNPRO_CC )
 void Matrix4D::Orientation(Point4D aVRP, Vector3D aVPN, Vector3D aVUP)
 #else
 void Matrix4D::Orientation(Point4D& aVRP, Vector3D& aVPN, Vector3D& aVUP)
--- ../original/main/binfilter/bf_goodies/source/base3d/goodies_b3dtrans.cxx    
2012-01-10 10:57:09.000000000 +0000
+++ main/binfilter/bf_goodies/source/base3d/goodies_b3dtrans.cxx        
2012-05-11 11:12:36.896009235 +0100
@@ -112,7 +112,7 @@
 |*
 \************************************************************************/
 
-#if ! defined ICC && ! defined __GNUC__
+#if ! defined ICC && ! defined __GNUC__ && ! defined __SUNPRO_CC
 void B3dTransformationSet::SetOrientation( Vector3D& aVRP, Vector3D& aVPN, 
Vector3D& aVUP)
 #else
 void B3dTransformationSet::SetOrientation( Vector3D aVRP, Vector3D aVPN, 
Vector3D aVUP)
--- ../original/main/binfilter/inc/bf_goodies/b3dtrans.hxx      2012-01-10 
10:57:42.000000000 +0000
+++ main/binfilter/inc/bf_goodies/b3dtrans.hxx  2012-05-11 11:12:36.896292709 
+0100
@@ -150,7 +150,7 @@
        const Matrix4D& GetInvObjectTrans() { return aInvObjectTrans; }
 
        // Orientation
-#if ! defined ICC && ! defined __GNUC__
+#if ! defined ICC && ! defined __GNUC__ && ! defined __SUNPRO_CC
        void SetOrientation(Vector3D& aVRP = Vector3D(0.0,0.0,1.0),
                Vector3D& aVPN = Vector3D(0.0,0.0,1.0),
                Vector3D& aVUP = Vector3D(0.0,1.0,0.0));

Reply via email to