2014-05-12 16:31 GMT+02:00 Tom Lane <t...@sss.pgh.pa.us>:

> Andrew Dunstan <and...@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
>

Reply via email to