If you've already seen this through the Google Groups interface, sorry! I'm
kind of confused about the syncing between the Google interface and this
list - and it seems that my posts never made it here.  The original is here
(http://groups-beta.google.com/group/perl.perl6.internals/browse_thread/thre
ad/dd3cb5e94f1eb835/74b248bf61c2f1f6?_done=%2Fgroup%2Fperl.perl6.internals%3
F&_doneTitle=Back+to+topics&_doneTitle=Back&&d#74b248bf61c2f1f6).

 I'm reproducing all 3 posts below
 
Post #1
-----------
 
 
I'm a Parrot newbie so forgive me if this has already been a-ddressed. 
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 command-line 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 t-o support building
using VS 2003). 


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


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


data_dir = Parrot_getenv("PARROT_ICU_DATA_DIR", &free_data_d-ir); 
        if (data_dir == NULL) { 
            const char *prefix; 
            char *p, *build_path; 
            build_path = data_dir = const_cast(DEFAULT_ICU_D-ATA_DIR); 
            /* 
             * if the installed --prefix directory exists th-en 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 directo-ry was an empty string.
So this time, I tried building again, by passi-ng icudatadir to
Configure.pl. 


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


It again crashed at the same spot - this time because the bu-ild_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? 


Post #2
------------

I managed to get it to build finally. I built ICU 2.8 and co-py-pasted 
the data output to the blib folder.I don't think this is the- way to do 
it - but hey..it works :) 

Post #3
----------

Yet another Win32 + VS 2003 update. 


My 'nmake test' was failing with a liner error about nci_dlv-ar_vv. 
After removing that from libnci_test.def, I was able to atle-ast 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 o-f 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 fai-led, 95.57% 
oka 
NMAKE : fatal error U1077: 'D:\Perl\bin\perl.exe' : return c-ode '0xff' 
Stop. 



Thanks,
Sriram

Reply via email to