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>:
Andrew Dunstan <andrew@dunslane.net> writes:
> On 05/12/2014 07:10 AM, Pavel Stehule wrote:
>> 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 ‘Datum
>> 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>

Ouch.  I was a bit suspicious of that change from the start, but it hadn't
occurred to me that functions written in C++ would have an issue with it.

> Maybe we need a way of telling the preprocessor to suppress the
> generation of a prototype?

Maybe we need to revert that patch altogether.  Dealing with this is
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

so the main issue is really this commit

Regards

Pavel

p.s. my tests on 9.2 was messy probably



 

                        regards, tom lane

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: Proposal for CSN based snapshots
Следующее
От: Robert Haas
Дата:
Сообщение: Re: Proposal for CSN based snapshots