Re: make install

[email protected] (Andy Dougherty) Mon, 4 Oct 2004 10:34:17 -0400 (EDT)
Newsgroups perl.ponie.dev
Message-ID <[email protected]>
On Mon, 4 Oct 2004, Dan Sugalski wrote:

> At 10:08 PM +0100 10/3/04, Nicholas Clark wrote:
> >On Sat, Oct 02, 2004 at 10:11:34PM -0400, Andy Dougherty wrote:
> >>  On Sat, 2 Oct 2004, Nicholas Clark wrote:
> >>
> >>  > parrot has had a make install target for quite a while, which
> >>seems to work.
> >>
> >>  That's surprising -- At one time I thought I had hardwired the ICU data
> >>  directory to the build directory as a "temporary" measure to get things at
> >>  least sort-of working.  Perhaps someone's done it correctly since.

> >>  Does it really work even if the build directory is gone?

> >ponie really worked if installed, but ponie is currently only using
> >parrot's data structure code. I doubt that it's going anywhere near ICU

> If Parrot even started then it worked out. If the data directory's
> not there, things die on startup.

I really don't see how it could possibly work.  Are you *sure* you moved
the build directory out of the way?  Are you *sure* you don't have the
environment variable PARROT_ICU_DATA_DIR set pointing somewhere?  Can run
truss (or trace or whatever it's called on your system) and verify it
really is picking up the installed icu directories?

Here's the patch I'm referring to:

> Subject: [perl #30119] AutoReply: [PATCH] Better default for PARROT_ICU_DATA_DIR.

> This patch makes it at least theoretically possible for 'make
> languages' to work.  Without this patch, you have to manually set
> the environment variable PARROT_ICU_DATA_DIR to the correct
> directory.  As is indicated in the comments, this is a temporary
> hack, but it's the cleanest thing I could think of.

> --- parrot-current/config/gen/icu.pl	Mon May  3 11:00:19 2004
> +++ parrot-andy/config/gen/icu.pl	Tue Jun  8 13:36:45 2004
> @@ -47,7 +47,15 @@
>
>    if( !defined $icudatadir )
>    {
> -	  $icudatadir = 'blib/lib/icu/2.6.1';
> +      # XXX Hack:  We need some way to tell parrot where to find the
> +      # ICU data files, perhaps with a command-line option something
> +      # like perl's -I option.  In the absence of any such option,
> +      # this absolute setting at least allows you to run parrot from
> +      # within various subdirectories, such as ./t or ./languages,
> +      # without having to set any environment variables.
> +      # If parrot is ever able to be installed, this will have to change!
> +      my $cwd = cwd();
> +      $icudatadir = "$cwd/blib/lib/icu/2.6.1";
>    }
>
>    if( defined $icuplatform )
>

-- 
    Andy Dougherty		[email protected]