Skip Menu |
 

This queue is for tickets about the JavaScript-V8 CPAN distribution.

Report information
The Basics
Id: 86583
Status: open
Priority: 0/
Queue: JavaScript-V8

People
Owner: Nobody in particular
Requestors: kstarsinic [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



From kstarsinic [...] gmail.com Sun Jun 30 12: 34:29 2013
MIME-Version: 1.0
X-Spam-Status: No, score=-6.219 tagged_above=-99.9 required=10 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_NEUTRAL=0.779] autolearn=ham
X-Spam-Flag: NO
X-Virus-Checked: Checked
Content-Type: multipart/alternative; boundary="089e01294a50c8b06e04e061aefd"
Message-ID: <CAEpMX1aJUNNw0k6juCFMx-jCv1g2ktSy3xrj_bB=_38EX9p8+A [...] mail.gmail.com>
X-Received: by 10.58.237.105 with SMTP id vb9mr8643862vec.2.1372610055678; Sun, 30 Jun 2013 09:34:15 -0700 (PDT)
X-Virus-Scanned: Debian amavisd-new at bestpractical.com
X-Spam-Score: -6.219
Received: from localhost (localhost [127.0.0.1]) by hipster.bestpractical.com (Postfix) with ESMTP id AF2A52404E6 for <cpan-bug+JavaScript-V8 [...] hipster.bestpractical.com>; Sun, 30 Jun 2013 12:34:29 -0400 (EDT)
Received: from hipster.bestpractical.com ([127.0.0.1]) by localhost (hipster.bestpractical.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 94Nxpdc8CJcd for <cpan-bug+JavaScript-V8 [...] hipster.bestpractical.com>; Sun, 30 Jun 2013 12:34:27 -0400 (EDT)
Received: from la.mx.develooper.com (x1.develooper.com [207.171.7.70]) by hipster.bestpractical.com (Postfix) with SMTP id 2E99E24023F for <bug-JavaScript-V8 [...] rt.cpan.org>; Sun, 30 Jun 2013 12:34:27 -0400 (EDT)
Received: (qmail 1388 invoked by alias); 30 Jun 2013 16:34:26 -0000
Received: from mail-ve0-f172.google.com (HELO mail-ve0-f172.google.com) (209.85.128.172) by la.mx.develooper.com (qpsmtpd/0.28) with ESMTP; Sun, 30 Jun 2013 09:34:19 -0700
Received: by mail-ve0-f172.google.com with SMTP id jz10so3161008veb.3 for <bug-JavaScript-V8 [...] rt.cpan.org>; Sun, 30 Jun 2013 09:34:15 -0700 (PDT)
Received: by 10.58.237.100 with HTTP; Sun, 30 Jun 2013 09:34:15 -0700 (PDT)
Authentication-Results: hipster.bestpractical.com (amavisd-new); dkim=pass header.i= [...] gmail.com
Delivered-To: cpan-bug+JavaScript-V8 [...] hipster.bestpractical.com
Subject: Build fails against v8 3.18.5
Return-Path: <kstarsinic [...] gmail.com>
X-RT-Mail-Extension: javascript-v8
X-Original-To: cpan-bug+JavaScript-V8 [...] hipster.bestpractical.com
X-Spam-Check-BY: la.mx.develooper.com
Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=/xJT7eEtqxkDFzWJTe6LZOM4Ko1kh9sm3wBIfCKO5lo=; b=x+eIfIOTrCbH4JiZ7k8ZBL3TqAhPZGtoaOvmXgCs5i1A2T0gcVk08Cphd/2Ja2+Q3n W63BCGsHdjydbqhsKeFfBG5sJZKgJDtNtymtQQXgMRdCL4jF0+gNcy3m69NpfWXYrI/9 8pMYnBQscSgIDZdI/Z92aacqSLHziB26V80Xzam5NmZoDFEnWBvzXrL6MkHZs+OP0i0d T4S0VukemlpyUBP+oIMR/jbMGXKxahW7hDIPc5N2c/FMoybe87lpN7nd5K8PDZbijtRg iuCJe8xdvns0dggjnpNjeX+mySbWv3FTspOb+czPEiiGrsnbb/mGwVKB6ms9vx7HxcKx TNxg==
Date: Sun, 30 Jun 2013 12:34:15 -0400
X-Spam-Level:
To: bug-JavaScript-V8 [...] rt.cpan.org
From: Kurt Starsinic <kstarsinic [...] gmail.com>
X-RT-Interface: Email
Content-Length: 0
content-type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-RT-Original-Encoding: cp1252
Content-Length: 7652
Download (untitled) / with headers
text/plain 7.4k
Couldn't build JavaScript::V8 against v8 3.18.5, due to API changes in V8. This is the error: g++ -c -I. -fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -O3 -DVERSION=\"0.07\" -DXS_VERSION=\"0.07\" "-I/usr/local/Cellar/rock-runtime-perl516/5.16.3/lib/perl5/CORE" V8Context.cpp V8Context.cpp: In constructor ‘ObjectData::ObjectData(V8Context*, v8::Handle<v8::Object>, SV*)’: V8Context.cpp:140: warning: ‘New’ is deprecated (declared at /usr/local/include/v8.h:4871) V8Context.cpp: In destructor ‘virtual ObjectData::~ObjectData()’: V8Context.cpp:152: warning: ‘Dispose’ is deprecated (declared at /usr/local/include/v8.h:4935) V8Context.cpp: In constructor ‘PerlObjectData::PerlObjectData(V8Context*, v8::Handle<v8::Object>, SV*)’: V8Context.cpp:166: warning: ‘MakeWeak’ is deprecated (declared at /usr/local/include/v8.h:4952) V8Context.cpp: In constructor ‘PerlFunctionData::PerlFunctionData(V8Context*, SV*)’: V8Context.cpp:238: error: ‘Wrap’ is not a member of ‘v8::External’ V8Context.cpp: In static member function ‘static v8::Handle<v8::Value> PerlFunctionData::v8invoke(const v8::Arguments&)’: V8Context.cpp:247: error: ‘Unwrap’ is not a member of ‘v8::External’ V8Context.cpp: In constructor ‘V8Context::V8Context(int, const char*, bool, const char*)’: V8Context.cpp:327: warning: ‘New’ is deprecated (declared at /usr/local/include/v8.h:4871) V8Context.cpp:329: warning: ‘New’ is deprecated (declared at /usr/local/include/v8.h:4871) V8Context.cpp: In member function ‘void V8Context::register_object(ObjectData*)’: V8Context.cpp:336: error: ‘Wrap’ is not a member of ‘v8::External’ V8Context.cpp: In destructor ‘V8Context::~V8Context()’: V8Context.cpp:353: warning: ‘Dispose’ is deprecated (declared at /usr/local/include/v8.h:4935) V8Context.cpp:355: warning: ‘Dispose’ is deprecated (declared at /usr/local/include/v8.h:4935) V8Context.cpp: In member function ‘SV* V8Context::seen_v8(v8::Handle<v8::Object>)’: V8Context.cpp:492: error: ‘Unwrap’ is not a member of ‘v8::External’ V8Context.cpp: In member function ‘v8::Handle<v8::Object> V8Context::get_prototype(SV*)’: V8Context.cpp:585: warning: ‘New’ is deprecated (declared at /usr/local/include/v8.h:4871) make: *** [V8Context.o] Error 1 This is a minimal patch that passes all tests (we still have warnings about deprecated functions): diff V8Context.cpp.orig ~/V8Context.cpp 19a20,22 Show quoted text
> static Local<Value> ExternalWrap(void* value) { return
External::New(value); } // External::Wrap Show quoted text
> static void* ExternalUnwrap(Handle<v8::Value> obj) { return
External::Cast(*obj)->Value(); } // External::Unwrap Show quoted text
>
238c241 < &External::Wrap(this) --- Show quoted text
> &ExternalWrap(this)
247c250 < PerlFunctionData* data = static_cast<PerlFunctionData*>(External::Unwrap(args[0])); --- Show quoted text
> PerlFunctionData* data =
static_cast<PerlFunctionData*>(ExternalUnwrap(args[0])); 336c339 < data->object->SetHiddenValue(string_wrap, External::Wrap(data)); --- Show quoted text
> data->object->SetHiddenValue(string_wrap, ExternalWrap(data));
492c495 < ObjectData* data = (ObjectData*)External::Unwrap(wrap); --- Show quoted text
> ObjectData* data = (ObjectData*)ExternalUnwrap(wrap);
Summary of my perl5 (revision 5 version 16 subversion 3) configuration: Platform: osname=darwin, osvers=12.3.0, archname=darwin-thread-multi-2level uname='darwin kurts-mac-mini.local 12.3.0 darwin kernel version 12.3.0: sun jan 6 22:37:10 pst 2013; root:xnu-2050.22.13~1release_x86_64 x86_64 ' config_args='-des -Dprefix=/usr/local/Cellar/rock-runtime-perl516/5.16.3 -Dvendorprefix=/usr/local/Cellar/rock-runtime-perl516/5.16.3 -Dsiteprefix=/usr/local/Cellar/rock-runtime-perl516/5.16.3/local -Dsitelib=/usr/local/Cellar/rock-runtime-perl516/5.16.3/local/share/perl5 -Dsitearch=/usr/local/Cellar/rock-runtime-perl516/5.16.3/local/lib/perl5 -Dprivlib=/usr/local/Cellar/rock-runtime-perl516/5.16.3/share/perl5 -Dvendorlib=/usr/local/Cellar/rock-runtime-perl516/5.16.3/share/perl5 -Darchlib=/usr/local/Cellar/rock-runtime-perl516/5.16.3/lib/perl5 -Dvendorarch=/usr/local/Cellar/rock-runtime-perl516/5.16.3/lib/perl5/vendor_perl -Darchname=darwin-thread-multi-2level -Dman3ext=3pm -Dusethreads -Duseithreads -Duselargefiles -Duseperl' hint=recommended, useposix=true, d_sigaction=define useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include', optimize='-O3', cppflags='-fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include' ccversion='', gccversion='4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags =' -fstack-protector -L/usr/local/lib' libpth=/usr/local/lib /usr/lib libs=-lgdbm -ldbm -ldb -ldl -lm -lutil -lc perllibs=-ldl -lm -lutil -lc libc=, so=dylib, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags=' -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector' Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP PERL_PRESERVE_IVUV USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API Built under darwin Compiled at Jun 10 2013 13:34:47 %ENV: PERL5LIB="/Volumes/HFS-CS/Projects/shutterstock/shutterstock-www/lib:/Volumes/HFS-CS/Projects/shutterstock/shutterstock-www/lib/perl5/darwin-thread-multi-2level:/Volumes/HFS-CS/Projects/shutterstock/shutterstock-www/local/lib/perl5" PERLBREW_BASHRC_VERSION="0.63" PERLBREW_HOME="/Users/kstar/.perlbrew" PERLBREW_MANPATH="/Users/kstar/perl5/perlbrew/perls/perl-5.19.0/man" PERLBREW_PATH="/Users/kstar/perl5/perlbrew/bin:/Users/kstar/perl5/perlbrew/perls/perl-5.19.0/bin" PERLBREW_PERL="perl-5.19.0" PERLBREW_ROOT="/Users/kstar/perl5/perlbrew" PERLBREW_VERSION="0.63" @INC: /Volumes/HFS-CS/Projects/shutterstock/shutterstock-www/lib /Volumes/HFS-CS/Projects/shutterstock/shutterstock-www/lib/perl5/darwin-thread-multi-2level /Volumes/HFS-CS/Projects/shutterstock/shutterstock-www/local/lib/perl5/darwin-thread-multi-2level /Volumes/HFS-CS/Projects/shutterstock/shutterstock-www/local/lib/perl5 /usr/local/Cellar/rock-runtime-perl516/5.16.3/local/lib/perl5 /usr/local/Cellar/rock-runtime-perl516/5.16.3/local/share/perl5 /usr/local/Cellar/rock-runtime-perl516/5.16.3/lib/perl5/vendor_perl /usr/local/Cellar/rock-runtime-perl516/5.16.3/share/perl5 /usr/local/Cellar/rock-runtime-perl516/5.16.3/lib/perl5 /usr/local/Cellar/rock-runtime-perl516/5.16.3/share/perl5 . - Kurt
content-type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-RT-Original-Encoding: cp1252
Content-Length: 9561
MIME-Version: 1.0
In-Reply-To: <CAEpMX1aJUNNw0k6juCFMx-jCv1g2ktSy3xrj_bB=_38EX9p8+A [...] mail.gmail.com>
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Disposition: inline
X-RT-Interface: Web
References: <CAEpMX1aJUNNw0k6juCFMx-jCv1g2ktSy3xrj_bB=_38EX9p8+A [...] mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Message-ID: <rt-4.0.18-23472-1555130305-579.86583-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 234
Download (untitled) / with headers
text/plain 234b
Thanks for this! Slightly belatedly. External::New now only operates if there is a first argument, an "Isolate". Do you feel like taking a crack at figuring how that works, and making a PR? The unit tests in v8 aren't really helping.
MIME-Version: 1.0
In-Reply-To: <rt-4.0.18-23472-1555130305-579.86583-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Disposition: inline
X-RT-Interface: Web
References: <CAEpMX1aJUNNw0k6juCFMx-jCv1g2ktSy3xrj_bB=_38EX9p8+A [...] mail.gmail.com> <rt-4.0.18-23472-1555130305-579.86583-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf-8"
Message-ID: <rt-4.0.18-15716-1555131065-992.86583-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 124
Download (untitled) / with headers
text/plain 124b
As an update: this explains the core concepts, and has links to a "hello world" that demonstrates: https://v8.dev/docs/embed


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.