2018-11-24 00:38:07

by Rolf Eike Beer

[permalink] [raw]
Subject: [PATCH] scripts: use pkg-config to locate libcrypto

Otherwise build fails if the headers are not in the default location. While at
it also ask pkg-config for the libs, with fallback to the existing value.

Signed-off-by: Rolf Eike Beer <[email protected]>
Cc: [email protected]
---
scripts/Makefile | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/scripts/Makefile b/scripts/Makefile
index ece52ff20171..a303f478a65b 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -8,6 +8,8 @@
# conmakehash: Create chartable
# conmakehash: Create arrays for initializing the kernel console tables

+PKG_CONFIG?= pkg-config
+
HOST_EXTRACFLAGS += -I$(srctree)/tools/include

hostprogs-$(CONFIG_BUILD_BIN2C) += bin2c
@@ -23,8 +25,9 @@ hostprogs-$(CONFIG_SYSTEM_EXTRA_CERTIFICATE) += insert-sys-cert

HOSTCFLAGS_sortextable.o = -I$(srctree)/tools/include
HOSTCFLAGS_asn1_compiler.o = -I$(srctree)/include
-HOSTLDLIBS_sign-file = -lcrypto
-HOSTLDLIBS_extract-cert = -lcrypto
+HOSTLDLIBS_sign-file = $(shell $(PKG_CONFIG) --libs libcrypto 2> /dev/null || -lcrypto)
+HOSTCFLAGS_extract-cert.o = $(shell $(PKG_CONFIG) --cflags libcrypto 2> /dev/null)
+HOSTLDLIBS_extract-cert = $(shell $(PKG_CONFIG) --libs libcrypto 2> /dev/null || -lcrypto)

always := $(hostprogs-y) $(hostprogs-m)

--
2.19.1


--
Rolf Eike Beer, emlix GmbH, http://www.emlix.com
Fon +49 551 30664-0, Fax +49 551 30664-11
Gothaer Platz 3, 37083 Göttingen, Germany
Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160
Geschäftsführung: Heike Jordan, Dr. Uwe Kracke – Ust-IdNr.: DE 205 198 055

emlix - smart embedded open source




2018-11-24 02:26:18

by David Woodhouse

[permalink] [raw]
Subject: Re: [PATCH] scripts: use pkg-config to locate libcrypto

On Thu, 2018-11-22 at 16:45 +0100, Rolf Eike Beer wrote:
> -HOSTLDLIBS_sign-file = -lcrypto
> -HOSTLDLIBS_extract-cert = -lcrypto
> +HOSTLDLIBS_sign-file = $(shell $(PKG_CONFIG) --libs libcrypto 2> /dev/null || -lcrypto)
> +HOSTCFLAGS_extract-cert.o = $(shell $(PKG_CONFIG) --cflags libcrypto 2> /dev/null)
> +HOSTLDLIBS_extract-cert = $(shell $(PKG_CONFIG) --libs libcrypto 2> /dev/null || -lcrypto)


Looks good; thanks. But could you put it into intermediate
CRYPTO_CFLAGS and CRYPTO_LIBS variables instead of calculating the
latter in two separate callouts?


Attachments:
smime.p7s (5.09 kB)

2018-11-24 03:14:24

by Rolf Eike Beer

[permalink] [raw]
Subject: [PATCH v2] scripts: use pkg-config to locate libcrypto

Otherwise build fails if the headers are not in the default location. While at
it also ask pkg-config for the libs, with fallback to the existing value.

Signed-off-by: Rolf Eike Beer <[email protected]>
Cc: [email protected]
---
scripts/Makefile | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/scripts/Makefile b/scripts/Makefile
index ece52ff20171..769fa6b7b685 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -8,7 +8,11 @@
# conmakehash: Create chartable
# conmakehash: Create arrays for initializing the kernel console tables

+PKG_CONFIG?= pkg-config
+
HOST_EXTRACFLAGS += -I$(srctree)/tools/include
+CRYPTO_LIBS = $(shell $(PKG_CONFIG) --libs libcrypto 2> /dev/null || -lcrypto)
+CRYPTO_CFLAGS = $(shell $(PKG_CONFIG) --cflags libcrypto 2> /dev/null)

hostprogs-$(CONFIG_BUILD_BIN2C) += bin2c
hostprogs-$(CONFIG_KALLSYMS) += kallsyms
@@ -23,8 +27,9 @@ hostprogs-$(CONFIG_SYSTEM_EXTRA_CERTIFICATE) += insert-sys-cert

HOSTCFLAGS_sortextable.o = -I$(srctree)/tools/include
HOSTCFLAGS_asn1_compiler.o = -I$(srctree)/include
-HOSTLDLIBS_sign-file = -lcrypto
-HOSTLDLIBS_extract-cert = -lcrypto
+HOSTLDLIBS_sign-file = $(CRYPTO_LIBS)
+HOSTCFLAGS_extract-cert.o = $(CRYPTO_CFLAGS)
+HOSTLDLIBS_extract-cert = $(CRYPTO_LIBS)

always := $(hostprogs-y) $(hostprogs-m)

--
2.19.1

--
Rolf Eike Beer, emlix GmbH, http://www.emlix.com
Fon +49 551 30664-0, Fax +49 551 30664-11
Gothaer Platz 3, 37083 Göttingen, Germany
Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160
Geschäftsführung: Heike Jordan, Dr. Uwe Kracke – Ust-IdNr.: DE 205 198 055

emlix - smart embedded open source



2018-11-26 09:14:24

by Rolf Eike Beer

[permalink] [raw]
Subject: Re: [PATCH v2] scripts: use pkg-config to locate libcrypto

Am Samstag, 24. November 2018, 06:53:39 CET schrieb Sasha Levin:
> Hi,
>
> [This is an automated email]
>
> This commit has been processed because it contains a -stable tag.
> The stable tag indicates that it's relevant for the following trees: all
>
> The bot has tested the following trees: v4.19.3, v4.14.82, v4.9.138,
> v4.4.164, v3.18.126.
>
> v4.19.3: Build failed! Errors:
> collect2: error: ld returned 1 exit status

This sounds like it could actually be a problem, can you point me to the full
log, please?

> v4.14.82: Failed to apply! Possible dependencies:
> Unable to calculate

This would either need 8377bd2b9ee1be35b39b5523f640a2b75ddd7c4e as well, or a
modified patch. Manually fixing this up should be trivial. Just tell me which
way you prefer.

Greetings,

Eike
--
Rolf Eike Beer, emlix GmbH, http://www.emlix.com
Fon +49 551 30664-0, Fax +49 551 30664-11
Gothaer Platz 3, 37083 Göttingen, Germany
Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160
Geschäftsführung: Heike Jordan, Dr. Uwe Kracke – Ust-IdNr.: DE 205 198 055

emlix - smart embedded open source


Attachments:
signature.asc (321.00 B)
This is a digitally signed message part.

2018-12-14 12:33:39

by Rolf Eike Beer

[permalink] [raw]
Subject: Re: [PATCH v2] scripts: use pkg-config to locate libcrypto

Am Montag, 26. November 2018, 10:13:23 CET schrieb Rolf Eike Beer:
> Am Samstag, 24. November 2018, 06:53:39 CET schrieb Sasha Levin:
> > Hi,
> >
> > [This is an automated email]
> >
> > This commit has been processed because it contains a -stable tag.
> > The stable tag indicates that it's relevant for the following trees: all
> >
> > The bot has tested the following trees: v4.19.3, v4.14.82, v4.9.138,
> > v4.4.164, v3.18.126.
> >
> > v4.19.3: Build failed! Errors:
> > collect2: error: ld returned 1 exit status
>
> This sounds like it could actually be a problem, can you point me to the
> full log, please?
>
> > v4.14.82: Failed to apply! Possible dependencies:
> > Unable to calculate
>
> This would either need 8377bd2b9ee1be35b39b5523f640a2b75ddd7c4e as well, or
> a modified patch. Manually fixing this up should be trivial. Just tell me
> which way you prefer.

Ping?
--
Rolf Eike Beer, emlix GmbH, http://www.emlix.com
Fon +49 551 30664-0, Fax +49 551 30664-11
Gothaer Platz 3, 37083 Göttingen, Germany
Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160
Geschäftsführung: Heike Jordan, Dr. Uwe Kracke – Ust-IdNr.: DE 205 198 055

emlix - smart embedded open source


Attachments:
signature.asc (321.00 B)
This is a digitally signed message part.

2019-06-06 07:57:19

by Rolf Eike Beer

[permalink] [raw]
Subject: [PATCH v2 RESEND] scripts: use pkg-config to locate libcrypto

From cca931322233827dc21c7609f21f4042d78f220e Mon Sep 17 00:00:00 2001
From: Rolf Eike Beer <[email protected]>
Date: Thu, 22 Nov 2018 16:40:49 +0100
Subject: scripts: use pkg-config to locate libcrypto

Otherwise build fails if the headers are not in the default location. While at
it also ask pkg-config for the libs, with fallback to the existing value.

Signed-off-by: Rolf Eike Beer <[email protected]>
Cc: [email protected] # 4.19.x
---
scripts/Makefile | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

Last time I got notice about a build error with 4.19.3, but it works fine for
me on top of both 4.19 and 4.19.48.

diff --git a/scripts/Makefile b/scripts/Makefile
index 9d442ee050bd..bd2a30b43f28 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -8,7 +8,11 @@
# conmakehash: Create chartable
# conmakehash: Create arrays for initializing the kernel console tables

+PKG_CONFIG?= pkg-config
+
HOST_EXTRACFLAGS += -I$(srctree)/tools/include
+CRYPTO_LIBS = $(shell $(PKG_CONFIG) --libs libcrypto 2> /dev/null || -lcrypto)
+CRYPTO_CFLAGS = $(shell $(PKG_CONFIG) --cflags libcrypto 2> /dev/null)

hostprogs-$(CONFIG_BUILD_BIN2C) += bin2c
hostprogs-$(CONFIG_KALLSYMS) += kallsyms
@@ -23,8 +27,9 @@ hostprogs-$(CONFIG_SYSTEM_EXTRA_CERTIFICATE) += insert-sys-cert

HOSTCFLAGS_sortextable.o = -I$(srctree)/tools/include
HOSTCFLAGS_asn1_compiler.o = -I$(srctree)/include
-HOSTLDLIBS_sign-file = -lcrypto
-HOSTLDLIBS_extract-cert = -lcrypto
+HOSTLDLIBS_sign-file = $(CRYPTO_LIBS)
+HOSTCFLAGS_extract-cert.o = $(CRYPTO_CFLAGS)
+HOSTLDLIBS_extract-cert = $(CRYPTO_LIBS)

always := $(hostprogs-y) $(hostprogs-m)

--
2.21.0




2019-06-06 08:18:39

by David Woodhouse

[permalink] [raw]
Subject: Re: [PATCH v2 RESEND] scripts: use pkg-config to locate libcrypto

On Thu, 2019-06-06 at 09:55 +0200, Rolf Eike Beer wrote:
> +CRYPTO_LIBS = $(shell $(PKG_CONFIG) --libs libcrypto 2> /dev/null || -lcrypto)

That's going to run:

$ pkg-config --libs libcrypto || -lcrypto


If libcrypto.pc isn't there, it's going to get this:


-lcrypto: command not found

I think you meant:




+CRYPTO_LIBS = $(shell $(PKG_CONFIG) --libs libcrypto 2> /dev/null || echo -lcrypto)


Attachments:
smime.p7s (5.05 kB)

2019-06-06 08:49:09

by Rolf Eike Beer

[permalink] [raw]
Subject: Re: [PATCH v2 RESEND] scripts: use pkg-config to locate libcrypto

David Woodhouse wrote:
> On Thu, 2019-06-06 at 09:55 +0200, Rolf Eike Beer wrote:
> > +CRYPTO_LIBS = $(shell $(PKG_CONFIG) --libs libcrypto 2> /dev/null ||
> > -lcrypto)
> That's going to run:
>
> $ pkg-config --libs libcrypto || -lcrypto
>
>
> If libcrypto.pc isn't there, it's going to get this:
>
>
> -lcrypto: command not found
>
> I think you meant:
>
> +CRYPTO_LIBS = $(shell $(PKG_CONFIG) --libs libcrypto 2> /dev/null || echo
> -lcrypto)

Doh! Thanks, v3 in a minute.

Eike
--
Rolf Eike Beer, emlix GmbH, http://www.emlix.com
Fon +49 551 30664-0, Fax +49 551 30664-11
Gothaer Platz 3, 37083 Göttingen, Germany
Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160
Geschäftsführung: Heike Jordan, Dr. Uwe Kracke – Ust-IdNr.: DE 205 198 055

emlix - smart embedded open source


Attachments:
signature.asc (321.00 B)
This is a digitally signed message part.