diff mbox series

[2/3] package/socat: disable openssl for static build

Message ID fe30717bf4f0096985334e3e23fd1f1573eb53f9.1667288516.git.baruch@tkos.co.il
State Accepted
Headers show
Series [1/3] package/socat: fix printf feature detection | expand

Commit Message

Baruch Siach Nov. 1, 2022, 7:41 a.m. UTC
socal configure script does not take the zlib dependency into account
when linking with libssl. This break static link. There is not easy way
to add zlib dependency, so just disable openssl for static builds.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
 package/socat/socat.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Thomas Petazzoni Nov. 1, 2022, 8:32 p.m. UTC | #1
Hello Baruch,

On Tue,  1 Nov 2022 09:41:55 +0200
Baruch Siach via buildroot <buildroot@buildroot.org> wrote:

> socal configure script does not take the zlib dependency into account
> when linking with libssl. This break static link. There is not easy way
> to add zlib dependency, so just disable openssl for static builds.

Even:

SOCAT_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl`

does not work?

Also, do you have an autobuilder failure for this issue? Or you just
encountered it locally?

Thanks!

Thomas
Baruch Siach Nov. 1, 2022, 8:47 p.m. UTC | #2
Hi Thomas,

On Tue, Nov 01 2022, Thomas Petazzoni wrote:
> On Tue,  1 Nov 2022 09:41:55 +0200
> Baruch Siach via buildroot <buildroot@buildroot.org> wrote:
>
>> socal configure script does not take the zlib dependency into account
>> when linking with libssl. This break static link. There is not easy way
>> to add zlib dependency, so just disable openssl for static builds.
>
> Even:
>
> SOCAT_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl`
>
> does not work?

It does not work because configure.ac puts $LIBS before -lssl in the
tested command line.

> Also, do you have an autobuilder failure for this issue? Or you just
> encountered it locally?

We don't pass an explicit --with-openssl because socan configure does
not support it. So the configure script just behaves as if openssl is
not there, which is normal.

baruch
Thomas Petazzoni Nov. 1, 2022, 8:58 p.m. UTC | #3
On Tue, 01 Nov 2022 22:47:10 +0200
Baruch Siach <baruch@tkos.co.il> wrote:

> > SOCAT_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl`
> >
> > does not work?  
> 
> It does not work because configure.ac puts $LIBS before -lssl in the
> tested command line.

ACK.

> > Also, do you have an autobuilder failure for this issue? Or you just
> > encountered it locally?  
> 
> We don't pass an explicit --with-openssl because socan configure does
> not support it. So the configure script just behaves as if openssl is
> not there, which is normal.

Hm, OK, but that does not really answer my question :-)

Thomas
Baruch Siach Nov. 2, 2022, 4:43 a.m. UTC | #4
Hi Thomas,

On Tue, Nov 01 2022, Thomas Petazzoni wrote:
> On Tue, 01 Nov 2022 22:47:10 +0200
> Baruch Siach <baruch@tkos.co.il> wrote:
>
>> > SOCAT_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl`
>> >
>> > does not work?  
>> 
>> It does not work because configure.ac puts $LIBS before -lssl in the
>> tested command line.
>
> ACK.
>
>> > Also, do you have an autobuilder failure for this issue? Or you just
>> > encountered it locally?  
>> 
>> We don't pass an explicit --with-openssl because socan configure does
>> not support it. So the configure script just behaves as if openssl is
>> not there, which is normal.
>
> Hm, OK, but that does not really answer my question :-)

There is no build failure so the autobuilders can't catch it. So yes, I
have seen the issue in local build tests of static linking.

This patch does not actually change the current behavior. Statically
linked socan lacks OpenSSL support either way. But this patch makes it
explicit.

baruch
Thomas Petazzoni Nov. 5, 2022, 10:49 p.m. UTC | #5
On Tue,  1 Nov 2022 09:41:55 +0200
Baruch Siach via buildroot <buildroot@buildroot.org> wrote:

> socal configure script does not take the zlib dependency into account
> when linking with libssl. This break static link. There is not easy way
> to add zlib dependency, so just disable openssl for static builds.
> 
> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
> ---
>  package/socat/socat.mk | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied to master with an improved commit log. Thanks!

Thomas
Peter Korsgaard Nov. 14, 2022, 7:38 p.m. UTC | #6
>>>>> "Baruch" == Baruch Siach via buildroot <buildroot@buildroot.org> writes:

 > socal configure script does not take the zlib dependency into account
 > when linking with libssl. This break static link. There is not easy way
 > to add zlib dependency, so just disable openssl for static builds.

 > Signed-off-by: Baruch Siach <baruch@tkos.co.il>

Committed to 2022.08.x and 2022.02.x, thanks.
diff mbox series

Patch

diff --git a/package/socat/socat.mk b/package/socat/socat.mk
index c1bf4d260f61..bfccd020312d 100644
--- a/package/socat/socat.mk
+++ b/package/socat/socat.mk
@@ -39,7 +39,7 @@  SOCAT_DEPENDENCIES = host-autoconf
 # incompatibile license (GPL-3.0+)
 SOCAT_CONF_OPTS = --disable-readline
 
-ifeq ($(BR2_PACKAGE_OPENSSL),y)
+ifeq ($(BR2_PACKAGE_OPENSSL):$(BR2_STATIC_LIBS),y:)
 SOCAT_DEPENDENCIES += openssl
 else
 SOCAT_CONF_OPTS += --disable-openssl