start

## Notes on building OpenOffice

These may seem cryptic ; its essentially an easy place for me to keep stuff that is in progress and I haven’t resolved yet Most of this info is old, rather use the Official OOo wiki

### rpmbuild bugs

Something to do with expecting rpm rather than rpmbuild, and producing packages. All are now marked fixed, so who knows what this was about but thought I’d better not lose the list

- 60749
- 30474
- 30357
- 41114
- 43331
- 48213
- 49374

### Using ooo-build

- the latest ooo-build should automatically pick up all the paths to Visual Studio etc, so it makes life much easier than manual build!

### Requirements

- Platform SDK is required for the following reasons:
  - midl.exe
  - trying to install with only the following Components:
    - Microsoft Windows Core SDK
      - Tools (no -64bit ones)
      - Build Environment
        - Build Environment (x86 32-bit)
      - Redistributable Component
  - configure check looks for Include/{AdoCtint.h,SqlUcode.h,usp10.h} and lib/unicows.lib
  - requires Windows installer stuff - bin/{msiinfo.exe,msidb.exe,uuidgen.exe,msitran.exe}
  - MDAC SDK and Windows Installer SDK were sufficient for configure check (without any 64-bit stuff)
- DirectX SDK
  - the “extras” installer creates a directory called Extras. move Extras/DirectShow/* and Extras/DirectSound/* into DirectX SDK home
- external requirements - unicows and dbghelp - if copied using cygwin, do chmod a+x to make the dlls executable
- note on PATHS - must by cygwin-style 8.3 paths. to get this run `x=”/c/DevTools/Microsoft\ Platform\ SDK/” ; x=`cygpath -d “$x”` ; x=`cygpath -u “$x”``
- missing tools (see http://tools.openoffice.org/build_env_conf.html)
  - csc.exe - /c/WINDOWS/Microsoft.NET/Framework/v1.1.4322
  - ? ml.exe - asm compiler
  - --with-frame-home - .NET framework SDK
  - ? wdevenv.exe

### Problems encountered

- trailing slash in PSDK path caused endless build problems - see http://www.openoffice.org/issues/show_bug.cgi?id=54285
- also seems best to use /cygdrive/c instead of just /c
- .h files not found in building sal - copy it from `Visual Studio .NET 2003/Platform SDK/Include` to `Visual Studio .NET 2003/Vc7/include`
  - `Shlwapi.h`
  - `MsHTML.h`
  - `MsHtmHst.h`
  - `Dimm.h`
  - `Wab*.h` (for building Mozilla)
- This seems to be because of installing Visual Studio into a non-standard path, etc. Next time try accept the defaults.
- Also some .idl files when building extensions module - copied them into ‘‘/c/DevTools/Microsoft Platform SDK/Include’
- when doing a rebuild, odk failed build because checkinc2.txt was not found. just touch this file in another window after the module has started building and it builds successfully...
- scripting project hung for hours doing nothing (no CPU time) because there was a shell script hanging. had to kill it (cygwin snapshot problem?)
- instsetoo_native building afrikaans had a defunct shell script taking up 100% CPU time for 25 minutes (look at /proc/$pid/cmdline, it says <defunct> - same pid as in Windows task manager but task doesn’t appear with ps -ef (cygwin snapshot problem?)

### Using configure directly

Alberto’s advice is to work out requirements using the native OOo source and config_office/configure command

#### General Notes

- --with-mspdb-path requires the actual DLL name not just its directory
- --with-nsis-path requires the directory, not the nsis.exe name
- if CLASSPATH is set then ant will not build things and the error message doesn’t help

#### With Visual Studio

- Still have to pass it lots of commandline parameters

Current configure command:

#!/bin/bash

    unset CLASSPATH
    psdk=/cygdrive/c/DevTools/Microsoft\ Platform\ SDK
    dsdk=/cygdrive/c/DevTools/Microsoft\ DirectX\ 9.0\ SDK
    vchome="/cygdrive/c/Program Files/Microsoft Visual Studio .NET 2003/Vc7"
    midlpath=/cygdrive/c/DevTools/Microsoft\ Visual\ Studio\ .NET\ 2003/Common7/Tools/Bin
    cscpath=/cygdrive/c/WINDOWS/Microsoft.NET/Framework/v1.1.4322
    psdk=`cygpath -d "$psdk"`
    psdk=`cygpath -u "$psdk"`
    dsdk=`cygpath -d "$dsdk"`
    dsdk=`cygpath -u "$dsdk"`
    vchome=`cygpath -d "$vchome"`
    vchome=`cygpath -u "$vchome"`
    ./configure --with-build-version="translate.org.za build 20050831" --with-jdk-home=/cygdrive/c/java/j2sdk1.4.2_09 --with-ant-home=/cygdrive/c/DevTools/apache-ant-1.6.5 --with-psdk-home="$psdk" --with-directx-home="$dsdk" --with-nsis-path=/cygdrive/c/DevTools/NSIS --disable-mozilla --with-cl-home="$vchome" --with-midl-path="$midlpath" --with-csc-path="$cscpath" --with-frame-home=/cygdrive/c/DevTools/Microsoft.NET/SDK/v1.1

#### With MinGW

- going to try this in the background whilst getting Visual Studio going

Current configure command:

    psdk=/c/DevTools/Microsoft\ Platform\ SDK
    dsdk=/c/DevTools/Microsoft\ DirectX\ 9.0\ SDK
    psdk=`cygpath -d "$psdk"`
    psdk=`cygpath -u "$psdk"`
    dsdk=`cygpath -d "$dsdk"`
    dsdk=`cygpath -u "$dsdk"`
    ./configure --with-mingwin=yes --with-build-version="translate.org.za build 20050831"
      --with-jdk-home=/c/java/j2sdk1.4.2_09/ --with-ant-home=/c/DevTools/apache-ant-1.6.5/
      --with-psdk-home="$psdk" --with-directx-home="$dsdk" --with-nsis-path=/c/DevTools/NSIS/
      --disable-mozilla

- No prebuilt mozilla libraries for WNTGCC...
- made bootstrap.sh which works where bootstrap doesn’t (submit)
- built dmake!

#### Code Signing

Would be nice to sign stuff with Authenticode so that people don’t get nasty warnings when running setup... <a href=”http://mindprod.com/jgloss/certificate.html“>certificates info</a> is a helpful page that lists different signing authorities etc