Difference between revisions of "ICU/bugs and patches"

From Apache OpenOffice Wiki
< ICU
Jump to: navigation, search
(added Regular Expressions patch)
m (l.c.e., tt for configure, spelling, del "small" stuff)
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
List of patches applied to OOo's [[ICU]] module (currently ICU v3.6) and bugs and patches submitted to  [http://bugs.icu-project.org/trac/ ICU trac], the ICU bug tracking system.
+
List of patches applied to OOo's [[ICU]] module (currently ICU v4.0.1 for OOo >= 3.2) and bugs and patches submitted to  [http://bugs.icu-project.org/trac/ ICU trac], the ICU bug tracking system.
  
If you really ''have'' to apply a patch to ICU to make things work, '''please''' submit that patch to ''ICU trac'', so the next version of ICU will include the changes, and list your patch with ICU trac ID here. We strive for being able to build against an unpatched ICU, so that configure --with-system-icu will be possible without loosing functionality.
+
If you really ''have'' to apply a patch to ICU to make things work, '''please''' submit that patch to ''ICU trac'', so the next version of ICU will include the changes, and list your patch with ICU trac ID here. We strive for being able to build against an unpatched ICU, so that <tt> configure --with-system-icu </tt> will be possible without losing functionality.
  
  
== make RuleBasedBreakIterator::setBreakType() public ==
+
__TOC__
  
Using a locally constructed rule based line breakiterator may let ICU loop forever because of a missing fBreakType value. The patch is more a workaround, needing a proper solution.
+
== reverted upstream changeset for tracker ticket 6249 ==
 
+
ICU trac: http://bugs.icu-project.org/trac/ticket/5498 (submitted as http://bugs.icu-project.org/trac/ticket/6012 that got closed as a duplicate).
+
 
+
OOo patch developer: Karl Hong <khong>
+
 
+
 
+
== prevent crashes caused by unaligned memory accesss ==
+
 
+
Some processor architectures don't allow unaligned memory access and segfault when a library does them. This crashes an application like OpenOffice, when it uses libraries that haven't been fixed yet. ICU is one of these libraries and the problem happens when it accesses raw font data that is not aligned. Font files are allowed to have some unaligned data. Of course these TrueType fonts do work on Windows/x86 (not being one of those architectures), but people complained about crashes on other platforms, e.g. Solaris/SPARC, where they copied their fonts to. Since OpenOffice defaults to enable the font preview feature these crashes are very easy to trigger by scrolling through the list of available fonts, if just one of the fonts has an unaligned data field.
+
 
+
ICU trac: http://bugs.icu-project.org/trac/ticket/6083
+
 
+
The patch developed for ICU in OOo is just a workaround for the library problem. It is designed to be minimally invasive against the third party code base, so it can easily stay in sync with the rapidly evolving library. If ICU accepts the idea that raw accesses to unaligned memory need to  be avoided in the mainstream codebase too, then a better and cleaner approach is to wrap accesses into font files by small helper functions.
+
 
+
OOo patch developer: Herbert Duerr <hdu>
+
 
+
== compile warning free ==
+
 
+
OOo build treats warnings as errors, so ICU header files included may break the build. Some are wrapped in a second include file using a compiler dependent <code>#pragma ...</code>, some are patched directly, depends on who encountered the problem.
+
 
+
ICU trac: http://bugs.icu-project.org/trac/ticket/6090
+
 
+
OOo patch developer: Caolan McNamara <cmc>
+
 
+
 
+
== MinGW platform ==
+
 
+
Several patches to be able to build and use ICU on the [http://www.mingw.org/ Minimalist GNU for Windows] platform.
+
 
+
TODO: gather who did all the work
+
 
+
TODO: make them file an ICU patch ;-)
+
 
+
 
+
== Indic rendering ==
+
 
+
Several changes related to Indic rendering in ICU 3.8 were back-ported to OOo's ICU 3.6, see [http://qa.openoffice.org/issues/show_bug.cgi?id=72791 issue 72791]
+
 
+
OOo patch developer: Herbert Duerr <hdu>
+
  
 +
An upstream change (for ICU's [http://bugs.icu-project.org/trac/ticket/6249 tracker ticket 6249]) introduced a regression ([http://www.openoffice.org/issues/show_bug.cgi?id=99241 OOo issue 99241]). Reverting that upstream change (ICU's [http://bugs.icu-project.org/trac/changeset/24081 changeset 24041]) solves the problem. Updated ICU ticket 6249 accordingly.
  
 
== add RPATH for URE ==
 
== add RPATH for URE ==
Line 60: Line 22:
 
OOo developer: Stephan Bergmann <sb>
 
OOo developer: Stephan Bergmann <sb>
  
 +
== MinGW platform ==
  
== Regular Expressions patch ==
+
Patch to be able to build ICU on the Minimalist GNU for Windows platform. <br>
 +
See [http://www.openoffice.org/nonav/issues/showattachment.cgi/57880/icu_4_0_icu_mingw.patch icu_4_0_icu_mingw.patch] attached to {{Bug|96100}}. <br>
 +
Introduced with {{CWS|mingwport16}} for OOo3.1
  
Applied [http://bugs.icu-project.org/trac/changeset/23292?format=3Ddiff ICU's changeset 23292] to address some memory handling issues in regular expressions, which are used in module [[forms]] for xforms. See also [http://sourceforge.net/mailarchive/forum.php?thread_name=d03a2ffb0801221538x68825e42xb4a4aaf0fcccecbd%40mail.gmail.com&forum_name=icu-support message on the icu-support mailing list] and [http://qa.openoffice.org/issues/show_bug.cgi?id=85632 issue 85632].
+
OOo port maintainer: Takashi Ono <tono>
  
OOo ICU maintainer: Eike Rathke <er>
+
Filed with ICU as http://bugs.icu-project.org/trac/ticket/6638
 +
[[Category:I18n]]

Latest revision as of 09:57, 22 July 2011

List of patches applied to OOo's ICU module (currently ICU v4.0.1 for OOo >= 3.2) and bugs and patches submitted to ICU trac, the ICU bug tracking system.

If you really have to apply a patch to ICU to make things work, please submit that patch to ICU trac, so the next version of ICU will include the changes, and list your patch with ICU trac ID here. We strive for being able to build against an unpatched ICU, so that configure --with-system-icu will be possible without losing functionality.


reverted upstream changeset for tracker ticket 6249

An upstream change (for ICU's tracker ticket 6249) introduced a regression (OOo issue 99241). Reverting that upstream change (ICU's changeset 24041) solves the problem. Updated ICU ticket 6249 accordingly.

add RPATH for URE

The patch changes RPATH from $ORIGIN to $ORIGIN:$ORIGIN/../ure-link/lib because libicu*.so are linked against libstdc++.so.6 and libgcc_s.so.1 that are distributed with the new layered UNO Runtime Environment (URE). This to ensure that the libraries are found there in case they are not already loaded.

However, one could argue that the libraries are already loaded when ICU is pulled in, which almost certainly is the case for libstdc++, and probably also for the libgcc_s GCC support library, but that for some machine models may contain some rarely used symbols such that it wasn't loaded but ICU needs it. This is very unlikely though, but you never know..

Anyway, the patch certainly is nothing to upstream, hence no ICU trac ID.

We'll keep thinking about another solution.

OOo developer: Stephan Bergmann <sb>

MinGW platform

Patch to be able to build ICU on the Minimalist GNU for Windows platform.
See icu_4_0_icu_mingw.patch attached to Issue 96100 .
Introduced with CWS mingwport16   for OOo3.1

OOo port maintainer: Takashi Ono <tono>

Filed with ICU as http://bugs.icu-project.org/trac/ticket/6638

Personal tools