Обсуждение: BUG #16085: Potential missing version information available for /usr/pgsql-12/lib/libpq.so.5
BUG #16085: Potential missing version information available for /usr/pgsql-12/lib/libpq.so.5
От
PG Bug reporting form
Дата:
The following bug has been logged on the website: Bug reference: 16085 Logged by: Julien Jerphanion Email address: git@jjerphan.xyz PostgreSQL version: 12.0 Operating system: Fedora 30 Description: Hello, I add linking problem when when trying to compile a project that is relying on libpq, namely [ttk](https://github.com/topology-tool-kit/ttk). Here is a similar stack trace I got when compiling this project ``` /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to `PQfname@RHPG_9.6' /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to `PQresStatus@RHPG_9.6' /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to `PQftype@RHPG_9.6' /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to `PQexec@RHPG_9.6' /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to `PQfformat@RHPG_9.6' /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to `PQclear@RHPG_9.6' /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to `PQntuples@RHPG_9.6' /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to `PQstatus@RHPG_9.6' /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to `PQconnectdb@RHPG_9.6' /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to `PQescapeStringConn@RHPG_9.6' /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to `PQgetvalue@RHPG_9.6' /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to `PQgetisnull@RHPG_9.6' /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to `PQresultStatus@RHPG_9.6' /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to `PQfinish@RHPG_9.6' /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to `PQerrorMessage@RHPG_9.6' /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to `PQnfields@RHPG_9.6' /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to `PQresultErrorMessage@RHPG_9.6' ``` It seems that this was rather due to missing a library version within `libpg`: ```bash $ ldd /usr/lib64/vtk/libvtkIOPostgreSQL.so.1 /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: /usr/pgsql-12/lib/libpq.so.5: no version information available (required by /usr/lib64/vtk/libvtkIOPostgreSQL.so.1) # ... libpq.so.5 => /usr/pgsql-12/lib/libpq.so.5 (0x00007fa9b39c0000) # ... ``` On my machine, this latter version was provided by several packages from PostGreSQL 12, namely: ```bash $ dnf provides /usr/pgsql-12/lib/libpq.so postgresql12-devel-12rc1-2PGDG.f30.x86_64 : PostgreSQL development header files and libraries Repo : pgdg12 Matched from: Filename : /usr/pgsql-12/lib/libpq.so postgresql12-devel-12.0-1PGDG.f30.x86_64 : PostgreSQL development header files and libraries Repo : @System Matched from: Filename : /usr/pgsql-12/lib/libpq.so postgresql12-devel-12.0-1PGDG.f30.x86_64 : PostgreSQL development header files and libraries Repo : pgdg12 Matched from: Filename : /usr/pgsql-12/lib/libpq.so # ... ``` I uninstalled them and it resolves my problem: ``` $ sudo dnf erase postgresql12-devel-12.0-1PGDG.f30.x86_64 $ sudo dnf erase postgresql11-libs-11.5-1PGDG.f30.x86_64 $ sudo dnf erase postgresql12-libs-12.0-1PGDG.f30.x86_64 # ... ``` I think that this is correlated to the release of PostGreSQL 12. Let me know if you need more information on this problem. Best regards, Julien Jerphanion (@jjerphan)
Devrim, can you comment on this? I am confused by this report. --------------------------------------------------------------------------- On Tue, Oct 29, 2019 at 07:12:01AM +0000, PG Bug reporting form wrote: > The following bug has been logged on the website: > > Bug reference: 16085 > Logged by: Julien Jerphanion > Email address: git@jjerphan.xyz > PostgreSQL version: 12.0 > Operating system: Fedora 30 > Description: > > Hello, > > I add linking problem when when trying to compile a project that is relying > on libpq, namely [ttk](https://github.com/topology-tool-kit/ttk). > > Here is a similar stack trace I got when compiling this project > ``` > /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to > `PQfname@RHPG_9.6' > /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to > `PQresStatus@RHPG_9.6' > /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to > `PQftype@RHPG_9.6' > /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to > `PQexec@RHPG_9.6' > /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to > `PQfformat@RHPG_9.6' > /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to > `PQclear@RHPG_9.6' > /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to > `PQntuples@RHPG_9.6' > /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to > `PQstatus@RHPG_9.6' > /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to > `PQconnectdb@RHPG_9.6' > /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to > `PQescapeStringConn@RHPG_9.6' > /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to > `PQgetvalue@RHPG_9.6' > /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to > `PQgetisnull@RHPG_9.6' > /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to > `PQresultStatus@RHPG_9.6' > /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to > `PQfinish@RHPG_9.6' > /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to > `PQerrorMessage@RHPG_9.6' > /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to > `PQnfields@RHPG_9.6' > /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to > `PQresultErrorMessage@RHPG_9.6' > ``` > > It seems that this was rather due to missing a library version within > `libpg`: > ```bash > $ ldd /usr/lib64/vtk/libvtkIOPostgreSQL.so.1 > /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: /usr/pgsql-12/lib/libpq.so.5: no > version information available (required by > /usr/lib64/vtk/libvtkIOPostgreSQL.so.1) > # ... > libpq.so.5 => /usr/pgsql-12/lib/libpq.so.5 (0x00007fa9b39c0000) > # ... > ``` > > On my machine, this latter version was provided by several packages from > PostGreSQL 12, namely: > ```bash > $ dnf provides /usr/pgsql-12/lib/libpq.so > postgresql12-devel-12rc1-2PGDG.f30.x86_64 : PostgreSQL development header > files and libraries > Repo : pgdg12 > Matched from: > Filename : /usr/pgsql-12/lib/libpq.so > > postgresql12-devel-12.0-1PGDG.f30.x86_64 : PostgreSQL development header > files and libraries > Repo : @System > Matched from: > Filename : /usr/pgsql-12/lib/libpq.so > > postgresql12-devel-12.0-1PGDG.f30.x86_64 : PostgreSQL development header > files and libraries > Repo : pgdg12 > Matched from: > Filename : /usr/pgsql-12/lib/libpq.so > > # ... > ``` > I uninstalled them and it resolves my problem: > ``` > $ sudo dnf erase postgresql12-devel-12.0-1PGDG.f30.x86_64 > $ sudo dnf erase postgresql11-libs-11.5-1PGDG.f30.x86_64 > $ sudo dnf erase postgresql12-libs-12.0-1PGDG.f30.x86_64 > # ... > ``` > > I think that this is correlated to the release of PostGreSQL 12. > > Let me know if you need more information on this problem. > > Best regards, > Julien Jerphanion (@jjerphan) > -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + As you are, so once was I. As I am, so you will be. + + Ancient Roman grave inscription +
Hi, On Wed, 2019-11-06 at 09:07 -0500, Bruce Momjian wrote: > Devrim, can you comment on this? I am confused by this report. > > --------------------------------------------------------------------------- <snip> ``` > > /usr/bin/ld: /usr/lib64/vtk/libvtkIOPostgreSQL.so.1: undefined reference to > > `PQfname@RHPG_9.6' You are building this software against Fedora/Red Hat's PostgreSQL, which ships these weird symbols (note the RHPG_9.6), and then you are trying to expect it to work against community PostgreSQL. Either use their PostgreSQL (which happens when you remove ours), or remove them,install PGDG RPMs, and recompile against ours. Regards, -- Devrim Gündüz Open Source Solution Architect, Red Hat Certified Engineer Twitter: @DevrimGunduz , @DevrimGunduzTR