Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Building with VS.NET 2003 and ICU 2.8 on Win32

5 views
Skip to first unread message

Sriram Krishnan

unread,
Jan 29, 2005, 4:39:20 PM1/29/05
to
I'm a Parrot newbie so forgive me if this has already been addressed.
I'm trying to build Parrot (from CVS) on Win XP Sp2 with VS.NET 2003.

1.The current build scripts for ICU refer to 'msdev'. 'msdev' was the
executable for Visual Studio 6 . The executable, the commandline
switches as well as the file format have changed for VS.NET 2002 and
2003.Unfortunately, my unfamiliarity with Perl means that I cannot
submit a patch :(

2. After downloading the latest ICU source from IBM's site, I built
that from source (they have updated their src distribution to support
building using VS 2003).

Now, the Readme files says that you have to set icushared and
icuheader - but even after I set both to point to my ICU build, the
build broke the first time it tried to run parrot.exe (during the
nmake itself).

The offending piece of code is this (in string.c)

data_dir = Parrot_getenv("PARROT_ICU_DATA_DIR", &free_data_dir);
if (data_dir == NULL) {
const char *prefix;
char *p, *build_path;
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");
assert(p);
--p; /* slash or backslash */
data_dir = mem_sys_allocate(strlen(prefix) + strlen(p)
+ 1);
strcpy(data_dir, prefix);
strcat(data_dir, p);
free_data_dir = 1;
}


The first time I tried building it, the strstr call returned a bad
pointer. Some investigation showed that the ICU data directory was an
empty string. So this time, I tried building again, by passing
icudatadir to Configure.pl.

The assert call wasn't being executed at all - must be something with
the compiler options.

It again crashed at the same spot - this time because the build_path
variable contained the ICU data dir -but there is no "blib" anywhere
in it, making the strstr call fail.

Am I missing something pretty basic here?

Thanks,
Sriram

Sriram Krishnan

unread,
Jan 30, 2005, 2:14:05 AM1/30/05
to
I managed to get it to build finally. I built ICU 2.8 and copy-pasted
the data output to the blib folder.I don't think this is the way to do
it - but hey..it works :)

Sriram

Sriram Krishnan

unread,
Jan 30, 2005, 5:38:49 AM1/30/05
to
Yet another Win32 + VS 2003 update.

My 'nmake test' was failing with a liner error about nci_dlvar_vv.
After removing that from libnci_test.def, I was able to atleast run the
tests. Dynclass and nci tests failed - and at the end, got a weird
error about perl.exe. Here's the output

Failed Test Stat Wstat Total Fail Failed List of Failed
---------------------------------------------------------------------------
t\dynclass\pybuiltin.t 5 1280 6 5 83.33% 1-2 4-6
t\dynclass\pyclass.t 6 1536 6 6 100.00% 1-6
t\dynclass\pycomplex.t 1 256 1 1 100.00% 1
t\dynclass\pyfunc.t 4 1024 4 4 100.00% 1-4
t\dynclass\pyint.t 25 6400 25 25 100.00% 1-25
t\pmc\nci.t 55 14080 56 55 98.21% 1-55
7 tests and 64 subtests skipped.
Failed 6/133 test scripts, 95.49% okay. 96/2166 subtests failed, 95.57%
oka
NMAKE : fatal error U1077: 'D:\Perl\bin\perl.exe' : return code '0xff'
Stop.

0 new messages