* [Buildroot] [PATCH 1/1] libssh2: update second patch
@ 2018-11-03 15:28 Fabrice Fontaine
2018-11-03 21:19 ` Thomas Petazzoni
0 siblings, 1 reply; 2+ messages in thread
From: Fabrice Fontaine @ 2018-11-03 15:28 UTC (permalink / raw)
To: buildroot
curl can be statically linked with mbedtls, in this case build will
fail on:
kex.c:(.text+0x1be0): undefined reference to `mbedtls_mpi_read_binary'
This is due to the fact that CURL_LIBRARIES does not contain mbedtls
library:
CURL_LIBRARIES:INTERNAL=curl;cares;ssh2;ssh2;z;ssl;crypto;z;z;crypto;z;z;ssl;z;z;crypto;z
even if libcurl.pc is correct:
Libs.private: -lcares -lssh2 -L/home/fabrice/buildroot/output/host/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib -lssh2 /home/fabrice/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libmbedcrypto.a /home/fabrice/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libmbedcrypto.a -L/home/fabrice/buildroot/output/host/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib -L/home/fabrice/buildroot/output/host/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib -lz -lssl -lcrypto -lssl -lz -lz -lcrypto -lz -lz
This full library path is added by the second patch on libssh2 so update
it to replace $LIBMBDEDCRYPTO by $LTLIBMBEDCRYPTO as suggested by Thomas
during review of https://patchwork.ozlabs.org/patch/989339
Fixes:
- http://autobuild.buildroot.org/results/dc7810d5d5c62658837cdd2faae6fe3390f968a2
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch b/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch
index 76e08c51a9..b74c6c9c48 100644
--- a/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch
+++ b/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch
@@ -8,6 +8,10 @@ libssh2.pc contains correct info for the benefit of pkg-config users.
Static link with libssh2 requires this information.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Replace $LIBMBEDCRYTO by $LTLIBMBEDCRYPTO to avoid adding a full
+library path to libssh2.pc as it raises build failures on some packages
+such as xerces]
---
Upstream status: https://github.com/libssh2/libssh2/pull/242
@@ -22,7 +26,7 @@ index c0e89a1a0c98..02c70845d27c 100644
[mbedtls], [
LIBSSH2_LIB_HAVE_LINKFLAGS([mbedcrypto], [], [#include <mbedtls/version.h>], [
AC_DEFINE(LIBSSH2_MBEDTLS, 1, [Use $1])
-+ LIBS="$LIBS $LIBMBEDCRYPTO"
++ LIBS="$LIBS $LTLIBMBEDCRYPTO"
found_crypto="$1"
support_clear_memory=yes
])
--
2.17.1
^ permalink raw reply related [flat|nested] 2+ messages in thread* [Buildroot] [PATCH 1/1] libssh2: update second patch
2018-11-03 15:28 [Buildroot] [PATCH 1/1] libssh2: update second patch Fabrice Fontaine
@ 2018-11-03 21:19 ` Thomas Petazzoni
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni @ 2018-11-03 21:19 UTC (permalink / raw)
To: buildroot
Hello Fabrice,
On Sat, 3 Nov 2018 16:28:11 +0100, Fabrice Fontaine wrote:
> curl can be statically linked with mbedtls, in this case build will
> fail on:
> kex.c:(.text+0x1be0): undefined reference to `mbedtls_mpi_read_binary'
>
> This is due to the fact that CURL_LIBRARIES does not contain mbedtls
> library:
> CURL_LIBRARIES:INTERNAL=curl;cares;ssh2;ssh2;z;ssl;crypto;z;z;crypto;z;z;ssl;z;z;crypto;z
>
> even if libcurl.pc is correct:
> Libs.private: -lcares -lssh2 -L/home/fabrice/buildroot/output/host/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib -lssh2 /home/fabrice/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libmbedcrypto.a /home/fabrice/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libmbedcrypto.a -L/home/fabrice/buildroot/output/host/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib -L/home/fabrice/buildroot/output/host/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib -lz -lssl -lcrypto -lssl -lz -lz -lcrypto -lz -lz
>
> This full library path is added by the second patch on libssh2 so update
> it to replace $LIBMBDEDCRYPTO by $LTLIBMBEDCRYPTO as suggested by Thomas
> during review of https://patchwork.ozlabs.org/patch/989339
>
> Fixes:
> - http://autobuild.buildroot.org/results/dc7810d5d5c62658837cdd2faae6fe3390f968a2
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
I have applied, but after tweaking the commit title. Indeed "update
second patch" is very fuzzy. It should instead describe what is the
goal of the commit, not how you achieve it. The fact that you need to
update the second patch to fix static linking scenarios involving
mbedtls is of secondary importance.
> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Your SoB...
> +[Replace $LIBMBEDCRYTO by $LTLIBMBEDCRYPTO to avoid adding a full
> +library path to libssh2.pc as it raises build failures on some packages
> +such as xerces]
... should have been *after* the commit you're adding to explain the
changes you've done.
I've fixed both issues and applied. Many thanks for looking again at
the issue following my initial review, and providing an updated version
of the patch!
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-11-03 21:19 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-03 15:28 [Buildroot] [PATCH 1/1] libssh2: update second patch Fabrice Fontaine
2018-11-03 21:19 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox