laurenz / oracle_fdw

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

Trouble with build process <'netinet/in.h':No such file or directory> #688

Closed RuiKawasa closed 3 months ago

RuiKawasa commented 3 months ago

Dear Developers,

I'm trying to set up Oracle_fdw on Windows, but I cannot complete the build process. I'll describe what I've done so far. If something went wrong, please let me know.

PostgreSQL: Installed PostgreSQL using the installer. Installed the source files for PostgreSQL and built it using perl build.pl. Copied the "include" and "lib" directories and placed them in "C:\app\PostgreSQL\include" and "C:\app\PostgreSQL\lib".

Oracle: Installed Oracle using the installer. Installed the Basic package and SDK package. Placed these folders in "C:\app\Oracle\instantclient". Others:

Installed Visual Studio. Downloaded the zip file of Oracle_fdw and unzipped it in "C:\app". Next, I opened the "C:\app\Oracle_fdw\oracle_fdw-master\msvc" oracle_fdw.sln file in Visual Studio. I set the include path to "C:\app\Oracle\instantclient\sdk\include;C:\app\PostgreSQL\include$(IncludePath)". I set the library directory to "C:\app\Oracle\instantclient\sdk\lib;$(LibraryPath)".

When I try to build the solution, it shows the following errors:

1>C:\app\PostgreSQL\include\port.h(422,10): error C1083: include 'netinet/in.h': No such file or directory 1>C:\app\PostgreSQL\include\port.h(422,10): error C1083: include 'netinet/in.h': No such file or directory port.c contains the following:

ifndef HAVE_INET_ATON

include <netinet/in.h>

include <arpa/inet.h>

extern int inet_aton(const char cp, struct in_addr addr); The in.h file exists in "C:\app\PostgreSQL\include\port\win32\netinet" and "C:\app\PostgreSQL\include\port\win32\arpa".

I feel I did something wrong. Could you tell me what went wrong?

RuiKawasa commented 3 months ago

I don't know why but I could complete it by using command prompt (I faced other problems yesterday). It's so sorry to leave comment. I'm gonna close this thread.

laurenz commented 3 months ago

Don't worry. Thanks for sharing your trouble, and perhaps @chrullrich can see what went wrong. I personally always use the command line if I have to build oracle_fdw on Windows.

RuiKawasa commented 3 months ago

I think it was a problem with my computer. When I tried using the command prompt yesterday, it showed "'oci.h': No such file or directory," although I set "C:\app\Oracle\instantclient\sdk\include" as the include path and the oci.h file was there.

Anyway, I was able to complete all the installation steps, and I could connect to OracleDB. Thank you for your help!

chrullrich commented 3 months ago

For future reference: By overriding the include path in the project file you removed the include\port\win32 directory that is configured in msvc\oracle_fdw.props.