[Buildroot] [git commit branch/2018.02.x] package/proftpd: prevent openssl pthread detection

Peter Korsgaard peter at korsgaard.com
Fri Feb 22 12:33:43 UTC 2019


commit: https://git.buildroot.net/buildroot/commit/?id=fdea09b831205a25fa44c68c847ce382deafd095
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/2018.02.x

The proftpd configure script doesn't use pkg-config to detect openssl
libraries. Instead, it just adds -lcrypto. Since openssl may be linked
with pthread, it tries to detect that by calling 'openssl version -f',
which gives the arguments with which openssl was compiled.

Since the openssl executable used is either host-openssl or the system
installed openssl, the output of 'openssl version -f' is useless in
Buildroot context. If the target toolchain doesn't have threads support,
it will wrongly pick up -pthread from host-openssl.

Fortunately there is a simple workaround: --without-openssl-cmdline says
that there is no openssl executable and skips the test, so -pthread is
not added. It turns out -pthread is never needed, even in static linking
cases, because openssl/libressl puts the thread support in a separate
object file that only gets linked in if the program actually uses
threads (which proftpd doesn't).

Fixes:
http://autobuild.buildroot.net/results/9c25c3cb3cf93b76c0538c5376a803641bf6575b

Signed-off-by: Matthew Weber <matthew.weber at rockwellcollins.com>
[Rewrite commit log, after additional analysis and testing]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>

(cherry picked from commit 51bb23652fbb5597d10cf2dc49948f9405c5619b)
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
 package/proftpd/proftpd.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/package/proftpd/proftpd.mk b/package/proftpd/proftpd.mk
index 3e165c6ada..109e332a46 100644
--- a/package/proftpd/proftpd.mk
+++ b/package/proftpd/proftpd.mk
@@ -21,7 +21,8 @@ PROFTPD_CONF_OPTS = \
 	--disable-facl \
 	--disable-dso \
 	--enable-shadow \
-	--with-gnu-ld
+	--with-gnu-ld \
+	--without-openssl-cmdline
 
 ifeq ($(BR2_PACKAGE_PROFTPD_MOD_REWRITE),y)
 PROFTPD_CONF_OPTS += --with-modules=mod_rewrite


More information about the buildroot mailing list