Difference between revisions of "Chart2"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Developping for the new chart module)
(The bugs reported and the solutions.)
Line 198: Line 198:
 
</pre>
 
</pre>
  
===== ERROR 2 : the mandriva desktop error =====
+
===== ERROR 2 : The InternalDataProvider.cxx include error =====
 +
 
 +
This error has been reported as issue 63012 : http://www.openoffice.org/issues/show_bug.cgi?id=63012
 +
 
 +
<pre>
 +
/home/pagalmes/workspace/OpenOffice/chart2/source/tools
 +
------------------------------
 +
Making: ../../unxlngi6/slo/InternalDataProvider.obj
 +
g++ -Wreturn-type -fmessage-length=0 -c -I.  -I. -I../inc -I../../source/inc -I../../inc -I../../unx/inc -I../../unxlngi6/inc -I.
 +
-I/home/pagalmes/workspace/OpenOffice/solver/680/unxlngi6/inc/stl -I/home/pagalmes/workspace/OpenOffice/solver/680/unxlngi6/inc/external
 +
-I/home/pagalmes/workspace/OpenOffice/solver/680/unxlngi6/inc -I/home/pagalmes/workspace/OpenOffice/solenv/unxlngi6/inc
 +
-I/home/pagalmes/workspace/OpenOffice/solenv/inc -I/home/pagalmes/workspace/OpenOffice/res
 +
-I/home/pagalmes/workspace/OpenOffice/solver/680/unxlngi6/inc/stl -I/home/pagalmes/workspace/OpenOffice/solenv/inc/Xp31
 +
-I/opt/j2sdk1.4.2_09/include -I/opt/j2sdk1.4.2_09/include/linux -I/opt/j2sdk1.4.2_09/include/native_threads/include -I/usr/X11R6/include
 +
-I. -I../../res -I. -g  -O0  -pipe -mtune=pentiumpro -Wno-ctor-dtor-privacy -fvisibility-inlines-hidden -g -fexceptions -fno-enforce-eh-specs
 +
-fpic -DLINUX -DUNX -DVCL -DGCC -DC341 -DINTEL -D_STLP_DEBUG -DCVER=C341 -D_USE_NAMESPACE -DNPTL -DGLIBC=2 -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR
 +
-D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -DHAVE_GCC_VISIBILITY_FEATURE -D__DMAKE -DUNIX -DCPPU_ENV=gcc3
 +
-DGXX_INCLUDE_PATH=/usr/lib/gcc/i386-redhat-linux/4.0.2/../../../../include/c++/4.0.2 -DSUPD=680 -DDEBUG -DDBG_UTIL -DOSL_DEBUG_LEVEL=2
 +
-DEXCEPTIONS_ON -DCUI -DSOLAR_JAVA -DSRC680=SRC680  -DSHAREDLIB -D_DLL_  -DMULTITHREAD  -o ../../unxlngi6/slo/InternalDataProvider.o
 +
 
 +
/home/pagalmes/workspace/OpenOffice/chart2/source/tools/InternalDataProvider.cxx
 +
/home/pagalmes/workspace/OpenOffice/chart2/source/tools/InternalDataProvider.cxx
 +
/usr/lib/gcc/i386-redhat-linux/4.0.2/../../../../include/c++/4.0.2/bits/cpp_type_traits.h:100:
 +
erreur: use of ‘__false_type’ is ambiguous
 +
/usr/lib/gcc/i386-redhat-linux/4.0.2/../../../../include/c++/4.0.2/bits/cpp_type_traits.h:94:
 +
erreur:  first declared as ‘struct __false_type’ here
 +
/home/pagalmes/workspace/OpenOffice/solver/680/unxlngi6/inc/stl/stl/type_traits.h:65:
 +
erreur:  also declared as ‘struct _STLD::__false_type’ here
 +
 
 +
[...]
 +
dmake:  Error code 1, while making '../../unxlngi6/slo/InternalDataProvider.obj'
 +
'---* tg_merge.mk *---'
 +
 
 +
ERROR: Error 65280 occurred while making
 +
/home/pagalmes/workspace/OpenOffice/chart2/source/tools
 +
</pre>
 +
 
 +
===== The solution =====
 +
 
 +
The following line at the beginning of the file InternalDataProvider.cxx :
 +
 
 +
<pre>
 +
#include <valarray>
 +
</pre>
 +
 
 +
Has to be put as the first include in the file. No solution has been found for now.
 +
 
 +
 
 +
===== ERROR 3 : the mandriva desktop error =====
  
 
While compiling, you may get the following error message :
 
While compiling, you may get the following error message :

Revision as of 16:18, 18 April 2006

This page gathers information about the new chart implementation of OpenOffice.org.


HERE - ADD some more information to make it look less empty...


Compiling the new chart module

The first step anyone need to achieve before starting to develop on the chart module is compiling OpenOffice.org with the needed modifications for the new chart module. OpenOffice.org provides two main ways to compile it : the "Vanilla" way and the "OOoBuild" way. Let's explain what they are and the differences between those two ways.

Compiling OpenOffice.org : the theory

Vanilla

Vanilla is the "standard" way to compile OOo. To compile OOo the "Vanilla" way, you only need to download the sources, unzip them, and follow the instructions given on the page [Add a link to the build steps from]. We will give Chart-specific details about this in the following sections.

OOoBuild

To make it simple, OOoBuild is a "wrapper" around the OpenOffice.org build process to make compiling OOo more straight-forward. Some of the enhancements added are :

  • patches for known compiling problems
  • integration with "ccache" and "icecream" to speed-up the process
  • linux distribution specific compiling steps (specific splash screen for Fedora...)

So, to compile OOo with OOoBuild, just just need to download OOoBuild and put the OOo standard sources in a specific directory.

Compiling OpenOffice.org : the practice

Commmon steps

dependencies

First of all before starting to compile anything, you will need to install all the dependencies and tools needed for the compiling steps. On the Tools project page, you should find all the information on the "Building the source" section :

http://tools.openoffice.org/

There, you should read the different sub-sections, they will give you a nice introduction on how everything works. You should also notice that the steps are different on each OS.

Vanilla

Getting the sources
Introduction

Once you have all the dependencies installed, you will need to download the sources of OOo. When working on a specific cws (for us, the "chart2mst3" cws) you will need to follow two steps :

  • downloading the OOo sources at a specific milestone
  • downloading the specific modifications for the cws from the repository
Download the milestone

For the chart module, you will need to download the m152 milestone. The milestone needed will change from time to time, so stay tuned ;-)

To download the milestone, you have several choices.

  • Download from the cvs servers
  • Download a pre-packaged version
  • Download from the main OOo servers

Have a look at the following page for more explanations : http://wiki.services.openoffice.org/wiki/Getting_It

Some advices :

I would recommend that you download a pre-packaged version of m152 from the following link : http://go-ooo.org/packages/SRC680/

This will save you time compared to downloading the cvs version.


If you still want to download it from the cvs, you can use the following :

cvs -z3 co -r SRC680_m152 OpenOffice'


Update the CWS modifications

TODO :this is still to be done !!!!

mettre update les fichiers pour correspondre au cws chart2mst3

Go to the EIS page related to the chart


cvs -z3 update -dP -r cws_src680_chart2mst3

in all modules (subdirs) as listed in the EIS page gets you the correct branch. See also cws-extract from oobuild, if you want/need to work with diffs (which will get HUGE, though)


Note : cwsclone ??? What's its use ??

Configuring

- Créer un fichier dans lequel on met toutes les options de compilation. - Détailler les options utiles. - Lancer le configure - Vérifier que toutes les dépendances sont remplies.

Building the tools (dmake...)

During the compiling step, the compiling process needs some tools to achieve the build. Before compiling, you need to build those tools. For example,

  • dmake
  • ...

To compile the tools, just type :

cd openOffice.org_m152/
./bootstrap
Setting the environment

Before starting to compile OOo, you need to set all the environment variables

tcsh
source LinuxIntelEnv.set
setenv nodep "TRUE" ; setenv NO_HIDS "TRUE" ; setenv MAXPROCESS 2
rehash
  • nodep  : inhibits generation of dependency files
  • maxprocess : sets the number of parallel dmakes per dir
  • NO_HIDS prevents generation of HIDs (that's used for automated testing - you won't need it)
Compiling (finally...;-)
cd instsetoo_native
build -P2 --dlv_switch -link --all
  • -P2 : fires up more than one dmake in _different_ dirs - thus, you end up with a maximum for 4 parallel compilations
  • --dlv_switch -link : tells deliver not to copy files to solver, but link instead -> saves space


OOoBuild

For this section, you should read the part called "Getting started with OOo development" on the wiki : http://wiki.services.openoffice.org/wiki/Main_Page

Downloading OOoBuild
Downloading the sources

The bugs reported and the solutions.

During the compiling step, you will not be able to compile the whole code


ERROR 1 : the odk / sdk error

While compiling the Chart module, in the ODK project an error will rise :

 build -- version: 1.145
 =============
 Building project sdk_oo
 =============
 /home/pagalmes/workspace/OpenOffice/sdk_oo/pack/unzip_odk
 dmake:  Error -- `/home/pagalmes/workspace/OpenOffice/solver/680/unxlngi6/bin/odk_oo.zip' not found, and can't be made
 '---* RULES.MK *---'
 ERROR: Error 65280 occurred while making /home/pagalmes/workspace/OpenOffice/sdk_oo/pack/unzip_odk
the solution

Just ignore the two osdk and sdk_oo project not needed for compiling OOo :

cd instsetoo_native/util && build--since sdk_oo
ERROR 2 : The InternalDataProvider.cxx include error

This error has been reported as issue 63012 : http://www.openoffice.org/issues/show_bug.cgi?id=63012

/home/pagalmes/workspace/OpenOffice/chart2/source/tools
------------------------------
Making: ../../unxlngi6/slo/InternalDataProvider.obj
g++ -Wreturn-type -fmessage-length=0 -c -I.  -I. -I../inc -I../../source/inc -I../../inc -I../../unx/inc -I../../unxlngi6/inc -I. 
-I/home/pagalmes/workspace/OpenOffice/solver/680/unxlngi6/inc/stl -I/home/pagalmes/workspace/OpenOffice/solver/680/unxlngi6/inc/external 
-I/home/pagalmes/workspace/OpenOffice/solver/680/unxlngi6/inc -I/home/pagalmes/workspace/OpenOffice/solenv/unxlngi6/inc 
-I/home/pagalmes/workspace/OpenOffice/solenv/inc -I/home/pagalmes/workspace/OpenOffice/res 
-I/home/pagalmes/workspace/OpenOffice/solver/680/unxlngi6/inc/stl -I/home/pagalmes/workspace/OpenOffice/solenv/inc/Xp31 
-I/opt/j2sdk1.4.2_09/include -I/opt/j2sdk1.4.2_09/include/linux -I/opt/j2sdk1.4.2_09/include/native_threads/include -I/usr/X11R6/include 
-I. -I../../res -I. -g  -O0   -pipe -mtune=pentiumpro -Wno-ctor-dtor-privacy -fvisibility-inlines-hidden -g -fexceptions -fno-enforce-eh-specs 
-fpic -DLINUX -DUNX -DVCL -DGCC -DC341 -DINTEL -D_STLP_DEBUG -DCVER=C341 -D_USE_NAMESPACE -DNPTL -DGLIBC=2 -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR 
-D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -DHAVE_GCC_VISIBILITY_FEATURE -D__DMAKE -DUNIX -DCPPU_ENV=gcc3
-DGXX_INCLUDE_PATH=/usr/lib/gcc/i386-redhat-linux/4.0.2/../../../../include/c++/4.0.2 -DSUPD=680 -DDEBUG -DDBG_UTIL -DOSL_DEBUG_LEVEL=2 
-DEXCEPTIONS_ON -DCUI -DSOLAR_JAVA -DSRC680=SRC680   -DSHAREDLIB -D_DLL_  -DMULTITHREAD  -o ../../unxlngi6/slo/InternalDataProvider.o 

/home/pagalmes/workspace/OpenOffice/chart2/source/tools/InternalDataProvider.cxx
/home/pagalmes/workspace/OpenOffice/chart2/source/tools/InternalDataProvider.cxx
/usr/lib/gcc/i386-redhat-linux/4.0.2/../../../../include/c++/4.0.2/bits/cpp_type_traits.h:100:
erreur: use of ‘__false_type’ is ambiguous
/usr/lib/gcc/i386-redhat-linux/4.0.2/../../../../include/c++/4.0.2/bits/cpp_type_traits.h:94:
erreur:   first declared as ‘struct __false_type’ here
/home/pagalmes/workspace/OpenOffice/solver/680/unxlngi6/inc/stl/stl/type_traits.h:65:
erreur:   also declared as ‘struct _STLD::__false_type’ here

[...]
dmake:  Error code 1, while making '../../unxlngi6/slo/InternalDataProvider.obj'
'---* tg_merge.mk *---'

ERROR: Error 65280 occurred while making
/home/pagalmes/workspace/OpenOffice/chart2/source/tools
The solution

The following line at the beginning of the file InternalDataProvider.cxx :

#include <valarray>

Has to be put as the first include in the file. No solution has been found for now.


ERROR 3 : the mandriva desktop error

While compiling, you may get the following error message :

1 module(s):
        sysui
need(s) to be rebuilt
 
Reason(s):
 
ERROR: error 65280 occurred while making /home/pagalmes/workspace/OpenOffice/sysui/desktop/mandriva
ERROR: error 65280 occurred while making /home/pagalmes/workspace/OpenOffice/sysui/desktop/redhat
 
Attention: if you build and deliver the above module(s) you may prolongue your the build issuing command "build --from sysui"
the solution

Try building the sysui project :

cd sysui
build

An error message should rise from this module.

Eror message :

[...] /home/pagalmes/workspace/OpenOffice/sysui/unxlngi6.pro/bin/desktop-integration/openoffice.org-mandriva-menus-2.0.2-152.noarch.rpm :
no such file or directory

Error code 1, while making
'/home/pagalmes/workspace/OpenOffice/sysui/unxlngi6.pro/bin/desktop-integration/openoffice.org-mandriva-menus-2.0.2-152.noarch.rpm'

This problem is solved by creating the following directory :

OpenOffice/sysui/unxlngi6.pro/bin/desktop-integration

Note : This error has been corrected with m155

Developping for the new chart module

The common steps.


  • How to build only a particular project :


  • How to rebuild everything from scratch :

(erase the ".dlp" files or smthg like that ??)

  • How to test the modifications done to the chart module :

Documentation

Some useful information

Personal tools