pgspider / parquet_s3_fdw

ParquetS3 Foreign Data Wrapper for PostgresSQL
Other
199 stars 27 forks source link

implicit declaration is invalid #3

Open tlskr opened 3 years ago

tlskr commented 3 years ago

When I run make install, I get an error:

parquet_fdw.c:97:5: error: implicit declaration of function 'on_proc_exit' is invalid in C99 [-Werror,-Wimplicit-function-declaration]

t-kataym commented 3 years ago

On my environment, it is a warning and fixed it on the branch fix_implicit_declaration.
The modification is 7094f11125d5f144a1325ec4ac8e4558b2b2fc80. Append #include "storage/ipc.h" in parquet_fdw.c.

Could you try it?

tlskr commented 3 years ago

Thank you for looking at this.

make install works on branch fix_implicit_declaration, but then CREATE EXTENSION parquet_s3_fdw does not. In psql it gets this error:

ERROR:  could not load library "/Applications/Postgres.app/Contents/Versions/13/lib/postgresql/parquet_s3_fdw.so": dlopen(/Applications/Postgres.app/Contents/Versions/13/lib/postgresql/parquet_s3_fdw.so, 10): Library not loaded: @rpath/libaws-cpp-sdk-core.dylib
  Referenced from: /Applications/Postgres.app/Contents/Versions/13/lib/postgresql/parquet_s3_fdw.so
  Reason: image not found
t-kataym commented 3 years ago

Thank you for your confirmation.

In psql it gets this error:

Sorry, I don't know Mac OS well. Please let me advice you on Linux case in some places.
Please confirm which libaws-cpp-sdk-core.dylib are loaded by parquet_s3_fdw.so.

otool -L parquet_s3_fdw.so | grep libaws-cpp-sdk

If not found, please confirm that your system can recognize the library aws-cpp-sdk-core.
On Linux (I don't know the corresponding command for Mac OS),

ldconfig -p | grep libaws-cpp-sdk
tlskr commented 3 years ago

Mac OS doesn't have ldconfig, and I can't find another way to check if the system can recognize the library aws-cpp-sdk-core. (I do think I have installed it, I just don't have the C skills to verify it is available to the system.)

t-kataym commented 3 years ago

Could you tell me where you installed aws libraries in?

tlskr commented 3 years ago

They seem to be install in /usr/local/lib/cmake, which has many subdirectories named aws-cpp-sdk...

t-kataym commented 3 years ago

Could you tell me how you made parquet_s3_fdw.so?
(Did you execute make without modifying Makefile ? Did you specify any environment variables?)

I would like to know why the build tool could recognize libaws-cpp-sdk-core library.