FS#36213 - [v8] 3.19.18.4 breaks rethinkdb (and probably other) packages

Attached to Project: Community Packages
Opened by Anatol Pomozov (anatolik) - Sunday, 21 July 2013, 04:49 GMT
Last edited by Bartłomiej Piotrowski (Barthalion) - Sunday, 21 July 2013, 19:32 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Bartłomiej Piotrowski (Barthalion)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

rethinkdb was building fine this morning. The I updated v8 and rebuild rethinkdb again - now it fails. I suspect recent v8 changes.

Steps to reproduce: "yaourt -S rethinkdb"



Here is the build error:

[214/272] CC src/rdb_protocol/terms/datum_terms.cc -o build/release/obj/rdb_protocol/terms/datum_terms.o
[215/272] CC src/rdb_protocol/protocol.cc -o build/release/obj/rdb_protocol/protocol.o
[216/272] CC src/rdb_protocol/stream_cache.cc -o build/release/obj/rdb_protocol/stream_cache.o
[217/272] CC src/rdb_protocol/proto_utils.cc -o build/release/obj/rdb_protocol/proto_utils.o
[218/272] CC src/rdb_protocol/pb_server.cc -o build/release/obj/rdb_protocol/pb_server.o
[219/272] CC src/rdb_protocol/term.cc -o build/release/obj/rdb_protocol/term.o
[220/272] CC src/rdb_protocol/stream.cc -o build/release/obj/rdb_protocol/stream.o
[221/272] CC src/rdb_protocol/pb_utils.cc -o build/release/obj/rdb_protocol/pb_utils.o
[222/272] CC src/rdb_protocol/env.cc -o build/release/obj/rdb_protocol/env.o
[223/272] CC src/rdb_protocol/transform_visitors.cc -o build/release/obj/rdb_protocol/transform_visitors.o
[224/272] CC src/rdb_protocol/validate.cc -o build/release/obj/rdb_protocol/validate.o
[225/272] CC src/rdb_protocol/counted_term.cc -o build/release/obj/rdb_protocol/counted_term.o
[226/272] CC src/rdb_protocol/js.cc -o build/release/obj/rdb_protocol/js.o
[227/272] CC src/rdb_protocol/btree.cc -o build/release/obj/rdb_protocol/btree.o
In file included from ./src/rdb_protocol/jsimpl.hpp:9:0,
from src/rdb_protocol/js.cc:11:
/usr/include/v8.h: In constructor ‘js::context_t::context_t(js::env_t*)’:
/usr/include/v8.h:750:3: error: ‘v8::Persistent<T>::Persistent(const v8::Persistent<T>&) [with T = v8::Context]’ is private
V8_INLINE(Persistent(const Persistent& that)) : val_(that.val_) {}
^
In file included from src/rdb_protocol/js.cc:11:0:
./src/rdb_protocol/jsimpl.hpp:81:77: error: within this context
explicit context_t(UNUSED env_t *env) : cx(v8::Context::New()), scope(cx) {}
^
./src/rdb_protocol/jsimpl.hpp:81:77: error: no matching function for call to ‘v8::Context::Scope::Scope(v8::Persistent<v8::Context>&)’
./src/rdb_protocol/jsimpl.hpp:81:77: note: candidates are:
In file included from ./src/rdb_protocol/jsimpl.hpp:9:0,
from src/rdb_protocol/js.cc:11:
/usr/include/v8.h:4970:5: note: v8::Context::Scope::Scope(v8::Isolate*, v8::Persistent<v8::Context>&)
V8_INLINE(Scope(Isolate* isolate, Persistent<Context>& context)) // NOLINT
^
/usr/include/v8.h:4970:5: note: candidate expects 2 arguments, 1 provided
/usr/include/v8.h:4966:14: note: v8::Context::Scope::Scope(v8::Handle<v8::Context>)
explicit V8_INLINE(Scope(Handle<Context> context)) : context_(context) {
^
/usr/include/v8.h:4966:14: note: no known conversion for argument 1 from ‘v8::Persistent<v8::Context>’ to ‘v8::Handle<v8::Context>’
/usr/include/v8.h:4964:9: note: constexpr v8::Context::Scope::Scope(const v8::Context::Scope&)
class Scope {
^
/usr/include/v8.h:4964:9: note: no known conversion for argument 1 from ‘v8::Persistent<v8::Context>’ to ‘const v8::Context::Scope&’
src/rdb_protocol/js.cc: In member function ‘js::id_t js::env_t::rememberValue(v8::Handle<v8::Value>)’:
src/rdb_protocol/js.cc:85:75: error: no matching function for call to ‘v8::Persistent<v8::Value>::New(v8::Handle<v8::Value>&)’
values_.insert(std::make_pair(id, v8::Persistent<v8::Value>::New(value)));
^
src/rdb_protocol/js.cc:85:75: note: candidate is:
In file included from ./src/rdb_protocol/jsimpl.hpp:9:0,
from src/rdb_protocol/js.cc:11:
/usr/include/v8.h:5508:4: note: static T* v8::Persistent<T>::New(v8::Isolate*, T*) [with T = v8::Value]
T* Persistent<T>::New(Isolate* isolate, T* that) {
^
/usr/include/v8.h:5508:4: note: candidate expects 2 arguments, 1 provided
src/rdb_protocol/js.cc: In member function ‘v8::Handle<v8::Value> js::env_t::findValue(js::id_t)’:
src/rdb_protocol/js.cc:92:16: error: could not convert ‘it.std::_Rb_tree_iterator<_Tp>::operator-><std::pair<const unsigned int, v8::Persistent<v8::Value> > >()->std::pair<const unsigned int, v8::Persistent<v8::Value> >::second’ from ‘v8::Persistent<v8::Value>’ to ‘v8::Handle<v8::Value>’
return it->second;
^
src/rdb_protocol/js.cc:93:1: error: control reaches end of non-void function [-Werror=return-type]
}
^
cc1plus: all warnings being treated as errors
make[1]: *** [build/release/obj/rdb_protocol/js.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [make] Error 2
==> ERROR: A failure occurred in build().
Aborting...
This task depends upon

Closed by  Bartłomiej Piotrowski (Barthalion)
Sunday, 21 July 2013, 19:32 GMT
Reason for closing:  Not a bug
Comment by Anatol Pomozov (anatolik) - Sunday, 21 July 2013, 04:49 GMT
I filed the ticket to rethinkdb project as well https://github.com/rethinkdb/rethinkdb/issues/1195
Comment by Bartłomiej Piotrowski (Barthalion) - Sunday, 21 July 2013, 19:32 GMT
Rethinkdb is available only in [unsupported] and obviously should be adapted to v8 changes. There is nothing to do with v8 itself. Closing.

Loading...