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

David Kilzer ddkilzer at webkit.org
Thu Oct 23 11:30:06 PDT 2008


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.


More information about the webkit-dev mailing list