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));