"Jeff Clites" <[EMAIL PROTECTED]> wrote:
> On Apr 12, 2004, at 5:33 AM, Jonathan Worthington wrote:
>
> >>
> >> See if you have a ".dat" file (or a bunch of individual files) in
> >> blib/lib/icu/2.6.1 (relative to your parrot source root). If not, then
> >> that's what's going on. Right now, I have that path hard-coded--of
> >> course I need to pull that out into a config--but it probably means
> >> that either the data files aren't getting created, or just that they
> >> are in a different location. Glancing at your icu.pl patch, it may
> >> just
> >> be missing moving the .dat file (or, maybe creating it too).
> >>
> > They are missing, and in fact weren't even being created. Turns out
> > I'd
> > somehow managed to miss a line out in the makefile, namely the one
> > that made
> > the data. D'oh.
> >
> > I added it in, but this gave rise to new problems. The .mak file (in
> > icu/source/data) was missing some paths so some of the tools were not
> > being
> > found. That was easily fixed, and now it gets quite a way through
> > making
> > the data, until it hits a point where it starts giving errors like
> > this:-
> >
> > --
> > Making Locale Resource Bundle files
> > ..\..\locales\root.txt:39: warning: %Collation could not be
> > constructed from
> > CollationElements - check context!
> > ..\..\locales\root.txt:37: parse error. Stopped parsing with
> > U_INVALID_FORMAT_ERROR
> > couldn't parse the file ..\..\locales\root.txt.
> > Error:U_INVALID_FORMAT_ERROR
> > ..\..\locales\ar.txt:16: warning: %Collation could not be constructed
> > from
> > CollationElements - check context!
> > ..\..\locales\ar.txt:14: parse error. Stopped parsing with
> > U_INVALID_FORMAT_ERROR
> > couldn't parse the file ..\..\locales\ar.txt.
> > Error:U_INVALID_FORMAT_ERROR
> > ..\..\locales\ca.txt:12: warning: %Collation could not be constructed
> > from
> > CollationElements - check context!
> > ..\..\locales\ca.txt:10: parse error. Stopped parsing with
> > U_INVALID_FORMAT_ERROR
> > --
> >
> > Any ideas?
>
> This error was showing up on Linux, and I was able to get it to happen
> for me by running the genrb tool with a parameter (or env. variable)
> missing. (Probably, the cause in the Linux case was actually something
> else.)
>
> Take a look at my first post in the "Build problems in i386 linux"
> thread. One cause of this error is that the 'genrb' tool (built before
> this point) can't find a data file it needs--the file is
> icudt26b_ucadata.icu (possibly with a different prefix for you), and is
> probably in the icu/source/data/out/build directory. On Unix systems,
> it's located via the "ICU_DATA" env. variable (which apparently has to
> end with a slash), which the Makefile in icu/source/data sets up, or it
> can be passed via a "-i" argument to 'genrb' (either way, pointing to
> the directory containing that file). So take a look and see how that
> tool is being invoked in the build process, and whether a parameter is
> missing (or pointed to the wrong place).
>
> That's my bet for what's going on. (The Linux case was only failing on
> one if the files, but it sounds like you're failing on all of them,
> which is the behavior I'd expect if this is the problem.)
>
Yup, that was it. There were a few other little issues with the makefile
that I had to deal with, but it all appears to be working now. There are
only 3 tests failing, and as I remember they were ones that failed before
the big ICU patch.
I've attached the patches, and (fingers crossed) this will get Parrot going
on Win32 again. Summary of changes:-
* Add source/allinone/all/all.dsp (which was moved to the attic previously).
* Add a modified source/allinone/allinone.dsw (which was moved to the attic
previously). Changes are due to the fact that we do not have everything the
full ICU tree would have.
* Modify config/gen/icu.pl to write the makefile entries for building ICU on
Win32 and ensure .dsp files have proper Win32 line endings (MS VC++ is very
fussy about this).
* Modify icu/source/data/makedata.mak to correct a few path issues and
remove parts relating to things we don't have on the ICU source tree.
Jonathan
win32icu.patch
Description: Binary data
icuwin32missing.patch
Description: Binary data