Skip to content

Building via DKMS results in errors `find: ‘./inc’: No such file or directory` and `/bin/sh: line 1: [: 6: unary operator expected`.

When I build the module via DKMS, errors find: ‘./inc’: No such file or directory and /bin/sh: line 1: [: 6: unary operator expected are printed. This does not happen if I run make within the source directory.

Steps to reproduce:

  1. cd /usr/src

  2. git clone https://gitlab.com/linux-phc/phc-intel.git phc-intel-0.3.2

  3. cd phc-intel-0.3.2 (optional, does not change the result)

  4. dkms build phc-intel/0.3.2

    This results in the following output:

    Sign command: /usr/lib/modules/6.1.0-pf5/build/scripts/sign-file
    Signing key: /var/lib/dkms/mok.key
    Public certificate (MOK): /var/lib/dkms/mok.pub
    Deprecated feature: MODULES_CONF (/var/lib/dkms/phc-intel/0.3.2/source/dkms.conf)
    
    Building module:
    make -C /usr/lib/modules/6.1.0-pf5/build M=/var/lib/dkms/phc-intel/0.3.2/build clean
    make: Entering directory '/usr/lib/modules/6.1.0-pf5/build'
    find: ‘./inc’: No such file or directory
    /bin/sh: line 1: [: 6: unary operator expected
    find: ‘./inc’: No such file or directory
    find: ‘./inc’: No such file or directory
    find: ‘./inc’: No such file or directory
    make: Leaving directory '/usr/lib/modules/6.1.0-pf5/build'
    
    { make -j4 KERNELRELEASE=6.1.0-pf5 KERNELSRC=/usr/lib/modules/6.1.0-pf5/build M=/var/lib/dkms/phc-intel/0.0.1/build; } >> /var/lib/dkms/phc-intel/0.3.2/build/make.log 2>&1
    
    Signing module /var/lib/dkms/phc-intel/0.3.2/build/phc-intel.ko
    make -C /usr/lib/modules/6.1.0-pf5/build M=/var/lib/dkms/phc-intel/0.3.2/build clean
    make: Entering directory '/usr/lib/modules/6.1.0-pf5/build'
    find: ‘./inc’: No such file or directory
    /bin/sh: line 1: [: 6: unary operator expected
    find: ‘./inc’: No such file or directory
    find: ‘./inc’: No such file or directory
    find: ‘./inc’: No such file or directory
      CLEAN   /var/lib/dkms/phc-intel/0.3.2/build/Module.symvers
    make: Leaving directory '/usr/lib/modules/6.1.0-pf5/build'
    

However, when I

  1. make within /usr/src/phc-intel-0.3.2, I get the following output without error:

    Preparing build area for phc-intel-0.3.2:
    searching for patch directory... using ./inc/6.1
    copying files
    patching file phc-intel.c
    SUCCESS. Build area ready.
    
    make -C /lib/modules/`uname -r`/build M=/usr/src/phc-intel-0.3.2 modules
    make[1]: Entering directory '/usr/lib/modules/6.1.0-pf5/build'
      CC [M]  /usr/src/phc-intel-0.3.2/phc-intel.o
      MODPOST /usr/src/phc-intel-0.3.2/Module.symvers
      CC [M]  /usr/src/phc-intel-0.3.2/phc-intel.mod.o
      LD [M]  /usr/src/phc-intel-0.3.2/phc-intel.ko
    make[1]: Leaving directory '/usr/lib/modules/6.1.0-pf5/build'

Those error outputs also happen when I use the Arch Linux package phc-intel-dkms-stable-git or phc-intel, but in that case /lib/modules/`uname -r`/updates/phc-intel.ko.zst is generated anyway.

I am on Artix Linux (Arch Linux without systemd).

Regards!

Edited by Drei Eck