Re: cannot to compile PL/V8 on Fedora 20 - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: cannot to compile PL/V8 on Fedora 20
Date
Msg-id CAFj8pRA=h9E1hy7gMfQtRy+hK=yjK=CeN-5w59LF9qOitt1ELA@mail.gmail.com
Whole thread Raw
In response to Re: cannot to compile PL/V8 on Fedora 20  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: cannot to compile PL/V8 on Fedora 20
List 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 by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: Proposal for CSN based snapshots
Next
From: Robert Haas
Date:
Subject: Re: Proposal for CSN based snapshots