Обсуждение: 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)


Re: BUG #16085: Potential missing version information available for/usr/pgsql-12/lib/libpq.so.5

От
Bruce Momjian
Дата:
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 +



Re: BUG #16085: Potential missing version information available for/usr/pgsql-12/lib/libpq.so.5

От
Devrim Gündüz
Дата:
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

Вложения