The libwpd/libwg software | Build under Windows | Notes on building under macOS | Home page
The open-source libwpd and libwpg projects provide the most flexible third-party tools for converting WordPerfect documents into other formats. LibreOffice and other software uses them for opening and converting files.
These projects include programs named wpd2odt (for converting WP documents to OpenDocument format, usable by LibreOffice, Microsoft Word, and other applications), wpd2html (for converting WP documents to HTML), wpg2odg and wpd2svg (for converting WP graphics to OpenDocument or SVG graphics), and a few other similar programs.
These programs are easily available under macOS (via Brew) and many Linux distributions, but they have never been available for Windows. I have compiled Win32 versions of them under CygWin, and the compiled programs may be downloaded here. They are codesigned, but your malware software may not recognize them. If you don't trust them, simply delete them. (If for any reason you want the slower versions compiled under Msys2, they are here).
It took a lot of effort to compile these programs. In case you want to try doing this on your own, here is a summary. I am absolutely not skilled or experienced in building software like this, so please let me know of anything that's wrong or absurd.
Under macOS or Linux, the same basic procedure should work, but of course use sudo make install instead of make install (or, for boost, sudo ./b2 install ) and see below for specific notes on macOS.
Download and install CygWin.
Use the CygWin installer to select the standard build tools (you may need to experiment) and these packages: cppunit, libiconv-devel, libicu-devel, libxml2-devel, pkgconf, and zlib-devel.
Note: You can also use Msys2 (specifially Msys2/MinGW64), but the resulting executables will be much slower than the CygWin-compiled versions. On the other hand, CygWin takes far longer than Msys2 to build the applications, and one library (Boost) will takes many hours to install under CygWin. I had to wait overnight for it to finish. If you use Mys2, before building any of the libraries, use pacman -S to install mingw64, libtool, cppunuit, doxygen, zlib, and mngw-x86_64-boost (and skip the manual installation of boost described below). Executables are in /mingw64/bin .
Install the following packages from source (except Boost, all are available from the libwpd and libwpg SourceForge pages). Check your environment; it's possble that you will need to run this export command before building anything:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
Boost to be installed this way (and you may need to wait overnight for it to finish):
./bootstrap.sh
./b2
./b2 install
librevenge to be installed something like this:
autoupdate
./autogen.sh
./configure --enable-static --disable-shared --disable-tests
make clean
make
make install
Note: You may need to add to the configure line options something like this (on the same line with the other options:
CXXFLAGS=-I$HOME/boost_1_81_0 LDFLAGS=I$HOME/boost_1_81_0
libwpd to be installed something like this:
autoupdate
./autogen.sh
./configure --enable-static --disable-shared
make clean
make
make install
libwpg to be installed something like this:
autoupdate
./autogen.sh
./configure --enable-static --disable-shared
make clean
make
make install
libodfgen to be installed something like this:
autoupdate
./autogen.sh
./configure --enable-static --disable-shared
make clean
make
make install
writerperfect to be installed something like this:
autoupdate
./autogen.sh
./configure --enable-static --disable-shared
make clean
make
make install
The executables can be found in /usr/local/bin
I also installed libmspub to create a converter for Microsoft Publisher files, but have not tested the executable.
Please let me know of any corrections or problems.
Some brief notes that may be useful when building in macOS:
Install pkg-config from source:
export CC=/usr/bin/cc
./configure --prefix=/usr/local CC=$CC --with-internal-glib
make
sudo make install
Then, before building anything else:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
Install libxml2 from brew; then, before building libodfgen:
export PKG_CONFIG_PATH="/usr/local/opt/libxml2/lib/pkgconfig"
I'll provide further details if I can remember them.