+ dev@madlib.apache >From the developer perspective on why it's not working: 'format_procedure' is a postgres function which is declared in regproc.h. Looking at the 10_3 branch it's still present in that file, so the declaration should be available to the compiler.
Maybe search in the INCLUDEDIR-SERVER directory (available by running pg_config) if 'format_procedure' is declared in regproc.h? It's possible it's an include issue that's just showing up with that function. On Thu, Aug 16, 2018 at 10:18 AM Orhan Kislal <okis...@pivotal.io> wrote: > Hi Mauricio, > > Unfortunately, MADlib 1.12 does not support PG 10. Here is the > compatibility matrix: > > https://cwiki.apache.org/confluence/display/MADLIB/FAQ#FAQ-Q1-2WhatdatabaseplatformsdoesMADlibsupportandwhatistheupgradematrix > ? > Earliest MADlib version to support PG 10 officially is 1.14 but I would > suggest using our latest release, 1.15. > > Please let us know if you have any other questions. > > Thanks, > > Orhan > > On Thu, Aug 16, 2018 at 9:46 AM Mauricio Scheffer < > mauricioschef...@gmail.com> wrote: > >> 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 >> >