Преглед изворни кода

package/iperf3: fix openssl detection

Searching for openssl uses the AC_ARG_WITH macro:

https://github.com/esnet/iperf/blob/master/config/ax_check_openssl.m4#L40

Pkgconf is only used when --with-openssl is not used at all as
configure parameter because it was placed in the "action-if-not-given"
part of the AC_ARG_WITH macro:
https://github.com/esnet/iperf/blob/master/config/ax_check_openssl.m4#L52

The current CONF_OPTS contain --with-openssl which causes OPENSSL_LIBS
not be filled by pkgconf but with default values "-lssl -lcrypto":
https://github.com/esnet/iperf/blob/master/config/ax_check_openssl.m4#L82

This breaks openssl detection for static builds because -lz is missing:
http://autobuild.buildroot.net/results/ba5/ba56d132c5994486066c304fa1f3872bb0f3ee32//iperf3-3.6/config.log

/home/buildroot/build/instance-0/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libcrypto.a(c_zlib.o):
 In function `zlib_stateful_expand_block':
  c_zlib.c:(.text+0x54): undefined reference to `inflate'

This patch removes --with-openssl and adds host-pkgconf as dependency
to let the configure script auto-detect openssl, this fixes

http://autobuild.buildroot.net/results/ba5/ba56d132c5994486066c304fa1f3872bb0f3ee32/
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: add comment in the code to explain why we don't pass
--with-openssl.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Bernd Kuhls пре 7 година
родитељ
комит
6ca73d671e
1 измењених фајлова са 4 додато и 2 уклоњено
  1. 4 2
      package/iperf3/iperf3.mk

+ 4 - 2
package/iperf3/iperf3.mk

@@ -13,8 +13,10 @@ IPERF3_LICENSE_FILES = LICENSE
 IPERF3_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE"
 
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
-IPERF3_CONF_OPTS += --with-openssl=$(STAGING_DIR)/usr
-IPERF3_DEPENDENCIES += openssl
+# We intentionally don't pass --with-openssl, otherwise pkg-config is
+# not used, and indirect libraries are not picked up when static
+# linking.
+IPERF3_DEPENDENCIES += host-pkgconf openssl
 else
 IPERF3_CONF_OPTS += --without-openssl
 endif