Skip Menu |

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

Report information
The Basics
Id: 89658
Status: resolved
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)



Subject: JavaScript::V8 and XCode 5
Date: Mon, 21 Oct 2013 12:03:17 -0400
To: bug-JavaScript-V8 [...] rt.cpan.org
From: Kurt Starsinic <kstarsinic [...] gmail.com>
Hi, JavaScript::V8 won't build with the restrictive g++ bundled with XCode 5: Apple LLVM version 5.0 (clang-500.2.76) (based on LLVM 3.3svn) I was able to work around this by installing the "apple-gcc42" homebrew package and symlinking it appropriately. Failed compiler output below. - Kurt 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:131:61: warning: inequality comparison result unused [-Wunused-comparison] for (sv_map::const_iterator it = objects.find(hash); it != objects.end(), it->first == hash; it++) ~~~^~~~~~~~~~~~~~~~ V8Context.cpp:131:61: note: use '|=' to turn this inequality comparison into an or-assignment for (sv_map::const_iterator it = objects.find(hash); it != objects.end(), it->first == hash; it++) ^~ |= V8Context.cpp:238:23: error: taking the address of a temporary object of type 'Local<v8::Value>' [-Waddress-of-temporary] &External::Wrap(this) ^~~~~~~~~~~~~~~~~~~~~ V8Context.cpp:558:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (he = hv_iternext(stash)) { ~~~^~~~~~~~~~~~~~~~~~~~ V8Context.cpp:558:15: note: place parentheses around the assignment to silence this warning while (he = hv_iternext(stash)) { ^ ( ) V8Context.cpp:558:15: note: use '==' to turn this assignment into an equality comparison while (he = hv_iternext(stash)) { ^ == V8Context.cpp:669:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (val = hv_iternextsv(hv, &key, &len)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ V8Context.cpp:669:16: note: place parentheses around the assignment to silence this warning while (val = hv_iternextsv(hv, &key, &len)) { ^ ( ) V8Context.cpp:669:16: note: use '==' to turn this assignment into an equality comparison while (val = hv_iternextsv(hv, &key, &len)) { ^ == V8Context.cpp:796:5: error: variable length array of non-POD element type 'Handle<v8::Value>' SETUP_V8_CALL(0) ^ V8Context.cpp:753:29: note: expanded from macro 'SETUP_V8_CALL' Handle<Value> argv[items - ARGS_OFFSET]; \ ^ V8Context.cpp:802:5: error: variable length array of non-POD element type 'Handle<v8::Value>' SETUP_V8_CALL(1) ^ V8Context.cpp:753:29: note: expanded from macro 'SETUP_V8_CALL' Handle<Value> argv[items - ARGS_OFFSET]; \ ^ 3 warnings and 3 errors generated. make: *** [V8Context.o] Error 1
The switch to EU::CppG will detect and allow use of clang "properly". Closing. Thanks!