ICU Won't Build

Yesterday I embarked on bringing musashi up to date in preparation for moving the mail server. This is part of Operation: My Freaking Inbox. Musashi is a FreeBSD machine, so after doing a cvsup, I ran portupgrade. I haven't worried about updating the entire system before now, since musashi wasn't doing anything more than pushing packets back and forth. The upgrade ran all day, and when it was done only about 42 of the 90 ports it worked on had updated successfully. The others had been skipped or errored out, due largely it seems to a test failure in the regex part of the International Components for Unicode, an open source library created by IBM.

For each test in the regex suite, when ICU tries to open the regular expression using uregex_open, the status flag U_REGEX_MISMATCHED_PAREN. Unfortunately, no one seems to have had this problem before; Google knows nothing of it, and there are no mentions in the ICU or FreeBSD mailing lists.

I downloaded the tarball from sourceforge, and it displays the same problem:


[michael@musashi intltest]$ LD_LIBRARY_PATH=../../lib:../../stubdata:../../tools/ctestfw:$LD_LIBRARY_PATH ./intltest -v regex
-----------------------------------------------
 IntlTest (C++) Test Suite for
   International Components for Unicode 3.6
-----------------------------------------------
 Options:
   all (a)                  : Off
   Verbose (v)              : On
   No error messages (n)    : Off
   Exhaustive (e)           : Off
   Leaks (l)                : Off
   Warn on missing data (w) : Off
-----------------------------------------------

=== Handling test: regex: ===
   TestSuite Regex---

      TestSuite RegexTest:
      RegexTest failure in RegexPattern::compile() at line 451.  Status = U_REGEX_MISMATCHED_PAREN

      RegexTest failure in RegexPattern::compile() at line 452.  Status = U_REGEX_MISMATCHED_PAREN

      RegexTest failure in RegexPattern::compile() at line 453.  Status = U_REGEX_MISMATCHED_PAREN

[...]

      RegexTest failure in RegexPattern::compile() at line 508.  Status = U_REGEX_MISMATCHED_PAREN

      RegexTest failure in RegexPattern::compile() at line 513.  Status = U_REGEX_MISMATCHED_PAREN

      RegexTest failure in RegexPattern::compile() at line 514.  Status = U_REGEX_MISMATCHED_PAREN

      RegexTest failure in RegexPattern::compile() at line 515.  Status = U_REGEX_MISMATCHED_PAREN

Inspection of the code yields nothing obvious. Time to send a message to icu-support...

Sun, 01 Oct 2006 15:53

Comments: