drivers/crypto: fix build with make
Checks
Commit Message
In the check for the version of intel-ipsec-mb library,
there is a backslash in front of the #include.
It is not clear why this backslash is for.
It is not clear why there was no error so far.
In an up-to-date ArchLinux, these errors were seen:
syntax error near unexpected token `|'
`grep -e "IMB_VERSION_STR" \#include <intel-ipsec-mb.h> | cut -d'"' -f2'
syntax error near unexpected token `|'
`grep -e "IMB_VERSION_NUM" \#include <intel-ipsec-mb.h> | cut -d' ' -f3'
The makefiles are fixed by removing the backslash.
Fixes: 3067c8ce77ac ("crypto/aesni_mb: fix build with custom dependency path")
Fixes: 457b8e372975 ("crypto/aesni_gcm: check dependency version with make")
Fixes: bf6eb2c22fd1 ("crypto/kasumi: use IPsec library")
Fixes: 7c87e2d7b359 ("crypto/snow3g: use IPsec library")
Fixes: 61f7c988e39e ("crypto/zuc: use IPsec library")
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/crypto/aesni_gcm/Makefile | 2 +-
drivers/crypto/aesni_mb/Makefile | 2 +-
drivers/crypto/kasumi/Makefile | 2 +-
drivers/crypto/snow3g/Makefile | 2 +-
drivers/crypto/zuc/Makefile | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
Comments
Hi Thomas,
>
> In the check for the version of intel-ipsec-mb library,
> there is a backslash in front of the #include.
> It is not clear why this backslash is for.
> It is not clear why there was no error so far.
>
> In an up-to-date ArchLinux, these errors were seen:
>
> syntax error near unexpected token `|'
> `grep -e "IMB_VERSION_STR" \#include <intel-ipsec-mb.h> | cut -d'"' -f2'
> syntax error near unexpected token `|'
> `grep -e "IMB_VERSION_NUM" \#include <intel-ipsec-mb.h> | cut -d' ' -f3'
>
> The makefiles are fixed by removing the backslash.
>
> Fixes: 3067c8ce77ac ("crypto/aesni_mb: fix build with custom dependency path")
> Fixes: 457b8e372975 ("crypto/aesni_gcm: check dependency version with make")
> Fixes: bf6eb2c22fd1 ("crypto/kasumi: use IPsec library")
> Fixes: 7c87e2d7b359 ("crypto/snow3g: use IPsec library")
> Fixes: 61f7c988e39e ("crypto/zuc: use IPsec library")
> Cc: stable@dpdk.org
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
I see that CI is still failing after removing that backslash.
I believe the issue is not because of backslash. It is something else.
Regards,
Akhil
28/02/2020 13:24, Akhil Goyal:
> Hi Thomas,
>
> >
> > In the check for the version of intel-ipsec-mb library,
> > there is a backslash in front of the #include.
> > It is not clear why this backslash is for.
> > It is not clear why there was no error so far.
> >
> > In an up-to-date ArchLinux, these errors were seen:
> >
> > syntax error near unexpected token `|'
> > `grep -e "IMB_VERSION_STR" \#include <intel-ipsec-mb.h> | cut -d'"' -f2'
> > syntax error near unexpected token `|'
> > `grep -e "IMB_VERSION_NUM" \#include <intel-ipsec-mb.h> | cut -d' ' -f3'
> >
> > The makefiles are fixed by removing the backslash.
> >
> > Fixes: 3067c8ce77ac ("crypto/aesni_mb: fix build with custom dependency path")
> > Fixes: 457b8e372975 ("crypto/aesni_gcm: check dependency version with make")
> > Fixes: bf6eb2c22fd1 ("crypto/kasumi: use IPsec library")
> > Fixes: 7c87e2d7b359 ("crypto/snow3g: use IPsec library")
> > Fixes: 61f7c988e39e ("crypto/zuc: use IPsec library")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > ---
>
> I see that CI is still failing after removing that backslash.
Yes my patch is failing on Intel CI:
http://mails.dpdk.org/archives/test-report/2020-February/118888.html
I caught this issue on my machine.
> I believe the issue is not because of backslash. It is something else.
It works on my machine.
We need to find a solution which works on both environment.
Maybe the cause is using make 4.3 on my machine.
28/02/2020 13:41, Thomas Monjalon:
> 28/02/2020 13:24, Akhil Goyal:
> > Hi Thomas,
> >
> > >
> > > In the check for the version of intel-ipsec-mb library,
> > > there is a backslash in front of the #include.
> > > It is not clear why this backslash is for.
> > > It is not clear why there was no error so far.
> > >
> > > In an up-to-date ArchLinux, these errors were seen:
> > >
> > > syntax error near unexpected token `|'
> > > `grep -e "IMB_VERSION_STR" \#include <intel-ipsec-mb.h> | cut -d'"' -f2'
> > > syntax error near unexpected token `|'
> > > `grep -e "IMB_VERSION_NUM" \#include <intel-ipsec-mb.h> | cut -d' ' -f3'
> > >
> > > The makefiles are fixed by removing the backslash.
> > >
> > > Fixes: 3067c8ce77ac ("crypto/aesni_mb: fix build with custom dependency path")
> > > Fixes: 457b8e372975 ("crypto/aesni_gcm: check dependency version with make")
> > > Fixes: bf6eb2c22fd1 ("crypto/kasumi: use IPsec library")
> > > Fixes: 7c87e2d7b359 ("crypto/snow3g: use IPsec library")
> > > Fixes: 61f7c988e39e ("crypto/zuc: use IPsec library")
> > > Cc: stable@dpdk.org
> > >
> > > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > > ---
> >
> > I see that CI is still failing after removing that backslash.
>
> Yes my patch is failing on Intel CI:
> http://mails.dpdk.org/archives/test-report/2020-February/118888.html
>
> I caught this issue on my machine.
>
> > I believe the issue is not because of backslash. It is something else.
>
> It works on my machine.
>
> We need to find a solution which works on both environment.
> Maybe the cause is using make 4.3 on my machine.
I confirm the issue:
"
* WARNING: Backward-incompatibility!
Number signs (#) appearing inside a macro reference or function invocation
no longer introduce comments and should not be escaped with backslashes:
thus a call such as:
foo := $(shell echo '#')
is legal. Previously the number sign needed to be escaped, for example:
foo := $(shell echo '\#')
Now this latter will resolve to "\#". If you want to write makefiles
portable to both versions, assign the number sign to a variable:
H := \#
foo := $(shell echo '$H')
This was claimed to be fixed in 3.81, but wasn't, for some reason.
To detect this change search for 'nocomment' in the .FEATURES variable.
"
https://lists.gnu.org/archive/html/info-gnu/2020-01/msg00004.html
I will send a v2 patch
@@ -20,7 +20,7 @@ LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_bus_vdev
-IMB_HDR = $(shell echo '\#include <intel-ipsec-mb.h>' | \
+IMB_HDR = $(shell echo '#include <intel-ipsec-mb.h>' | \
$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
head -n1 | cut -d'"' -f2)
@@ -20,7 +20,7 @@ LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_bus_vdev
-IMB_HDR = $(shell echo '\#include <intel-ipsec-mb.h>' | \
+IMB_HDR = $(shell echo '#include <intel-ipsec-mb.h>' | \
$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
head -n1 | cut -d'"' -f2)
@@ -20,7 +20,7 @@ LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_bus_vdev
-IMB_HDR = $(shell echo '\#include <intel-ipsec-mb.h>' | \
+IMB_HDR = $(shell echo '#include <intel-ipsec-mb.h>' | \
$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
head -n1 | cut -d'"' -f2)
@@ -20,7 +20,7 @@ LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_bus_vdev
-IMB_HDR = $(shell echo '\#include <intel-ipsec-mb.h>' | \
+IMB_HDR = $(shell echo '#include <intel-ipsec-mb.h>' | \
$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
head -n1 | cut -d'"' -f2)
@@ -20,7 +20,7 @@ LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_bus_vdev
-IMB_HDR = $(shell echo '\#include <intel-ipsec-mb.h>' | \
+IMB_HDR = $(shell echo '#include <intel-ipsec-mb.h>' | \
$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
head -n1 | cut -d'"' -f2)