| <html> |
| <title>OpenOffice.org - Troubleshooting the build</title> |
| <head> |
| <meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8"> |
| </head> |
| <body> |
| <H1><A NAME="5.1.TroubleshootingtheBuild|outline"></A>Troubleshooting |
| the Build</H1> |
| |
| <P>This section gives you some tips and advice on things to do if you |
| encounter problems when building the office suite. |
| </P> |
| |
| <P>If the office suite does not build successfully, the following tips may |
| be helpful in attempting to fix the build.</P> |
| |
| |
| |
| <TABLE BORDER="1" CELLPADDING=5 CELLSPACING=0> |
| <TR VALIGN=TOP> |
| <TH> |
| If... |
| </TH> |
| <TH> |
| Then... |
| </TH> |
| </TR> |
| <TR VALIGN=TOP> |
| <TD> |
| You get the following error on executing <CODE>dmake</CODE>: |
| |
| <PRE> |
| Error -- makefile.mk not found |
| </PRE> |
| </TD> |
| <TD> |
| You did not run the <CODE>configure</CODE> script. |
| Run the <CODE>configure</CODE> |
| script then run <CODE>dmake</CODE> again. |
| <p>Source the settings file. Look at the last few lines from configure for a |
| hint.</p> |
| </TD> |
| </TR> |
| <TR VALIGN=TOP> |
| <TD> |
| You get the following error on executing <CODE>dmake</CODE>: |
| |
| <PRE> |
| Error -- Configuration file startup.mk not found |
| </PRE> |
| </TD> |
| <TD> |
| The environment variable <CODE>DMAKEROOT</CODE> |
| is not set correctly to the following value: |
| |
| <PRE> |
| $SRC_ROOT/solenv/inc/startup |
| </PRE> |
| <p>You probably have not run source on you ????.set.sh file in your build directory.</p> |
| <P>For example, in Linux <CODE>dmake</CODE> reads |
| the following files in the following order:</P> |
| <PRE> |
| $SRC_ROOT/solenv/inc/startup/startup.mk |
| $SRC_ROOT/solenv/inc/startup/config.mk |
| $SRC_ROOT/solenv/inc/startup/local.mk |
| $SRC_ROOT/solenv/inc/startup/LINUX/macros.mk |
| $SRC_ROOT/solenv/inc/UNIX/macros.mk |
| $SRC_ROOT/solenv/inc/macros.mk</PRE> |
| <P>You can check this by running <CODE>dmake</CODE> in verbose |
| (<CODE>-v</CODE>) mode.</p> |
| </TD> |
| </TR> |
| <TR VALIGN=TOP> |
| <TD>You get a compile error. |
| </TD> |
| <TD>Ensure that you have the most current source. Often minor patches are |
| applied after the source tarball is created. This includes support of |
| changing compilers such as gcc and bison. Do a `cvs update` in that |
| directory. |
| <p>Check for an existing issue and patch. <a |
| href="http://www.openoffice.org/issues/query.cgi">Search</a> for an existing |
| issue report and look for some patches. If you have the same issue and have |
| a patch, please add it to the issue. If you have the same issue but a |
| different platform please add a comment.<p> |
| <p>Dependencies are not perfect with openoffice.org sometimes you have to |
| purge the whole build to get accurate rebuild results. `dmake clean` will |
| purge your build for a fresh start. You must do this when you change cvs tags.</p> |
| </TD> |
| </TR> |
| <TR> |
| <TD>You need help. |
| </TD> |
| <TD>Please subscribe to dev@openoffice.apache.org mailing list and write a message |
| requesting help. Include: |
| <BR>Your platform and version eg Linux Redhat 9.0 or Windows 2000 |
| <BR>Your compiler and version eg gcc --version (gcc 3.3.1) or Visual C |
| include patch releases. |
| <BR>You Java compiler version if it is a java problem. |
| <BR>If Windows whether you are 4nt or cugwin build. |
| <p>If you are working on a new platform like OS/2 then you might find help |
| on the porting list.</p> |
| </TD> |
| </TR> |
| <TR VALIGN=TOP> |
| <TD> |
| It is not obvious from the <CODE>dmake</CODE> |
| error what the problem is. |
| |
| </TD> |
| <TD> |
| Run the following command to get a |
| full description of the <CODE>dmake</CODE> |
| instructions and an expansion of all the variables used in the |
| build: |
| <PRE> |
| % <KBD>dmake -p -v</KBD> |
| </PRE> |
| <P> |
| The <CODE>-p</CODE> option expands all build variables. The <CODE>-v</CODE> option sets <CODE>dmake</CODE> to verbose mode. |
| Note that this will generate a lot of output. Note also that <CODE>dmake</CODE> prints some of its messages to <CODE>stderr</CODE>. |
| </P> |
| </TD> |
| </TR> |
| <TR VALIGN=TOP> |
| <TD> |
| You want to run the imagemaker program <CODE>bmp</CODE>. |
| </TD> |
| <TD> |
| On an X Windows system, make sure the <CODE>DISPLAY</CODE> |
| variable is set when running the imagemaker program <CODE>bmp</CODE>. |
| This is built in the module <CODE>svtools</CODE>. |
| Also, ensure that you have the appropriate privileges to access |
| the system. |
| |
| </TD> |
| </TR> |
| <TR VALIGN=TOP> |
| <TD>The build stops complaining it cannot find a .bmp file</TD> |
| <TD> |
| This is really the same problem as the previous one - you must have the |
| DISPLAY variable set so the program bmp can make a connection to an X server. |
| </TD> |
| </TR> |
| <TR VALIGN=TOP> |
| <TD> |
| You need to debug a particular tool |
| or create a debug build. |
| </TD> |
| <TD> |
| To use debug switches you can use the following command: |
| <PRE> |
| % <KBD>dmake debug=true</KBD> |
| </PRE> |
| |
| <P> |
| Alternatively, you can set the environment variable DEBUG to TRUE by using the following command: |
| </P> |
| <PRE> |
| % <KBD>setenv DEBUG TRUE</KBD> (csh shells) |
| $ <KBD>export DEBUG=TRUE</KBD> (sh shells) |
| </PRE> |
| |
| <P> |
| Setting up your environment again unsets this variable. |
| </P> |
| </TD> |
| </TR> |
| <TR VALIGN=TOP> |
| <TD> |
| You want to force a full recompilation of a particular project. |
| |
| </TD> |
| <TD> |
| The simplest thing to do is to |
| remove the output tree. For example, in the <CODE>tools</CODE> |
| project on Linux: |
| |
| <PRE> |
| $SRC_ROOT/tools |
| rm -rf unxlngi4.pro |
| </PRE> |
| <P> |
| In other words, in that project, remove the directory and contents of the tree created by your build. |
| </P> |
| </TD> |
| </TR> |
| <TR VALIGN=TOP> |
| <TD> |
| You suspect that OpenOffice.org/StarOffice is building in the wrong order. |
| |
| </TD> |
| <TD> |
| The dependencies between the |
| modules are quite complex. Therefore you must build the |
| projects in a particular order. You can see this order in the |
| top level <CODE>instsetoo/prj/build.lst</CODE>. |
| </TD> |
| </TR> |
| <TR VALIGN=TOP> |
| <TD> |
| You get the following error while running <CODE>dmake</CODE>: |
| <PRE> |
| IGNORE SUBDIRS |
| </PRE> |
| </TD> |
| <TD> |
| If you use the build tool, it may |
| set the <CODE>mk_tmp</CODE> environment variable |
| to TRUE. For <CODE>dmake</CODE> to run correctly, |
| you must reset the value of <CODE>mk_tmp</CODE> to |
| blank, as follows: |
| <PRE> |
| % <KBD>setenv mk_tmp</KBD> (csh shells) |
| $ <KBD>unset mk_tmp</KBD> (sh shells) |
| </PRE> |
| <P> |
| The equivalent command on Win32 systems is as follows: |
| </P> |
| <PRE> |
| C:\> <KBD>unset mk_tmp</KBD> |
| </PRE> |
| |
| |
| </TD> |
| </TR> |
| <TR VALIGN=TOP> |
| <TD> |
| When you run the command <CODE>./setup</CODE> |
| in <CODE>$SRC_ROOT/instsetoo/$INPATH/normal</CODE> |
| and encounter the following error: |
| |
| <PRE> |
| replace xxxxxx.res? [y]es, [n]o, [A]ll, |
| [N]one, [r]ename: |
| </PRE> |
| </TD> |
| <TD> |
| This error occurs when you run the command <CODE>dmake |
| install</CODE> over an existing installation set. To resolve |
| this error, remove the output tree in the module <CODE>instsetoo</CODE>, |
| as follows: |
| <PRE> |
| % <KBD>cd $SRC_ROOT/instsetoo</KBD> |
| % <KBD>rm -rf $INPATH</KBD> |
| </PRE> |
| <P>Then rerun the <CODE>dmake install</CODE> |
| command as follows:</P> |
| <PRE> |
| % <KBD>cd $SRC_ROOT</KBD> |
| % <KBD>dmake install</KBD> |
| </PRE> |
| <P>Then run <CODE>setup</CODE> again, as follows:</P> |
| <PRE> |
| % <KBD>cd instsetoo/$INPATH/normal</KBD> |
| % <KBD>./setup</KBD> |
| </PRE> |
| </TD> |
| </TR> |
| </TABLE> |
| </body> |
| </html> |