Your message dated Fri, 31 Mar 2023 15:39:11 +0200
with message-id <[email protected]>
and subject line Re: dkms: modules fail to build during package installation on 
armv7l devices
has caused the Debian Bug report #904869,
regarding dkms: modules fail to build during package installation on armv7l 
devices
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
904869: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=904869
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
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.

--- End Message ---
--- Begin Message ---
Version: 2.6.1-1

On Sun, 29 Jul 2018 11:43:01 +0800 James Swineson <[email protected]> wrote:
dpkg: warning: version '3.4.113-sun8i 4.14.18' has bad syntax: invalid character in revision number

(there is a newline in the middle while it expected a "single" version number)

Duplicate of #848608
This was fixed in upstream release 2.4.0.


Andreas

--- End Message ---

Reply via email to