[webkit-dev] problems in cross compiling webkit - Execution of JavaScriptCore/kjs/create_hash_table aborted due to compilation errors.

Bn, Sharath sharath.bn at philips.com
Thu Oct 30 02:35:33 PDT 2008


I modified the line
- my $fh = new File::Temp(
+ my $fh = File::Temp->tempfile(

And I get some error like this

JavaScriptCore/pcre/dftables JavaScriptCore/pcre/chartables.c
Error in tempfile() using /tmp/File::Temp.in: The template must contain at least
 4 'X' characters
 at JavaScriptCore/pcre/dftables line 245
make: *** [JavaScriptCore/pcre/chartables.c] Error 255

I modified the line
- my $fh = new File::Temp( to
+ my $fh = File::Temp->new(

And I get some error like this

JavaScriptCore/pcre/dftables JavaScriptCore/pcre/chartables.c
Can't locate object method "new" via package "File::Temp" at JavaScriptCore/pcre
/dftables line 245.
make: *** [JavaScriptCore/pcre/chartables.c] Error 255

Pls let me know how to solve this build error



Sharath

-----Original Message-----
From: David Kilzer [mailto:ddkilzer at webkit.org]
Sent: Friday, October 24, 2008 12:00 AM
To: Bn, Sharath
Cc: webkit-dev at lists.webkit.org
Subject: RE: [webkit-dev] problems in cross compiling webkit - Execution of JavaScriptCore/kjs/create_hash_table aborted due to compilation errors.

Filed this bug to cover the create_hash_table fix for Perl 5.10:

https://bugs.webkit.org/show_bug.cgi?id=21831

It would seem the "Object Interface" for File::Temp has changed in Perl 5.10:

    $fh = File::Temp->new(TEMPLATE => $template);

Originally you could do this:

    $fh = new File::Temp($template);

It looks like the only way to fix this is to use the File::Temp->tempfile() method instead.  What a pain.

These scripts appear to have the same issue (because I wrote them?!):

WebKitTools/Scripts/bisect-builds
WebKitTools/Scripts/sort-Xcode-project-file

I filed:

https://bugs.webkit.org/show_bug.cgi?id=21832

I should have a patch up shortly to fix all three scripts.

Dave


On Thu, 10/23/08, Bn, Sharath <sharath.bn at philips.com> wrote:

> The FIX worked. Thanks a lot.
> Perl version was v5.8.0. I have upgraded the perl to
> v5.10.0.
> The fix is required for v5.10.0 version as well. Without
> your fix even 5.10.0 cribs.
> However now I get some other error as mentioned below.
>
> JavaScriptCore/pcre/dftables
> JavaScriptCore/pcre/chartables.c
> Can't locate object method "new" via package
> "File::Temp" at JavaScriptCore/pcre
> /dftables line 245.
> make: *** [JavaScriptCore/pcre/chartables.c] Error 255
>
> Regards
> Sharath.B.N
>
> -----Original Message-----
> From: David Kilzer [mailto:ddkilzer at webkit.org]
> Sent: Wednesday, October 22, 2008 7:44 PM
> To: Bn, Sharath
> Cc: webkit-dev at lists.webkit.org
> Subject: Re: [webkit-dev] problems in cross compiling
> webkit - Execution of JavaScriptCore/kjs/create_hash_table
> aborted due to compilation errors.
>
> On Wed, 10/22/08, Bn, Sharath
> <sharath.bn at philips.com> wrote:
>
> > /usr/bin/perl JavaScriptCore/kjs/create_hash_table
> > JavaScriptCore/kjs/keywords.table >
> > DerivedSources/lexer.lut.h
> > Global symbol "@nameEntries" requires
> explicit
> > package name at JavaScriptCore/kjs/create_hash_table
> line
> > 218.
> > Execution of JavaScriptCore/kjs/create_hash_table
> aborted
> > due to compilation errors.
> > make: *** [DerivedSources/lexer.lut.h] Error 255
>
> Ha!  What version of Perl are you using (run "perl
> -v")?  It looks like Perl is interpreting a print()
> statement differently.  Try making this change (adding
> backslashes before the square brackets in
> create_hash_table):
>
> -    print "\nstatic const struct HashTableValue
> ${nameEntries}[$count] = {\n";
> +    print "\nstatic const struct HashTableValue
> ${nameEntries}\[$count\] = {\n";
>
> Let me know if that fixes the problem.
>
> Dave
>
>
>
> The information contained in this message may be
> confidential and legally protected under applicable law. The
> message is intended solely for the addressee(s). If you are
> not the intended recipient, you are hereby notified that any
> use, forwarding, dissemination, or reproduction of this
> message is strictly prohibited and may be unlawful. If you
> are not the intended recipient, please contact the sender by
> return e-mail and destroy all copies of the original
> message.

The information contained in this message may be confidential and legally protected under applicable law. The message is intended solely for the addressee(s). If you are not the intended recipient, you are hereby notified that any use, forwarding, dissemination, or reproduction of this message is strictly prohibited and may be unlawful. If you are not the intended recipient, please contact the sender by return e-mail and destroy all copies of the original message.


More information about the webkit-dev mailing list