jtanx opened a new issue, #2562:
URL: https://github.com/apache/arrow-adbc/issues/2562

   ### What happened?
   
   Taking the postgres driver as an example:
   
   * The CMake package `adbc_driver_postgresql` links to `adbc_driver_common` 
and a few other vendored dependencies like nanoarrow. Only `adbc_driver_common` 
is installed; the other libraries are missing. This leads to a linking error 
since the symbols provided in the other libraries are missing.
   * For reasons I do not understand, the driver unnecessarily 
[redefines](https://github.com/apache/arrow-adbc/blob/470b209d5c666b3ec3b2860a03511b62028a26dd/c/driver/postgresql/postgresql.cc#L198-L252)
 the entirety of the ADBC driver manager functions (e.g. 
`AdbcDatabaseGetOption`). This leads to a duplicate symbol error when you try 
to link both the ADBC driver manager library and the postgresql driver together.
   * Furthermore, `PostgresqlDriverInit` is not declared in any installed 
header (the driver does not install any headers?), which complicates using it 
with `AdbcDriverManagerDatabaseSetInitFunc`. This is less egregious as it's not 
that hard to just declare the function signature manually, but it is still odd 
that it's not provided.
   
   ### Stack Trace
   
   _No response_
   
   ### How can we reproduce the bug?
   
   * Use CMake
   * Build statically
   * Install the static libs
   * Try to use the libraries statically from another project
   
   ### Environment/Setup
   
   C driver version 1.4.0


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@arrow.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to