[dpdk-dev] [PATCH] drivers/crypto: fix build with make

Thomas Monjalon thomas at monjalon.net
Fri Feb 28 13:56:36 CET 2020


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 at dpdk.org
> > > 
> > > Signed-off-by: Thomas Monjalon <thomas at 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





More information about the dev mailing list