laurenz / oracle_fdw

PostgreSQL Foreign Data Wrapper for Oracle
http://laurenz.github.io/oracle_fdw/
Other
492 stars 158 forks source link

make: *** [<commande interne>: oracle_fdw.o] Error 1 #692

Closed bastetmickey closed 2 months ago

bastetmickey commented 2 months ago

Good morning I have an error compiling oracle fdw. He tells me make: *** [: oracle_fdw.o] Error 1 I'm trying to install on a redhat 8 server I run my instructions through an ansible playbook

bastetmickey commented 2 months ago

en lançant à la main

[root@test-rh8-bdd-01 oracle_fdw-ORACLE_FDW_2_4_0]# make PG_CONFIG=/usr/pgsql-15/bin/pg_config install gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -I"/usr/lib/oracle/19.12/client64/sdk/include" -I"/usr/lib/oracle/19.12/client64/oci/include" -I"/usr/lib/oracle/19.12/client64/rdbms/public" -I"/usr/lib/oracle/19.12/client64/" -I/usr/include/oracle/21/client64 -I/usr/include/oracle/19.12/client64 -I/usr/include/oracle/19.12/client -I/usr/include/oracle/19.11/client64 -I/usr/include/oracle/19.11/client -I/usr/include/oracle/19.10/client64 -I/usr/include/oracle/19.10/client -I/usr/include/oracle/19.9/client -I/usr/include/oracle/19.9/client64 -I/usr/include/oracle/19.8/client -I/usr/include/oracle/19.8/client64 -I/usr/include/oracle/19.6/client -I/usr/include/oracle/19.6/client64 -I/usr/include/oracle/19.3/client -I/usr/include/oracle/19.3/client64 -I/usr/include/oracle/18.5/client -I/usr/include/oracle/18.5/client64 -I/usr/include/oracle/18.3/client -I/usr/include/oracle/18.3/client64 -I/usr/include/oracle/12.2/client -I/usr/include/oracle/12.2/client64 -I/usr/include/oracle/12.1/client -I/usr/include/oracle/12.1/client64 -I/usr/include/oracle/11.2/client -I/usr/include/oracle/11.2/client64 -I/usr/include/oracle/11.1/client -I/usr/include/oracle/11.1/client64 -I/usr/include/oracle/10.2.0.5/client -I/usr/include/oracle/10.2.0.5/client64 -I/usr/include/oracle/10.2.0.4/client -I/usr/include/oracle/10.2.0.4/client64 -I/usr/include/oracle/10.2.0.3/client -I/usr/include/oracle/10.2.0.3/client64 -I. -I./ -I/usr/pgsql-15/include/server -I/usr/pgsql-15/include/internal -D_GNU_SOURCE -I/usr/include/libxml2 -I/usr/include -c -o oracle_fdw.o oracle_fdw.c oracle_fdw.c: Dans la fonction « oracle_fdw_validator »: oracle_fdw.c:500:30: error: « Value » non déclaré (première utilisation dans cette fonction); vouliez-vous utiliser « false » ? (void)getIsolationLevel(((Value )(def->arg))->val.str); ^~~~~ false oracle_fdw.c:500:30: note: chaque identificateur non déclaré est rapporté une seule fois pour chaque fonction dans laquelle il apparaît oracle_fdw.c:500:37: error: expected expression before « ) » token (void)getIsolationLevel(((Value )(def->arg))->val.str); ^ oracle_fdw.c:509:25: error: expected expression before « ) » token char val = ((Value )(def->arg))->val.str; ^ oracle_fdw.c:525:25: error: expected expression before « ) » token char val = ((Value )(def->arg))->val.str; ^ oracle_fdw.c:536:25: error: expected expression before « ) » token char val = ((Value )(def->arg))->val.str; ^ oracle_fdw.c:547:25: error: expected expression before « ) » token char val = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:563:25: error: expected expression before « ) » token char val = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:579:25: error: expected expression before « ) » token char val = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c: Dans la fonction « oracleAddForeignUpdateTargets »: oracle_fdw.c:1421:24: error: « Value » non déclaré (première utilisation dans cette fonction); vouliez-vous utiliser « false » ? if (optionIsTrue(((Value )(def->arg))->val.str)) ^~~~~ false oracle_fdw.c:1421:31: error: expected expression before « ) » token if (optionIsTrue(((Value )(def->arg))->val.str)) ^ oracle_fdw.c:1446:6: error: « var » non déclaré (première utilisation dans cette fonction); vouliez-vous utiliser « Var » ? var = makeVar( ^~~ Var oracle_fdw.c: Dans la fonction « oracleIsForeignRelUpdatable »: oracle_fdw.c:2106:19: error: « Value » non déclaré (première utilisation dans cette fonction); vouliez-vous utiliser « value » ? char value = ((Value )(def->arg))->val.str; ^~~~~ value oracle_fdw.c:2106:26: error: expected expression before « ) » token char value = ((Value )(def->arg))->val.str; ^ oracle_fdw.c: Dans la fonction « oracleImportForeignSchema »: oracle_fdw.c:2155:17: error: « Value » non déclaré (première utilisation dans cette fonction); vouliez-vous utiliser « false » ? nls_lang = ((Value ) (def->arg))->val.str; ^~~~~ false oracle_fdw.c:2155:24: error: expected expression before « ) » token nls_lang = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2157:24: error: expected expression before « ) » token dbserver = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2159:53: error: expected expression before « ) » token isolation_level_val = getIsolationLevel(((Value ) (def->arg))->val.str); ^ oracle_fdw.c:2161:20: error: expected expression before « ) » token user = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2163:24: error: expected expression before « ) » token password = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2166:27: error: expected expression before « ) » token char nchar = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2182:23: error: expected expression before « ) » token char s = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2197:23: error: expected expression before « ) » token char s = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2228:23: error: expected expression before « ) » token char s = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2244:23: error: expected expression before « ) » token char s = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2257:24: error: expected expression before « ) » token max_long = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2271:30: error: expected expression before « ) » token sample_percent = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2285:24: error: expected expression before « ) » token prefetch = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c: Dans la fonction « getFdwState »: oracle_fdw.c:2516:27: error: « Value » non déclaré (première utilisation dans cette fonction); vouliez-vous utiliser « false » ? fdwState->nls_lang = ((Value ) (def->arg))->val.str; ^~~~~ false oracle_fdw.c:2516:34: error: expected expression before « ) » token fdwState->nls_lang = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2518:34: error: expected expression before « ) » token fdwState->dbserver = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2520:30: error: expected expression before « ) » token isolationlevel = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2522:30: error: expected expression before « ) » token fdwState->user = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2524:34: error: expected expression before « ) » token fdwState->password = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2526:22: error: expected expression before « ) » token dblink = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2528:22: error: expected expression before « ) » token schema = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2530:21: error: expected expression before « ) » token table = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2532:23: error: expected expression before « ) » token maxlong = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2534:22: error: expected expression before « ) » token sample = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2536:21: error: expected expression before « ) » token fetch = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:2538:21: error: expected expression before « ) » token nchar = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c: Dans la fonction « getColumnData »: oracle_fdw.c:2687:61: error: « Value » non déclaré (première utilisation dans cette fonction); vouliez-vous utiliser « false » ? if (strcmp(def->defname, OPT_KEY) == 0 && optionIsTrue(((Value )(def->arg))->val.str)) ^~~~~ false oracle_fdw.c:2687:68: error: expected expression before « ) » token if (strcmp(def->defname, OPT_KEY) == 0 && optionIsTrue(((Value )(def->arg))->val.str)) ^ oracle_fdw.c:2692:81: error: expected expression before « ) » token else if (strcmp(def->defname, OPT_STRIP_ZEROS) == 0 && optionIsTrue(((Value )(def->arg))->val.str)) ^ oracle_fdw.c: Dans la fonction « createQuery »: oracle_fdw.c:2827:8: error: trop peu d'arguments pour la fonction « pg_md5_hash » if (! pg_md5_hash(query.data, strlen(query.data), md5)) ^~~ In file included from oracle_fdw.c:35: /usr/pgsql-15/include/server/common/md5.h:29:13: note: déclaré ici extern bool pg_md5_hash(const void buff, size_t len, char hexsum, ^~~ oracle_fdw.c: Dans la fonction « oracleConnectServer »: oracle_fdw.c:5163:17: error: « Value » non déclaré (première utilisation dans cette fonction); vouliez-vous utiliser « false » ? nls_lang = ((Value ) (def->arg))->val.str; ^~~~~ false oracle_fdw.c:5163:24: error: expected expression before « ) » token nls_lang = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:5165:24: error: expected expression before « ) » token dbserver = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:5167:49: error: expected expression before « ) » token isolation_level = getIsolationLevel(((Value ) (def->arg))->val.str); ^ oracle_fdw.c:5169:20: error: expected expression before « ) » token user = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:5171:24: error: expected expression before « ) » token password = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c:5174:27: error: expected expression before « ) » token char nchar = ((Value ) (def->arg))->val.str; ^ oracle_fdw.c: Dans la fonction « deparseInterval »: oracle_fdw.c:5610:6: warning: déclaration implicite de la fonction « interval2tm »; vouliez-vous utiliser « interval2itm » ? [-Wimplicit-function-declaration] if (interval2tm(DatumGetIntervalP(datum), &tm, &fsec) != 0) ^~~ interval2itm oracle_fdw.c: Dans la fonction « pushdownOrderBy »: oracle_fdw.c:6685:20: warning: déclaration implicite de la fonction « find_em_expr_for_rel »; vouliez-vous utiliser « find_base_rel » ? [-Wimplicit-function-declaration] && ((em_expr = find_em_expr_for_rel(pathkey_ec, baserel)) != NULL); ^~~~~~~~ find_base_rel oracle_fdw.c:6685:18: warning: l'affectation à « Expr  » {alias « struct Expr  »} depuis « int » transforme un entier en pointeur sans transtypage [-Wint-conversion] && ((em_expr = find_em_expr_for_rel(pathkey_ec, baserel)) != NULL); ^ make: *** [: oracle_fdw.o] Error 1

laurenz commented 2 months ago

The first error seems to be because you want to cd into a directory /srv/data/oracle/oracle_fdw-ORACLE_FDW_2.4.0 that doesn't exist.

The second error happens because you are using a version of oracle_fdw that is too old for your PostgreSQL version. Use the latest version of oracle_fdw.

bastetmickey commented 2 months ago

thank you I modified my playbook by retrieving the latest version and modifying my access path and I no longer have any errors Thank-you for your prompt response