Thread: undefined reference to `pg_snprintf when we upgraded libpq version from 10.3 to 12.3

undefined reference to `pg_snprintf when we upgraded libpq version from 10.3 to 12.3

From
M Tarkeshwar Rao
Date:

Hi all,

 

We upgraded the libpq version from 10.3 to 12.3. Now we are getting following linker error in compilation.

linux64/lib/libPostgreSQLClient.so: undefined reference to `pg_snprintf(char*, unsigned long, char const*, ...)'

 

When we analyzed it we found following diff in libpq. What could be the solution of this error.

 

%/postgres/10.3/lib

>nm libpq.a | grep sprint

U sprintf

U sprintf

U sprintf

U sprintf

U sprintf

U sprintf

 

%:/postgres/12.3/lib >nm libpq.a | grep sprint

U pg_sprintf

U pg_sprintf

U pg_sprintf

U pg_sprintf

 

Regards

Tarkeshwar

Hi,

Did you also upgrade the libpq devel package?

To start, what distribution are you using, and how did you upgrade?
Are you using RHEL or Debian based packages? Did you upgrade libpq
using packages (yum/dnf update libpq or apt upgrade libpq)?

In any case, this seems like a problem with development package from a
different version then the library installed.

Kind regards, Martín


El mié, 7 oct 2020 a las 10:52, M Tarkeshwar Rao
(<m.tarkeshwar.rao@ericsson.com>) escribió:
>
> Hi all,
>
>
>
> We upgraded the libpq version from 10.3 to 12.3. Now we are getting following linker error in compilation.
>
> linux64/lib/libPostgreSQLClient.so: undefined reference to `pg_snprintf(char*, unsigned long, char const*, ...)'
>
>
>
> When we analyzed it we found following diff in libpq. What could be the solution of this error.
>
>
>
> %/postgres/10.3/lib
>
> >nm libpq.a | grep sprint
>
> U sprintf
>
> U sprintf
>
> U sprintf
>
> U sprintf
>
> U sprintf
>
> U sprintf
>
>
>
> %:/postgres/12.3/lib >nm libpq.a | grep sprint
>
> U pg_sprintf
>
> U pg_sprintf
>
> U pg_sprintf
>
> U pg_sprintf
>
>
>
> Regards
>
> Tarkeshwar



--
Martín Marqués
It’s not that I have something to hide,
it’s that I have nothing I want you to see