madlib-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mauricio Scheffer <mauricioschef...@gmail.com>
Subject Issues compiling MADlib 1.12 for Postgres 10
Date Thu, 16 Aug 2018 16:46:17 GMT
Hi,

I need to upgrade an existing Postgres 9.5 + Madlib 1.12 to Postgres 10.
To avoid potential issues I'd like to skip upgrading Madlib, at least for
now. It's been working fine for us for quite some time, we don't need any
new features.

However I'm having issues compiling Madlib 1.12 on Postgres 10.
Here's what I'm doing:

docker run --rm -it madlib/postgres_10.0 /bin/bash

cd
wget http://api.pgxn.org/dist/madlib/1.12.0/madlib-1.12.0.zip
unzip madlib-1.12.0.zip
cd madlib-1.12.0
cp -R src/ports/postgres/9.6/ src/ports/postgres/10.0/
cp src/ports/postgres/cmake/FindPostgreSQL_9_6.cmake
src/ports/postgres/cmake/FindPostgreSQL_10_0.cmake
./configure
make

and this is the compile error I'm getting:

[ 42%] Building CXX object
src/ports/postgres/10.0/CMakeFiles/madlib_postgresql_10_0.dir/__/__/__/modules/assoc_rules/assoc_rules.cpp.o
In file included from
/root/madlib-1.12.0/src/modules/assoc_rules/assoc_rules.cpp:11:0:
/root/madlib-1.12.0/src/ports/postgres/dbconnector/Backend.hpp: In function
‘char*
madlib::dbconnector::postgres::{anonymous}::madlib_format_procedure(Oid)’:
/root/madlib-1.12.0/src/ports/postgres/dbconnector/Backend.hpp:35:65:
error: ‘format_procedure’ was not declared in this scope
     char*, format_procedure, (Oid procedure_oid), (procedure_oid))
                                                                 ^
/root/madlib-1.12.0/src/ports/postgres/dbconnector/dbconnector.hpp:166:27:
note: in definition of macro ‘MADLIB_WRAP_PG_FUNC’
         _result = _pgfunc _passedlist; \
                           ^
In file included from /usr/include/postgresql/10/server/postgres.h:48:0,
                 from
/root/madlib-1.12.0/src/ports/postgres/dbconnector/dbconnector.hpp:24,
                 from
/root/madlib-1.12.0/src/modules/assoc_rules/assoc_rules.cpp:11:
/root/madlib-1.12.0/src/ports/postgres/dbconnector/UDF_impl.hpp: In static
member function ‘static Datum
madlib::dbconnector::postgres::UDF::call(FunctionCallInfo)’:
/root/madlib-1.12.0/src/ports/postgres/dbconnector/UDF_impl.hpp:206:56:
error: there are no arguments to ‘format_procedure’ that depend on a
template parameter, so a declaration of ‘format_procedure’ must be
available [-fpermissive]
                 format_procedure(fcinfo->flinfo->fn_oid),
                                                        ^
/root/madlib-1.12.0/src/ports/postgres/dbconnector/UDF_impl.hpp:206:56:
note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing
the use of an undeclared name is deprecated)
src/ports/postgres/10.0/CMakeFiles/madlib_postgresql_10_0.dir/build.make:62:
recipe for target
'src/ports/postgres/10.0/CMakeFiles/madlib_postgresql_10_0.dir/__/__/__/modules/assoc_rules/assoc_rules.cpp.o'
failed


I find this odd as I used the same version of g++ to build the same version
of MADlib (1.12) on Postgres 9.5
I've not worked in C++ for many years... would it be safe to set
-fpermissive? How would I do that with MADlib's build scripts? I
tried ./configure CXXFLAGS="-fpermissive" but it doesn't seem to do
anything.

Many thanks.

--
Mauricio

Mime
View raw message