"Jeff Clites" <[EMAIL PROTECTED]> wrote: > On Apr 12, 2004, at 5:33 AM, Jonathan Worthington wrote: > > >> <snip> > >> 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