The sqlite3 plugin doesn't compile on x86/64 due to ambiguities involving
(long) and (int64_t). The fix would seem to be something to the long/int64
hackery introduced into the convert namespace late last year, but i won't
be able to take a closer look at it for the foreseeable future. My access
to the 64-bit machine is limited. (Well, not so limited, but i'm generally
supposed to be WORKING when i'm on that machine.)
stephan@host:~/cvs/v8-juice/extra-plugins/src/sqlite3$ make
+ g++ -g3 -Wall -fPIC -I/home/stephan/include -c -o v8-attempt2.o v8-
attempt2.cc
v8-attempt2.cc: In member function 'v8::Handle<v8::Value>
StmtWrapper::bindNum(int, T) [with T = long int]':
v8-attempt2.cc:847: instantiated from here
v8-attempt2.cc:235: error: call of overloaded 'bind(int&, long int&)' is
ambiguous
sq3.hpp:1123: note: candidates are: int sq3::statement::bind(int, int)
sq3.hpp:1128: note: int sq3::statement::bind(int,
sq3::int64_t)
sq3.hpp:1133: note: int sq3::statement::bind(int, double)
sq3.hpp:1149: note: int sq3::statement::bind(int, const
std::string&) <near match>
sq3.hpp:1173: note: int sq3::statement::bind(const char*,
int) <near match>
sq3.hpp:1178: note: int sq3::statement::bind(const char*,
sq3::int64_t) <near match>
sq3.hpp:1183: note: int sq3::statement::bind(const char*,
double) <near match>
sq3.hpp:1201: note: int sq3::statement::bind(const char*,
const std::string&) <near match>
v8-attempt2.cc: In member function 'v8::Handle<v8::Value>
DBWrapper::executeT(const std::string&) [with T = long int]':
v8-attempt2.cc:997: instantiated from here
v8-attempt2.cc:197: error: invalid conversion from 'long int' to 'int
(*)(void*, int, char**, char**)'
v8-attempt2.cc:197: error: initializing argument 2 of 'int
sq3::database::execute(const std::string&, int (*)(void*, int, char**,
char**), void*)'
v8-attempt2.cc: In member function 'v8::Handle<v8::Value>
CursorWrapper::getT(int) [with GetType = long int]':
v8-attempt2.cc:1044: instantiated from here
v8-attempt2.cc:320: error: no matching function for call to
'sq3::cursor::get(int&, long int&)'
sq3.hpp:861: note: candidates are: int sq3::cursor::get(int, int&)
sq3.hpp:865: note: int sq3::cursor::get(int, sq3::int64_t&)
sq3.hpp:869: note: int sq3::cursor::get(int, double&)
sq3.hpp:873: note: int sq3::cursor::get(int, std::string&)
sq3.hpp:886: note: int sq3::cursor::get(int, const
sq3::sqlite3_text_char_t**, int&)
sq3.hpp:891: note: int sq3::cursor::get(int, const void**,
int&)
sq3.hpp:911: note: int sq3::cursor::get(const std::string&,
int&)
sq3.hpp:915: note: int sq3::cursor::get(const std::string&,
sq3::int64_t&)
sq3.hpp:919: note: int sq3::cursor::get(const std::string&,
double&)
sq3.hpp:923: note: int sq3::cursor::get(const std::string&,
std::string&)
sq3.hpp:936: note: int sq3::cursor::get(const std::string&,
const sq3::sqlite3_text_char_t**, int&)
sq3.hpp:941: note: int sq3::cursor::get(const std::string&,
const void**, int&)
v8-attempt2.cc: At global scope:
v8-attempt2.cc:1160: warning: 'SetupSQ3_v8_plugin_static_initializer'
defined but not used
Original issue reported on code.google.com by sgbeal@googlemail.com on 4 Jun 2010 at 2:46
Original issue reported on code.google.com by
sgbeal@googlemail.com
on 4 Jun 2010 at 2:46