Hello I am trying to compile PL/v8 without success. I have Postgres installed via compilation from source code.
After make I got errors [pavel@localhost plv8-1.4.2]$ make 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 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); ^ plv8.cc:51:58: error: declaration of ‘Datum plv8_call_validator(FunctionCallInfo) throw ()’ has a different exception specifier Datum plv8_call_validator(PG_FUNCTION_ARGS) throw(); ^ plv8.cc:44:7: error: from previous declaration ‘Datum plv8_call_validator(FunctionCallInfo)’ PG_FUNCTION_INFO_V1(plv8_call_validator); ^ plv8.cc:52:60: error: declaration of ‘Datum plcoffee_call_handler(FunctionCallInfo) throw ()’ has a different exception specifier Datum plcoffee_call_handler(PG_FUNCTION_ARGS) throw(); ^ plv8.cc:45:7: error: from previous declaration ‘Datum plcoffee_call_handler(FunctionCallInfo)’ PG_FUNCTION_INFO_V1(plcoffee_call_handler); ^ plv8.cc:53:62: error: declaration of ‘Datum plcoffee_call_validator(FunctionCallInfo) throw ()’ has a different exception specifier Datum plcoffee_call_validator(PG_FUNCTION_ARGS) throw(); ^ plv8.cc:46:7: error: from previous declaration ‘Datum plcoffee_call_validator(FunctionCallInfo)’ PG_FUNCTION_INFO_V1(plcoffee_call_validator); ^ plv8.cc:54:56: error: declaration of ‘Datum plls_call_handler(FunctionCallInfo) throw ()’ has a different exception specifier Datum plls_call_handler(PG_FUNCTION_ARGS) throw(); ^ plv8.cc:47:7: error: from previous declaration ‘Datum plls_call_handler(FunctionCallInfo)’ PG_FUNCTION_INFO_V1(plls_call_handler); ^ plv8.cc:55:58: error: declaration of ‘Datum plls_call_validator(FunctionCallInfo) throw ()’ has a different exception specifier Datum plls_call_validator(PG_FUNCTION_ARGS) throw(); ^ plv8.cc:48:7: error: from previous declaration ‘Datum plls_call_validator(FunctionCallInfo)’ PG_FUNCTION_INFO_V1(plls_call_validator); ^ plv8.cc:63:58: error: declaration of ‘Datum plv8_inline_handler(FunctionCallInfo) throw ()’ has a different exception specifier Datum plv8_inline_handler(PG_FUNCTION_ARGS) throw(); ^ plv8.cc:60:7: error: from previous declaration ‘Datum plv8_inline_handler(FunctionCallInfo)’ PG_FUNCTION_INFO_V1(plv8_inline_handler); ^ plv8.cc:64:62: error: declaration of ‘Datum plcoffee_inline_handler(FunctionCallInfo) throw ()’ has a different exception specifier Datum plcoffee_inline_handler(PG_FUNCTION_ARGS) throw(); ^ plv8.cc:61:7: error: from previous declaration ‘Datum plcoffee_inline_handler(FunctionCallInfo)’ PG_FUNCTION_INFO_V1(plcoffee_inline_handler); ^ plv8.cc:65:58: error: declaration of ‘Datum plls_inline_handler(FunctionCallInfo) throw ()’ has a different exception specifier Datum plls_inline_handler(PG_FUNCTION_ARGS) throw(); ^ plv8.cc:62:7: error: from previous declaration ‘Datum plls_inline_handler(FunctionCallInfo)’ PG_FUNCTION_INFO_V1(plls_inline_handler); ^ plv8.cc: In function ‘Datum plv8_call_handler(FunctionCallInfo)’: plv8.cc:310:50: error: declaration of ‘Datum plv8_call_handler(FunctionCallInfo) throw ()’ has a different exception specifier plv8_call_handler(PG_FUNCTION_ARGS) throw() ^ plv8.cc:50:7: error: from previous declaration ‘Datum plv8_call_handler(FunctionCallInfo)’ Datum plv8_call_handler(PG_FUNCTION_ARGS) throw(); ^ plv8.cc: In function ‘Datum plcoffee_call_handler(FunctionCallInfo)’: plv8.cc:316:54: error: declaration of ‘Datum plcoffee_call_handler(FunctionCallInfo) throw ()’ has a different exception specifier plcoffee_call_handler(PG_FUNCTION_ARGS) throw() ^ plv8.cc:52:7: error: from previous declaration ‘Datum plcoffee_call_handler(FunctionCallInfo)’ Datum plcoffee_call_handler(PG_FUNCTION_ARGS) throw(); ^ plv8.cc: In function ‘Datum plls_call_handler(FunctionCallInfo)’: plv8.cc:322:50: error: declaration of ‘Datum plls_call_handler(FunctionCallInfo) throw ()’ has a different exception specifier plls_call_handler(PG_FUNCTION_ARGS) throw() ^ plv8.cc:54:7: error: from previous declaration ‘Datum plls_call_handler(FunctionCallInfo)’ Datum plls_call_handler(PG_FUNCTION_ARGS) throw(); ^ plv8.cc: In function ‘Datum plv8_inline_handler(FunctionCallInfo)’: plv8.cc:357:52: error: declaration of ‘Datum plv8_inline_handler(FunctionCallInfo) throw ()’ has a different exception specifier plv8_inline_handler(PG_FUNCTION_ARGS) throw() ^ plv8.cc:63:7: error: from previous declaration ‘Datum plv8_inline_handler(FunctionCallInfo)’ Datum plv8_inline_handler(PG_FUNCTION_ARGS) throw(); ^ plv8.cc: In function ‘Datum plcoffee_inline_handler(FunctionCallInfo)’: plv8.cc:363:56: error: declaration of ‘Datum plcoffee_inline_handler(FunctionCallInfo) throw ()’ has a different exception specifier plcoffee_inline_handler(PG_FUNCTION_ARGS) throw() ^ plv8.cc:64:7: error: from previous declaration ‘Datum plcoffee_inline_handler(FunctionCallInfo)’ Datum plcoffee_inline_handler(PG_FUNCTION_ARGS) throw(); ^ plv8.cc: In function ‘Datum plls_inline_handler(FunctionCallInfo)’: plv8.cc:369:52: error: declaration of ‘Datum plls_inline_handler(FunctionCallInfo) throw ()’ has a different exception specifier plls_inline_handler(PG_FUNCTION_ARGS) throw() ^ plv8.cc:65:7: error: from previous declaration ‘Datum plls_inline_handler(FunctionCallInfo)’ Datum plls_inline_handler(PG_FUNCTION_ARGS) throw(); ^ plv8.cc: In function ‘Datum plv8_call_validator(FunctionCallInfo)’: plv8.cc:749:52: error: declaration of ‘Datum plv8_call_validator(FunctionCallInfo) throw ()’ has a different exception specifier plv8_call_validator(PG_FUNCTION_ARGS) throw() ^ plv8.cc:51:7: error: from previous declaration ‘Datum plv8_call_validator(FunctionCallInfo)’ Datum plv8_call_validator(PG_FUNCTION_ARGS) throw(); ^ plv8.cc: In function ‘Datum plcoffee_call_validator(FunctionCallInfo)’: plv8.cc:755:56: error: declaration of ‘Datum plcoffee_call_validator(FunctionCallInfo) throw ()’ has a different exception specifier plcoffee_call_validator(PG_FUNCTION_ARGS) throw() ^ plv8.cc:53:7: error: from previous declaration ‘Datum plcoffee_call_validator(FunctionCallInfo)’ Datum plcoffee_call_validator(PG_FUNCTION_ARGS) throw(); ^ plv8.cc: In function ‘Datum plls_call_validator(FunctionCallInfo)’: plv8.cc:761:52: error: declaration of ‘Datum plls_call_validator(FunctionCallInfo) throw ()’ has a different exception specifier plls_call_validator(PG_FUNCTION_ARGS) throw() ^ plv8.cc:55:7: error: from previous declaration ‘Datum plls_call_validator(FunctionCallInfo)’ Datum plls_call_validator(PG_FUNCTION_ARGS) throw(); ^ make: *** [plv8.o] Error 1 I don't understand C++ well, so I don't know how to fix it. Some ideas how to fix it? Thank you Pavel Stehule PL/v8: plv8-1.4.2 gcc: gcc (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7) Linux localhost.localdomain 3.13.10-200.fc20.x86_64 #1 SMP Mon Apr 14 20:34:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux