Difference between revisions of "Chart2"
(→The bugs reported and the solutions.) |
(→ERROR 1 : unoxml, xmerge, xmlhelp, chart2) |
||
Line 202: | Line 202: | ||
<pre> | <pre> | ||
− | LINK: ../uiconfig/sglobal/statusbar/statusbar.xml -> /home/pagalmes/workspace/chart2_m166/src680-m166/solver/680/unxlngi6.pro/xml/uiconfig/modules/sglobal/statusbar/statusbar.xml | + | LINK: ../uiconfig/sglobal/statusbar/statusbar.xml -> /home/pagalmes/workspace/chart2_m166/src680-m166/solver/680/unxlngi6.pro/xml/uiconfig/ |
+ | modules/sglobal/statusbar/statusbar.xml | ||
Use of uninitialized value in string eq at /home/pagalmes/workspace/chart2_m166/src680-m166/solenv/bin/deliver.pl line 791. | Use of uninitialized value in string eq at /home/pagalmes/workspace/chart2_m166/src680-m166/solenv/bin/deliver.pl line 791. | ||
LOG: writing /home/pagalmes/workspace/chart2_m166/src680-m166/solver/680/unxlngi6.pro/inc/sw/deliver.log | LOG: writing /home/pagalmes/workspace/chart2_m166/src680-m166/solver/680/unxlngi6.pro/inc/sw/deliver.log | ||
Line 225: | Line 226: | ||
Attention: if you build and deliver the above module(s) you may prolongue your the build issuing command "build --from unoxml xmerge xmlhelp chart2" | Attention: if you build and deliver the above module(s) you may prolongue your the build issuing command "build --from unoxml xmerge xmlhelp chart2" | ||
</pre> | </pre> | ||
− | |||
===== the solution ===== | ===== the solution ===== |
Revision as of 09:37, 24 May 2006
Chart2 is a sub-project of the OpenOffice.org Chart Project. Our goal is to develop a new Chart component for (presumably) OOo 2.6.
Charts are used for visualizing data sets from e.g. spreadsheets by two and three dimensional diagrams. There are a lot of different two- and three-dimensional chart types you can choose from. This page gathers information about the new chart implementation of OpenOffice.org. It is especially written to help new comers to the process of developping in the new OOo chart module.
If you would like to participate, if you have comments or questions related to the chart you are welcome on the graphics mailinglists: (users,dev,features,bugs,cvs)@graphics.openoffice.org. See also the section at the bottom of this page called [Some useful information].
Contents
- 1 Compiling the new chart module
- 2 Developping for the new chart module
- 3 Documentation
- 4 Some useful information
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
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 m166 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 m166 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_m166 OpenOffice
Update the CWS modifications
Once you downloaded the "standard" sources (also called HEAD), you need to update them because the chart module modifications are in a separated cxw called chart2mst3. You need to update only the modified modules. To know which modules have been modified, check the EIS page related to the chart module. On this page, you will find a section called "Modules & Files" which describes the modified modules.
For each module (subdir) you will need to do :
cd name_of_the_module cvs -z3 update -dP -r cws_src680_chart2mst3
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 ??
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 :
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
Configuring
Once you downloaded all the sources, you can start configuring the build.
cd config_office ./configure
If you forgot to install some dependencies, the configure will remind you which one are lacking. You can check the one needed on the tool page
A nice trick for configuring OOo is to create a script in which you write
all the options activated for your build. This helps if you want to see
which options where enabled during the build some days after you compiled
everything. Here is an example :
#! /usr/bin/batch ./configure --with-jdk-home="/home/pagalmes/bin/jdk1.5.0_06/" --with-ant-home="/usr/bin/ant" --with-lang="en fr"
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_m166/ ./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)
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 errors reported and the solutions for m166.
During the compiling step, you will not be able to compile the whole code without facing a small number of issues. Here are the issues we already found and ways to correct them.
ERROR 1 : unoxml, xmerge, xmlhelp, chart2
While compiling, the following error will rise :
LINK: ../uiconfig/sglobal/statusbar/statusbar.xml -> /home/pagalmes/workspace/chart2_m166/src680-m166/solver/680/unxlngi6.pro/xml/uiconfig/ modules/sglobal/statusbar/statusbar.xml Use of uninitialized value in string eq at /home/pagalmes/workspace/chart2_m166/src680-m166/solenv/bin/deliver.pl line 791. LOG: writing /home/pagalmes/workspace/chart2_m166/src680-m166/solver/680/unxlngi6.pro/inc/sw/deliver.log Statistics: Files copied: 137 Files unchanged/not matching: 6 4 module(s): unoxml xmerge xmlhelp chart2 need(s) to be rebuilt Reason(s): ERROR: error 65280 occurred while making /home/pagalmes/workspace/chart2_m166/src680-m166/xmlhelp/source/com/sun/star/help ERROR: error 65280 occurred while making /home/pagalmes/workspace/chart2_m166/src680-m166/xmerge/source/xmerge ERROR: error 65280 occurred while making /home/pagalmes/workspace/chart2_m166/src680-m166/chart2/source/tools ERROR: error 65280 occurred while making /home/pagalmes/workspace/chart2_m166/src680-m166/unoxml/source/service Attention: if you build and deliver the above module(s) you may prolongue your the build issuing command "build --from unoxml xmerge xmlhelp chart2"
the solution
the unoxml problem
As explained in issue http://www.openoffice.org/issues/show_bug.cgi?id=65110 In the file unoxml/prj/build.lst the first line has to be changed to add 'tools' in it :
ux unoxml : tools offuh cppuhelper LIBXML2:libxml2 NULL
cd unoxml; build; cd ../instsetoo_native; build --all
the xmerge problem
This is only a problem if you try to compile OOo with Java 1.5
The issue : http://www.openoffice.org/issues/show_bug.cgi?id=59368
In it, there is only a need to apply the patch posted there :
cd src680-m166 patch -p0 < [filename]
The errors reported and the solutions for m155.
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
- Main Chart Project Page: http://graphics.openoffice.org/chart/chart.html
- Chart Specifications: http://specs.openoffice.org/chart/index.html
- Current CWS Name: [chart2mst3]
- IRC channel: #chart2.openoffice.org (on freenode)