Compiling AbiWord 2.6.x on Windows

From AbiWiki

(Difference between revisions)
Jump to: navigation, search
(add content with basic reformatting from qwikiwiki format to mediawiki.)
 
(6 intermediate revisions not shown)
Line 1: Line 1:
Instructions originally from [[User:rp|Ryan's]] site at http://cleardefinition.com/page/Building_AbiWord_2_6_on_Windows/ - Explore there to fill in gaps.
Instructions originally from [[User:rp|Ryan's]] site at http://cleardefinition.com/page/Building_AbiWord_2_6_on_Windows/ - Explore there to fill in gaps.
==What You Need==
==What You Need==
-
! Note - Unless otherwise noted, you're looking for one or more zip files in each of these places, usually a -bin and a -dev.
+
 
 +
: ! Note - Unless otherwise noted, you're looking for one or more zip files in each of these places, usually a -bin and a -dev.
 +
 
 +
===The Easy Way Out===
 +
 
 +
You can '''skip''' all the rest of this "what you need" section, except for actually getting the AbiWord source of your choice (and NSIS if installers are desired), by downloading a premade build environment from [http://www.abisource.com/~rp/builds/build-envs/ Ryan's build environment page] and unzipping it (using 7-zip) into a sane, short directory, like c:\
 +
 
===For All Builds:===
===For All Builds:===
-
. MinGW/MSYS (See [[Setting Up a MinGW Windows Build Environment]] - you need pkg-config too, install these dependencies in the way that page shows)
+
 
-
. bzip2[-bin, -lib] (I used 1.0.3 from GnuWin32 - DO NOT UPGRADE until Tor re-builds the GNOME binaries against a non-broken bzip2) - *Rename libbz2.dll.a in mingw\lib to _libbz2.dll.a*
+
* MinGW/MSYS (See [[Setting Up a MinGW Windows Build Environment]] - you need pkg-config too, install these dependencies in the way that page shows)
-
. gettext[-dev] (I used 0.14.5 from GNOME)
+
* bzip2[-bin, -lib] (I used 1.0.3 from GnuWin32 - DO NOT UPGRADE until Tor re-builds the GNOME binaries against a non-broken bzip2) - '''Rename libbz2.dll.a in mingw\lib to _libbz2.dll.a'''
-
. glib[-dev] (I used 2.14.4 from GNOME)
+
* gettext[-dev] (I used 0.14.5 from GNOME)
-
. libgsf[-dev] (I used 1.14.7 - _Building_libgsf_on_Windows_)
+
* glib[-dev] (I used 2.14.4 from GNOME)
-
. libiconv (I used 1.9.1 from GNOME)
+
* libgsf[-dev] (I used 1.14.7 - _Building_libgsf_on_Windows_)
-
. libxml2 (I used 2.6.30 - you must follow _Building_libxml2_on_Windows_)
+
* libiconv (I used 1.9.1 from GNOME)
-
. libwv[-dev] (I used version 1.2.4 - from RP )
+
* libxml2 (I used 2.6.30 - you must follow _Building_libxml2_on_Windows_)
-
. zlib (I used 1.2.3 - normally have used zlib.net version, but see _Building_Using_zlib_on_Windows_ )
+
* libwv[-dev] (I used version 1.2.4 - from RP )
-
. You also need to unzip the zlib.net version in a special way (in addition to installing this way) - read on below for details
+
* zlib (I used 1.2.3 - normally have used zlib.net version, but see _Building_Using_zlib_on_Windows_ )
 +
** You also need to unzip the zlib.net version in a special way (in addition to installing this way) - read on below for details
===For Tools Plugins:===
===For Tools Plugins:===
-
. libmathview (Avoid version 0.8.0 - I used 0.7.8 from RP)
+
 
-
. link-grammar (I used 4.2.1 from Abi)
+
* libmathview (Avoid version 0.8.0 - I used 0.7.8 from RP)
-
. boost with libboost-thread: get the official boost 1.34.0 distribution (zip, not installer) from boost.org, and the compiled bit from http://www.abisource.com/~rp/builds/builddeps/ - Don't try to install this yet, but rather wait for the Tools compilation instructions
+
* link-grammar (I used 4.2.1 from Abi)
-
. ASIO - you must use 0.3.8rc3 or newer, again, wait until the Tools compilation instructions to know what to do here.  http://asio.sf.net/ - Don't get the Boost-integrated one.  I used 0.3.9
+
* boost with libboost-thread: get the official boost 1.34.0 distribution (zip, not installer) from boost.org, and the compiled bit from http://www.abisource.com/~rp/builds/builddeps/ - Don't try to install this yet, but rather wait for the Tools compilation instructions
 +
* ASIO - you must use 0.3.8rc3 or newer, again, wait until the Tools compilation instructions to know what to do here.  http://asio.sf.net/ - Don't get the Boost-integrated one.  I used 0.3.9
===For Import Export Plugins:===
===For Import Export Plugins:===
-
. libwpd[-MinGW, -devel] (I used 0.8.13 from http://libwpd.sourceforge.net/download.html )
 
-
. psiconv (I used 0.9.8-1 from RP)
 
-
====For Building Installers:===
+
* libwpd[-MinGW, -devel] (I used 0.8.13 from http://libwpd.sourceforge.net/download.html )
-
. You'll need NSIS http://nsis.sf.net/ installed to C:\Program Files\NSIS (default) or follow some instructions below.
+
* psiconv (I used 0.9.8-1 from RP)
-
. You'll also need some plugins from that site:  
+
 
-
. ZipDLL
+
===For Building Installers:===
-
. MD5
+
 
-
. UnTGZ
+
* You'll need NSIS http://nsis.sf.net/ installed to C:\Program Files\NSIS (default) or follow some instructions below.
-
. You'll also need Perl, which is explained in the build env. instructions above.
+
* You'll also need some plugins from that site:  
 +
** ZipDLL
 +
** MD5
 +
** UnTGZ
 +
* You'll also need Perl, which is explained in the build env. instructions above.
===Where To Get These:===
===Where To Get These:===
-
. GNOME: ftp://ftp.gnome.org/pub/gnome/binaries/win32/ - look in the dependencies directory if you can't find it.
+
 
-
. GnuWin32: http://gnuwin32.sourceforge.net/packages.html
+
* GNOME: ftp://ftp.gnome.org/pub/gnome/binaries/win32/ - look in the dependencies directory if you can't find it.
-
. RP: (that's me!) http://abisource.com/~rp/builds/
+
* GnuWin32: http://gnuwin32.sourceforge.net/packages.html
-
. Abi: (Probably also built by me) http://abisource.com/downloads/dependencies/
+
* RP: (that's me!) http://abisource.com/~rp/builds/
 +
* Abi: (Probably also built by me) http://abisource.com/downloads/dependencies/
==Setting Up Your Source Tree==
==Setting Up Your Source Tree==
-
. Create a a directory with no spaces in the name (easiest) in a shallow directory of one of your drives (c:\abisource, c:\srctrees\abihead) - this will be your source tree root.
+
 
-
. Now, decide if you're using a tarball (release) or SVN/CVS (development)
+
* Create a a directory with no spaces in the name (easiest) in a shallow directory of one of your drives (c:\abisource, c:\srctrees\abihead) - this will be your source tree root.
 +
* Now, decide if you're using a tarball (release) or SVN/CVS (development)
 +
 
===SVN and CVS:===
===SVN and CVS:===
-
! Note you'll need CVSNT installed and in your path for this, as well as Subversion in some sort.  You can generally translate these commands into their graphical equivalent pretty easily, too.
+
 
-
. Click Start, Run, enter "cmd" (for WinNT/2k/XP, "command" for all other versions)
+
: ! Note you'll need CVSNT installed and in your path for this, as well as Subversion in some sort.  You can generally translate these commands into their graphical equivalent pretty easily, too.
-
. Execute the following commands:
+
 
-
. #set CVSROOT=:pserver:anoncvs@cvs.abisource.com:/cvsroot#
+
* Click Start, Run, enter "cmd" (for WinNT/2k/XP, "command" for all other versions)
-
. #cvs login# - Password is anoncvs, only needs to be performed once
+
* Execute the following commands:
-
. Close your command window.
+
** <tt>set CVSROOT=:pserver:anoncvs@cvs.abisource.com:/cvsroot</tt>
-
. Open MSYS.
+
** <tt>cvs login</tt> - Password is anoncvs, only needs to be performed once
-
. #cd# to your source root using msys syntax (e.g. cd /c/abisource or cd /c/srctrees/abihead)
+
* Close your command window.
-
. execute these commands (or perform the equivalent using TortoiseSVN)
+
* Open MSYS.
-
. #svn co http://svn.abisource.com/abiword/trunk abi#
+
* <tt>cd</tt> to your source root using msys syntax (e.g. cd /c/abisource or cd /c/srctrees/abihead)
-
. #svn co http://svn.abisource.com/abiword-plugins/trunk abiword-plugins#
+
* execute these commands (or perform the equivalent using TortoiseSVN)
-
. #svn co http://svn.abisource.com/abiword-extras/trunk abidistfiles#
+
** <tt>svn co http://svn.abisource.com/abiword/trunk abi</tt>
-
. #svn co http://svn.abisource.com/abiword-docs/trunk abiword-docs#
+
** <tt>svn co http://svn.abisource.com/abiword-plugins/trunk abiword-plugins</tt>
-
. #cvs -d:pserver:anoncvs@cvs.abisource.com:/cvsroot -z3 co libpng popt fribidi#
+
** <tt>svn co http://svn.abisource.com/abiword-extras/trunk abidistfiles</tt>
 +
** <tt>svn co http://svn.abisource.com/abiword-docs/trunk abiword-docs</tt>
 +
** <tt>cvs -d:pserver:anoncvs@cvs.abisource.com:/cvsroot -z3 co libpng popt fribidi</tt>
===Tarball:===
===Tarball:===
-
. Download all four tarballs.
+
 
-
. Untar abiword-2.6.x.tar.gz.  You will get an abiword-2.6.x directory - rename . it to abi.
+
* Download all four tarballs.
-
. Untar abiword-docs-2.6.x.tar.gz, rename the abiword-docs-2.6.x directory to abiword-docs and move it to the parent directory.
+
* Untar abiword-2.6.x.tar.gz.  You will get an abiword-2.6.x directory - rename . it to abi.
-
. Untar abiword-extras-2.6.x.tar.gz, rename the abiword-extras-2.6.x to abidistfiles, and move it to the parent directory.
+
* Untar abiword-docs-2.6.x.tar.gz, rename the abiword-docs-2.6.x directory to abiword-docs and move it to the parent directory.
-
. Untar abiword-plugins-2.6.x.tar.gz, rename the abiword-plugins-2.6.x directory to abiword-plugins and move it to the parent directory.
+
* Untar abiword-extras-2.6.x.tar.gz, rename the abiword-extras-2.6.x to abidistfiles, and move it to the parent directory.
-
. From a CVS tree assembled as above, copy the libpng, popt, and fribidi folders to your source tree root then continue below.
+
* Untar abiword-plugins-2.6.x.tar.gz, rename the abiword-plugins-2.6.x directory to abiword-plugins and move it to the parent directory.
 +
* From a CVS tree assembled as above, copy the libpng, popt, and fribidi folders to your source tree root then continue below.
===For both methods:===
===For both methods:===
-
. Complete the above steps for your chosen method of source distribution.
+
 
-
. Make a new directory inside your source root named libs.
+
* Complete the above steps for your chosen method of source distribution.
-
. Make a new directory within it named zlib.
+
* Make a new directory inside your source root named libs.
-
. Unzip your zlib.net download within there.
+
* Make a new directory within it named zlib.
 +
* Unzip your zlib.net download within there.
==Building AbiWord Core==
==Building AbiWord Core==
-
. Open MSYS
+
 
-
. cd into your source root directory, and the abi subdirectory within (#cd /c/src/abihead/abi# for me)
+
* Open MSYS
-
. Execute the command #PKG_CONFIG_PATH=/mingw/lib/pkgconfig make#
+
* cd into your source root directory, and the abi subdirectory within (<tt>cd /c/src/abihead/abi</tt> for me)
-
. Copy "libglib-2.0-0.dll", "libgobject-2.0-0.dll", "iconv.dll", "intl.dll",  "libgsf-1-114.dll", "bzip2.dll", "libxml2-2.dll", and "zlib1.dll" into #abi/src/MINGW32_1.0.10_i386_OBJ/bin# from #/mingw/bin#
+
* Execute the command <tt>PKG_CONFIG_PATH=/mingw/lib/pkgconfig make</tt>
-
. You can now run AbiWord from that bin directory.  To make an installer, run #PKG_CONFIG_PATH=/mingw/lib/pkgconfig make distribution#
+
* Copy "libglib-2.0-0.dll", "libgobject-2.0-0.dll", "iconv.dll", "intl.dll",  "libgsf-1-114.dll", "bzip2.dll", "libxml2-2.dll", and "zlib1.dll" into <tt>abi/src/MINGW32_1.0.10_i386_OBJ/bin</tt> from <tt>/mingw/bin</tt>
 +
* You can now run AbiWord from that bin directory.  To make an installer, run <tt>PKG_CONFIG_PATH=/mingw/lib/pkgconfig make distribution</tt>
 +
 
 +
 
 +
[[Category:Developer]]
 +
[[Category:Windows]]

Current revision as of 01:57, 17 February 2013

Instructions originally from Ryan's site at http://cleardefinition.com/page/Building_AbiWord_2_6_on_Windows/ - Explore there to fill in gaps.

Contents

What You Need

 ! Note - Unless otherwise noted, you're looking for one or more zip files in each of these places, usually a -bin and a -dev.

The Easy Way Out

You can skip all the rest of this "what you need" section, except for actually getting the AbiWord source of your choice (and NSIS if installers are desired), by downloading a premade build environment from Ryan's build environment page and unzipping it (using 7-zip) into a sane, short directory, like c:\

For All Builds:

  • MinGW/MSYS (See Setting Up a MinGW Windows Build Environment - you need pkg-config too, install these dependencies in the way that page shows)
  • bzip2[-bin, -lib] (I used 1.0.3 from GnuWin32 - DO NOT UPGRADE until Tor re-builds the GNOME binaries against a non-broken bzip2) - Rename libbz2.dll.a in mingw\lib to _libbz2.dll.a
  • gettext[-dev] (I used 0.14.5 from GNOME)
  • glib[-dev] (I used 2.14.4 from GNOME)
  • libgsf[-dev] (I used 1.14.7 - _Building_libgsf_on_Windows_)
  • libiconv (I used 1.9.1 from GNOME)
  • libxml2 (I used 2.6.30 - you must follow _Building_libxml2_on_Windows_)
  • libwv[-dev] (I used version 1.2.4 - from RP )
  • zlib (I used 1.2.3 - normally have used zlib.net version, but see _Building_Using_zlib_on_Windows_ )
    • You also need to unzip the zlib.net version in a special way (in addition to installing this way) - read on below for details

For Tools Plugins:

  • libmathview (Avoid version 0.8.0 - I used 0.7.8 from RP)
  • link-grammar (I used 4.2.1 from Abi)
  • boost with libboost-thread: get the official boost 1.34.0 distribution (zip, not installer) from boost.org, and the compiled bit from http://www.abisource.com/~rp/builds/builddeps/ - Don't try to install this yet, but rather wait for the Tools compilation instructions
  • ASIO - you must use 0.3.8rc3 or newer, again, wait until the Tools compilation instructions to know what to do here. http://asio.sf.net/ - Don't get the Boost-integrated one. I used 0.3.9

For Import Export Plugins:

For Building Installers:

  • You'll need NSIS http://nsis.sf.net/ installed to C:\Program Files\NSIS (default) or follow some instructions below.
  • You'll also need some plugins from that site:
    • ZipDLL
    • MD5
    • UnTGZ
  • You'll also need Perl, which is explained in the build env. instructions above.

Where To Get These:

Setting Up Your Source Tree

  • Create a a directory with no spaces in the name (easiest) in a shallow directory of one of your drives (c:\abisource, c:\srctrees\abihead) - this will be your source tree root.
  • Now, decide if you're using a tarball (release) or SVN/CVS (development)

SVN and CVS:

 ! Note you'll need CVSNT installed and in your path for this, as well as Subversion in some sort. You can generally translate these commands into their graphical equivalent pretty easily, too.

Tarball:

  • Download all four tarballs.
  • Untar abiword-2.6.x.tar.gz. You will get an abiword-2.6.x directory - rename . it to abi.
  • Untar abiword-docs-2.6.x.tar.gz, rename the abiword-docs-2.6.x directory to abiword-docs and move it to the parent directory.
  • Untar abiword-extras-2.6.x.tar.gz, rename the abiword-extras-2.6.x to abidistfiles, and move it to the parent directory.
  • Untar abiword-plugins-2.6.x.tar.gz, rename the abiword-plugins-2.6.x directory to abiword-plugins and move it to the parent directory.
  • From a CVS tree assembled as above, copy the libpng, popt, and fribidi folders to your source tree root then continue below.

For both methods:

  • Complete the above steps for your chosen method of source distribution.
  • Make a new directory inside your source root named libs.
  • Make a new directory within it named zlib.
  • Unzip your zlib.net download within there.

Building AbiWord Core

  • Open MSYS
  • cd into your source root directory, and the abi subdirectory within (cd /c/src/abihead/abi for me)
  • Execute the command PKG_CONFIG_PATH=/mingw/lib/pkgconfig make
  • Copy "libglib-2.0-0.dll", "libgobject-2.0-0.dll", "iconv.dll", "intl.dll", "libgsf-1-114.dll", "bzip2.dll", "libxml2-2.dll", and "zlib1.dll" into abi/src/MINGW32_1.0.10_i386_OBJ/bin from /mingw/bin
  • You can now run AbiWord from that bin directory. To make an installer, run PKG_CONFIG_PATH=/mingw/lib/pkgconfig make distribution
Personal tools