View Single Post
Old 08-24-2016, 06:13 PM   #1
DiapDealer
Grand Sorcerer
DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.DiapDealer ought to be getting tired of karma fortunes by now.
 
DiapDealer's Avatar
 
Posts: 27,548
Karma: 193191846
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
Linux-only libxml2 bug that affects Sigil on newer systems

Linux Sigil Users Only!

There's a bug in libxml2-2.9.3 and higher that affects how QtWebKit renders html entities. Which means Sigil is affected on systems which use those versions.

To quickly tell if your system is affected:

Type a visible html entity (like ©) into Sigil's Code View (epub2). If it appears twice in Sigil's Preview or Book View, then you have the buggy version of libxml2.

I've released an executable, makeself Linux-only "updater" that installs a patched version of libxml2 into an existing Sigil installation to work around the issue.

NOTE: At no time will your system version of libxml2 be altered/affected by this update.

Download the installer (make sure it's executable bit is set) and use:

sudo ./sigil_libxml2_update.run

to install.

You'll have the option to bail out if you get cold feet.

See the Github README for more options/explanations.

---------
EDIT:

The latest git version of Sigil now includes the ability to clone, patch, configure and install a working version of libxml2 alongside Sigil (does not affect the system version of libxml2). To enable it, just add the -DBUILD_PATCHED_LIBXML2=1 option to the initial cmake configuration command.

From the documentation:
Quote:
-DBUILD_PATCHED_LIBXML2=(0|1) Some newer versions of libxml2 have a bug that causes QtWebKit to render html entities twice. Adding -DBUILD_PATCHED_LIBXML2=1 to the cmake command will clone the libxml2 git repo, checkout a specific commit, patch the source, build it and install it alongside Sigil (does not affect the system version of libxml2). Requires git, libtool, autoconf and automake packages to be installed (as well as a working internet connection). Cmake should notify of any missing programs needed. The default is to NOT build the patched version of libxml2 (-DBUILD_PATCHED_LIBXML2=0).

Last edited by DiapDealer; 09-30-2016 at 04:38 PM.
DiapDealer is online now   Reply With Quote