Lists: | pgsql-hackers |
---|
From: | Sandro Mani <manisandro(at)gmail(dot)com> |
---|---|
To: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | [Patch] Add missing libraries to Libs.private of libpq.pc |
Date: | 2020-04-08 09:38:50 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-hackers |
Hello
The following patch, which we added to build mingw-postgresql on Fedora,
adds some missing libraries to Libs.private of libpq.pc, discovered when
attempting to statically link with libpq:
-lz: is required by -lcrypto
-liconv: is required by -lintl (though possibly depends on whether
gettext was compiled with iconv support)
Thanks
Sandro
diff -rupN postgresql-11.5/src/interfaces/libpq/Makefile
postgresql-11.5-new/src/interfaces/libpq/Makefile
--- postgresql-11.5/src/interfaces/libpq/Makefile 2019-08-05
23:14:59.000000000 +0200
+++ postgresql-11.5-new/src/interfaces/libpq/Makefile 2020-04-07
13:49:00.801203610 +0200
@@ -80,10 +80,10 @@ endif
ifneq ($(PORTNAME), win32)
SHLIB_LINK += $(filter -lcrypt -ldes -lcom_err -lcrypto -lk5crypto
-lkrb5 -lgssapi_krb5 -lgss -lgssapi -lssl -lsocket -lnsl -lresolv
-lintl, $(LIBS)) $(LDAP_LIBS_FE) $(PTHREAD_LIBS)
else
-SHLIB_LINK += $(filter -lcrypt -ldes -lcom_err -lcrypto -lk5crypto
-lkrb5 -lgssapi32 -lssl -lsocket -lnsl -lresolv -lintl $(PTHREAD_LIBS),
$(LIBS)) $(LDAP_LIBS_FE)
+SHLIB_LINK += $(filter -lcrypt -ldes -lcom_err -lcrypto -lz -lk5crypto
-lkrb5 -lgssapi32 -lssl -lsocket -lnsl -lresolv -lintl $(PTHREAD_LIBS),
$(LIBS)) $(LDAP_LIBS_FE)
endif
ifeq ($(PORTNAME), win32)
-SHLIB_LINK += -lshell32 -lws2_32 -lsecur32 $(filter -leay32 -lssleay32
-lcomerr32 -lkrb5_32, $(LIBS))
+SHLIB_LINK += -lshell32 -lws2_32 -lsecur32 -liconv $(filter -leay32
-lssleay32 -lcomerr32 -lkrb5_32, $(LIBS))
endif
SHLIB_EXPORTS = exports.txt
From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Sandro Mani <manisandro(at)gmail(dot)com> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: [Patch] Add missing libraries to Libs.private of libpq.pc |
Date: | 2020-07-01 20:54:29 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-hackers |
Sandro Mani <manisandro(at)gmail(dot)com> writes:
> The following patch, which we added to build mingw-postgresql on Fedora,
> adds some missing libraries to Libs.private of libpq.pc, discovered when
> attempting to statically link with libpq:
TBH, I think we should just reject this patch. We do not encourage or
support statically linking libpq (and I thought that was against
distro-level policies in Fedora, as well --- such policies certainly
existed when I worked for Red Hat). Moreover, the proposed patch
requires us to absorb assumptions about the dependencies of external
libraries that we really shouldn't be making. I fear that it risks
causing new problems on other platforms, or at the very least
unnecessarily bloating libpq's dependency footprint. In particular,
creating a hard dependency on -liconv regardless of build options
seems right out.
regards, tom lane
From: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> |
---|---|
To: | Sandro Mani <manisandro(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: [Patch] Add missing libraries to Libs.private of libpq.pc |
Date: | 2020-07-10 19:47:54 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-hackers |
On 2020-04-08 11:38, Sandro Mani wrote:
> The following patch, which we added to build mingw-postgresql on Fedora,
> adds some missing libraries to Libs.private of libpq.pc, discovered when
> attempting to statically link with libpq:
>
> -lz: is required by -lcrypto
I think the correct fix for that would be to add libssl to libpq's
Requires.private.
> -liconv: is required by -lintl (though possibly depends on whether
> gettext was compiled with iconv support)
Yeah, in both of these cases it depends on what libssl or libintl
variant you actually got. It could be the OS one or a separately
installed one, it could be one with or without pkg-config support. I'm
not sure what a robust solution would be.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> |
---|---|
To: | Sandro Mani <manisandro(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: [Patch] Add missing libraries to Libs.private of libpq.pc |
Date: | 2020-09-04 20:07:00 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-hackers |
On 2020-07-10 21:47, Peter Eisentraut wrote:
> On 2020-04-08 11:38, Sandro Mani wrote:
>> The following patch, which we added to build mingw-postgresql on Fedora,
>> adds some missing libraries to Libs.private of libpq.pc, discovered when
>> attempting to statically link with libpq:
>>
>> -lz: is required by -lcrypto
>
> I think the correct fix for that would be to add libssl to libpq's
> Requires.private.
For that, I propose the attached patch.
>> -liconv: is required by -lintl (though possibly depends on whether
>> gettext was compiled with iconv support)
I think the solution here would be to have gettext provide a pkg-config
file.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Attachment | Content-Type | Size |
---|---|---|
0001-Add-libpq-s-openssl-dependencies-to-pkg-config-file.patch | text/plain | 1.0 KB |
From: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> |
---|---|
To: | Sandro Mani <manisandro(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: [Patch] Add missing libraries to Libs.private of libpq.pc |
Date: | 2020-09-10 13:56:31 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-hackers |
On 2020-09-04 22:07, Peter Eisentraut wrote:
> On 2020-07-10 21:47, Peter Eisentraut wrote:
>> On 2020-04-08 11:38, Sandro Mani wrote:
>>> The following patch, which we added to build mingw-postgresql on Fedora,
>>> adds some missing libraries to Libs.private of libpq.pc, discovered when
>>> attempting to statically link with libpq:
>>>
>>> -lz: is required by -lcrypto
>>
>> I think the correct fix for that would be to add libssl to libpq's
>> Requires.private.
>
> For that, I propose the attached patch.
committed
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services