Monday, February 14, 2005, 12:07:51 PM, Leopold Toetsch wrote: > Ron Blaschke <[EMAIL PROTECTED]> wrote: >> I'd like to clean up string_init, because it currently backfires >> (segfaults) on Windows if parrot is installed (empty >> DEFAULT_ICU_DATA_DIR ...).
> Why is DEFAULT_ICU_DATA_DIR empty? Where is icu actually and which > config variable is pointing at it? I've put the precompiled ICU into a directory, and supply the --icushared and --icuheaders. This precompiled package contains only the bin, include and lib. There's no data directory. This is because the ICU built-in data gets compiled into binary form, the library is named icudata.lib and icudt??.dll on Windows. If the data directory is set to the empty string, the library is used. " The ICU data directory is determined as follows: ... 4. Otherwise, the ICU data directory is an empty string. This is the default behavior for ICU using a shared library for its data and provides the highest data loading performance. ... The ICU data directory does not need to be set in order to reference the standard built-in ICU data. Applications that just use standard ICU capabilities (converters, locales, collation, etc.) but do not build and reference their own data do not need to specify an ICU data directory. " http://oss.software.ibm.com/icu/userguide/icudata.html > Is this happening with C<--prefix> set or not? No prefix, but it defaults to F</usr/local/parrot-0.1.1-devel>. >> Could someone please tell me what string_init is supposed to do, where >> it _should_ look for the ICU data directory (if at all)? >> ... >> build_path = data_dir = const_cast(DEFAULT_ICU_DATA_DIR); >> /* >> * if the installed --prefix directory exists then use it >> */ >> prefix = Parrot_get_runtime_prefix(interpreter, NULL); >> if (prefix) { >> p = strstr(build_path, "blib"); /* .../blib/lib/... */ >> assert(p); > If there are other cases (system ICU or whatever) they should be > included here instead of the assert. In my opinion, if only the built-in ICU data is used we should just use the compiled library. If there are any modifications/extensions (planned) I'll gladly provide a patch, including for F<README.win32>, b/c C<--icudatadir> should be provided. Ron