Closed myaniu closed 1 year ago
use latest source and rebuild docker images.
unable load "/usr/lib/postgresql/15/lib/duckdb_fdw.so": /usr/lib/postgresql/15/lib/duckdb_fdw.so: undefined symbol: sqlite3_limit sqlite3_limit error is ok now.
found new error: unable load "/usr/lib/postgresql/15/lib/duckdb_fdw.so": /usr/lib/postgresql/15/lib/duckdb_fdw.so: undefined symbol:
I found sqlite3_bind_int64 is used in sqlite_query.c
I modify Makefile SHLIB_LINK := -lsqlite3_api_wrapper ==> SHLIB_LINK := -lsqlite3_api_wrapper -lsqlite3
Everything is ok.
@myaniu just found correct solution, please have a look https://github.com/alitrack/duckdb_fdw/issues/12
I create a docker image. When I run this image , it show this message: unable load "/usr/lib/postgresql/15/lib/duckdb_fdw.so": /usr/lib/postgresql/15/lib/duckdb_fdw.so: undefined symbol: sqlite3_limit
this is my Dockerfile: `FROM myaniu/duckdb-build:0.6.0 as duckdb
RUN set -x \ && cd / \ && git clone https://github.com/alitrack/duckdb_fdw.git
FROM myaniu/postgres:15.1
ARG PG_DEV_VERSION=15
COPY --from=duckdb /duckdb_fdw /duckdb_fdw COPY --from=duckdb /duckdb/build/release/tools/sqlite3_api_wrapper/libsqlite3_api_wrapper.so /usr/lib/postgresql/15/lib/libsqlite3_api_wrapper.so COPY --from=duckdb /duckdb/build/release/tools/sqlite3_api_wrapper/libsqlite3_api_wrapper.so /usr/lib/x86_64-linux-gnu/libsqlite3_api_wrapper.so COPY --from=duckdb /duckdb/build/release/src/libduckdb.so /usr/lib/postgresql/15/lib/libduckdb.so COPY --from=duckdb /duckdb/tools/sqlite3_api_wrapper/include/sqlite3.h /duckdb_fdw/sqlite3.h
RUN set -x \ && apt-get update && apt-get install -y --no-install-recommends ca-certificates make postgresql-server-dev-$PG_DEV_VERSION postgresql-client-$PG_DEV_VERSION gcc libsqlite3-dev libsqlite3-0 libc6-dev \ && cd /duckdb_fdw \ && make USE_PGXS=1 \ && make install USE_PGXS=1 \ && rm -rf /var/lib/apt/lists/* \ && apt-get purge -y --auto-remove make postgresql-server-dev-$PG_DEV_VERSION gcc libc6-dev libsqlite3-dev \ && rm -rf /duckdb_fdw
ENV POSTGRES_HOST_AUTH_METHOD='md5'
COPY docker-entrypoint-initdb.d/duckdb_fdw_enable.sql /docker-entrypoint-initdb.d/duckdb_fdw_enable.sql`
Thank you for writing this software.