Re: cannot to compile PL/V8 on Fedora 20
От | Pavel Stehule |
---|---|
Тема | Re: cannot to compile PL/V8 on Fedora 20 |
Дата | |
Msg-id | CAFj8pRA=h9E1hy7gMfQtRy+hK=yjK=CeN-5w59LF9qOitt1ELA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: cannot to compile PL/V8 on Fedora 20 (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: cannot to compile PL/V8 on Fedora 20
|
Список | pgsql-hackers |
2014-05-12 16:31 GMT+02:00 Tom Lane <tgl@sss.pgh.pa.us>:
>> I am trying to compile PL/v8 without success. I have Postgres
>> installed via compilation from source code.>> plv8.cc:50:56: error: declaration of ‘DatumOuch. I was a bit suspicious of that change from the start, but it hadn't
>> plv8_call_handler(FunctionCallInfo) throw ()’ has a different
>> exception specifier
>> Datum plv8_call_handler(PG_FUNCTION_ARGS) throw();
>> ^
>> plv8.cc:43:7: error: from previous declaration ‘Datum
>> plv8_call_handler(FunctionCallInfo)’
>> PG_FUNCTION_INFO_V1(plv8_call_handler);
> This looks like a result of commit
> <http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=e7128e8dbb305059c30ec085461297e619bcbff4>
occurred to me that functions written in C++ would have an issue with it.Maybe we need to revert that patch altogether. Dealing with this is
> Maybe we need a way of telling the preprocessor to suppress the
> generation of a prototype?
likely to introduce much more pain and confusion than the change is worth.
After returning back before this commit I cannot compile PL/V8 still but with more solvable bug
g++ -Wall -O2 -I. -I./ -I/usr/local/pgsql/include/server -I/usr/local/pgsql/include/internal -D_GNU_SOURCE -I/usr/include/libxml2 -fPIC -c -o plv8.o plv8.cc
g++ -Wall -O2 -I. -I./ -I/usr/local/pgsql/include/server -I/usr/local/pgsql/include/internal -D_GNU_SOURCE -I/usr/include/libxml2 -fPIC -c -o plv8_type.o plv8_type.cc
g++ -Wall -O2 -I. -I./ -I/usr/local/pgsql/include/server -I/usr/local/pgsql/include/internal -D_GNU_SOURCE -I/usr/include/libxml2 -fPIC -c -o plv8_func.o plv8_func.cc
plv8_func.cc: In function ‘v8::Handle<v8::Value> plv8_Prepare(const v8::Arguments&)’:
plv8_func.cc:521:47: error: too few arguments to function ‘void parseTypeString(const char*, Oid*, int32*, bool)’
parseTypeString(typestr, &types[i], &typemod);
^
In file included from plv8_func.cc:22:0:
/usr/local/pgsql/include/server/parser/parse_type.h:50:13: note: declared here
extern void parseTypeString(const char *str, Oid *typeid_p, int32 *typmod_p, bool missing_ok);
^
make: *** [plv8_func.o] Error 1
g++ -Wall -O2 -I. -I./ -I/usr/local/pgsql/include/server -I/usr/local/pgsql/include/internal -D_GNU_SOURCE -I/usr/include/libxml2 -fPIC -c -o plv8.o plv8.cc
g++ -Wall -O2 -I. -I./ -I/usr/local/pgsql/include/server -I/usr/local/pgsql/include/internal -D_GNU_SOURCE -I/usr/include/libxml2 -fPIC -c -o plv8_type.o plv8_type.cc
g++ -Wall -O2 -I. -I./ -I/usr/local/pgsql/include/server -I/usr/local/pgsql/include/internal -D_GNU_SOURCE -I/usr/include/libxml2 -fPIC -c -o plv8_func.o plv8_func.cc
plv8_func.cc: In function ‘v8::Handle<v8::Value> plv8_Prepare(const v8::Arguments&)’:
plv8_func.cc:521:47: error: too few arguments to function ‘void parseTypeString(const char*, Oid*, int32*, bool)’
parseTypeString(typestr, &types[i], &typemod);
^
In file included from plv8_func.cc:22:0:
/usr/local/pgsql/include/server/parser/parse_type.h:50:13: note: declared here
extern void parseTypeString(const char *str, Oid *typeid_p, int32 *typmod_p, bool missing_ok);
^
make: *** [plv8_func.o] Error 1
so the main issue is really this commit
Regards
Pavel
Pavel
p.s. my tests on 9.2 was messy probably
regards, tom lane
В списке pgsql-hackers по дате отправления: