blob: fcb46f56967e4216a3ac042c4de671c24df44288 [file] [log] [blame]
<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:\&gt; <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>