laurenz / oracle_fdw

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

cannot make oracle_fdw #645

Closed MobeenNaser closed 4 months ago

MobeenNaser commented 5 months ago

hi i'm facing this error while making oracle_fdw

gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -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 -shared -o oracle_fdw.so oracle_fdw.o oracle_utils.o oracle_gis.o -L/usr/lib64 -Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--as-needed -L"/var/lib/pgsql/instantclient_11_2/" -L"/var/lib/pgsql/instantclient_11_2/bin" -L"/var/lib/pgsql/instantclient_11_2/lib" -L"/var/lib/pgsql/instantclient_11_2/lib/amd64" -L/usr/lib/oracle/11.2/client64/lib -lclntsh /usr/bin/ld: cannot find -lclntsh collect2: error: ld returned 1 exit status make: *** [/usr/lib64/pgsql/pgxs/src/makefiles/../../src/Makefile.shlib:322: oracle_fdw.so] Error 1

image

laurenz commented 5 months ago

The linker didn't find the Oracle client shared library. Do what the documentation recommends:

Set the environment variable ORACLE_HOME to the location of the Oracle installation.

MobeenNaser commented 5 months ago

its installed now but when i write create extension command this error raised :

ERROR: extension "oracle_fdw" has no installation script nor update path for version "1.2"

laurenz commented 5 months ago

Then you didn't properly install the extension with make install. The file oracle_fdw--1.2.sql is missing in the extension subdirectory of the PostgreSQL share directory, which you can find with pg_config --sharedir.

MobeenNaser commented 5 months ago

i tried the process again

this is the output of make install : image

and this is the content of extinsion directory : image

when i run create extension oracle_fdw

this error is raised :

image

MobeenNaser commented 5 months ago

i changed the installation Pathe to the Path in the eoor and i get a new error :

image

the .so file is exist

ld_library_PATH=/usr/lib/oracle/21/client64/lib

laurenz commented 5 months ago

Please, please, please use formatted text, not images. I have a hard time doing copy and paste from that...

You built oracle_fdw against a different version of PostgreSQL than the one where you installed it. From the error message, the version you used to build must have been older than v12, but the version where you installed it must be newer than that. That won't work: you have to build oracle_fdw against the same version of PostgreSQL as the one where you are using it.

This diagnosis fits your earlier trouble: you probably have a different pg_config on your PATH when you run make than when you run make install.

The easiest way to resolve the problem would be to uninstall the decrepit old version of PostgreSQL that is installed in /usr/share/pgsql. Very likely, the old packages are from the Ubuntu/Debian distribution, while the new ones are from the PGDG. That is always a very bad idea.

MobeenNaser commented 5 months ago

you mean im using newer version of postgres and i have to use older like 11 if you mean this

I'm using postgres 15 can you please tell me which version of oracle_fdw should i use.

laurenz commented 5 months ago

No. Uninstall the installation packages for the ancient PostgreSQL version on your system. Something like

sudo apt remove ???

Replace ??? with the name of the installation package.

MobeenNaser commented 5 months ago

should i run make and make install using root user

laurenz commented 5 months ago

No, you should uninstall the bad software.

laurenz commented 5 months ago

Did you succeed? Do you need any more help?

laurenz commented 4 months ago

Closing as inactive; feel free to reopen if you still need help.