Re: Problem with getting static libpq.a from PostgresSQL 8.2.4 sources using MinGW - Mailing list pgsql-interfaces

From Robert Ayrapetyan
Subject Re: Problem with getting static libpq.a from PostgresSQL 8.2.4 sources using MinGW
Date
Msg-id 1902207738.20070920111734@comodo.com
Whole thread Raw
In response to Problem with getting static libpq.a from PostgresSQL 8.2.4 sources using MinGW  (Robert Ayrapetyan <robert.ayrapetyan@comodo.com>)
List pgsql-interfaces
btw, the bug (or feature?) of libpq.a building still exists (that's why my problem occurred). Maybe it can be useful
forsomeone.
 

Here is description. You will never get real static libpq.a if you have done building of shared version of libpq
before.You MUST delete pseudo-static libpq.a before building real static libpq.a
 

Folder "\src\interfaces\libpq\":
Here is failure scenario:
1. make install (dynamic libpq.dll and pseudo-static libpq.a were created)
2. make install enable_shared=no (get real static libpq.a - fails).
Real static libpq.a wasn't created. Instead of it we can see old, pseudo-static libpq.a.

Another failure scenario:
1. make install enable_shared=no (real static libpq.a was created - indeed).
2. make install (dynamic libpq.dll and pseudo-static libpq.a were created).
Real static libpq.a was overwritten by pseudo-static libpq.a!

Here is successful, working scenario:
1. make install (dynamic libpq.dll and pseudo-static libpq.a were created).
2. delete pseudo-static libpq.a.
3. make install enable_shared=no (get real static libpq.a).
So that's only possible way to get both shared and real static libpq libraries.

Strange, why pseudo-static libp.q can overwrite real static one but can't vice-versa?

I think lot of bugs peoples have with libpq are based on that bug...

Best regards,
Robert Ayrapetyan



pgsql-interfaces by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: plpgsql: defuault parameters and constant function parameters
Next
From: Robert Kleemann
Date:
Subject: request for more descriptive plperl error messages