Hello, please provide a patch if possible, I can't test such environment by 
myself

G.

On Sun, 29 Jul 2018 11:43:01 +0800 James Swineson <[email protected]> wrote:
> Package: dkms
> Version: 2.3-3
> Severity: important
> 
> When I install package wireguard-dkms, it fails to compile the dkms.
> 
> I used the following install command:
> 
> $ echo "deb http://deb.debian.org/debian/ unstable main" > 
> /etc/apt/sources.list.d/unstable.list
> $ printf 'Package: *\nPin: release a=unstable\nPin-Priority: 150\n' > 
> /etc/apt/preferences.d/limit-unstable
> $ apt update
> $ apt install linux-headers-next-sunxi wireguard
> 
> The relevent dpkg output is:
> 
> Loading new wireguard-0.0.20180718-1 DKMS files...                            
>        
> dpkg: warning: version '3.4.113-sun8i     
> 4.14.18' has bad syntax: invalid character in revision number                 
>        
> Building for 4.14.18-sunxi                
> Building initial module for 4.14.18-sunxi 
> Error! Bad return status for module build on kernel: 4.14.18-sunxi (armv7l)   
>        
> Consult /var/lib/dkms/wireguard/0.0.20180718-1/build/make.log for more 
> information.
> 
> The content of the make.log file is:
> 
> DKMS make.log for wireguard-0.0.20180718-1 for kernel 4.14.18-sunxi (armv7l)
> Sun Jul 29 02:31:42 UTC 2018
> make: Entering directory '/usr/src/linux-headers-4.14.18-sunxi'
> Makefile:631: arch//Makefile: No such file or directory
> make: *** No rule to make target 'arch//Makefile'.  Stop.
> make: Leaving directory '/usr/src/linux-headers-4.14.18-sunxi'
> 
> However, I can compile and install that dkms module successfully by running 
> `dkms build -m wireguard -v 0.0.20180718-1 -k 4.14.18-sunxi`.
> 
> Further investigation into the dkms package, I found the following script:
> 
> # dkms_common.postinst, line 227
> if [ -n "$ARCH" ]; then
>     if which lsb_release >/dev/null && [ $(lsb_release -s -i) = "Ubuntu" ]; 
> then
>         case $ARCH in
>             amd64)
>                 ARCH="x86_64"
>                 ;;
>             lpia|i?86)
>                 ARCH="i686"
>                 ;;
>         esac
>     fi
>     echo "Building for architecture $ARCH"
>     ARCH="-a $ARCH"
> fi
> 
> which means if $ARCH is empty, it is going to be empty through the whole 
> building process, passed into the Makefile, resulting in a build failure. 
> This might be the problem I'm experiencing on an armv7l machine. 
> 
> I suggest that the $ARCH variable be unset if it exists and is empty in the 
> postinst script, so dkms can figure out the arch itself. Also, why dpkg 
> passed an empty string to the 4th argument of dkms_common.postinst (the $ARCH 
> variable at dkms_common.postinst line 140) might need further investigation 
> as it is likely to cause other issues if the installation is an upgrade 
> rather than a new installation.
> 
> I am using Debian GNU/Linux 9.5 
> (Armbian_5.38_Orangepipc_Debian_stretch_next_4.14.14), kernel 4.14.18-sunxi.
> 
> 

Reply via email to