PowerFlex: SDC Installation Fails on Debian with a Kernel Module Build Error dirname: missing operand

Summary: While installing the PowerFlex Storage Data Client (SDC) on a Debian-based system, the build_driver.sh script may misleadingly indicate progress, but ultimately fails to compile the scini driver with the error "dirname: missing operand.” ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

  • Performing On-Demand Compilation of the PowerFlex SDC Driver as described in the following Dell KB: PowerFlex: On-Demand Compilation Of The PowerFlex SDC Driver
  • SDC installation fails on Debian-based systems when running the build_driver.sh script. Despite the script printing informational messages suggesting progress, the actual build process does not succeed: 
    root@debian-venus:/tmp/build# ./build_driver.sh 
    12-May-2025 12:03:38 INFO: Started.
    ....
    12-May-2025 12:03:39 INFO: Checking /usr/src/linux-headers-6.1.0-34-amd64/include/generated/utsrelease.h ...
    12-May-2025 12:03:39 INFO: Found fitting utsrelease.h in /usr/src/linux-headers-6.1.0-34-amd64
    12-May-2025 12:03:39 INFO: Found include /usr/src/linux-headers-6.1.0-34-common/Makefile in /usr/src/linux-headers-6.1.0-34-amd64/Makefile
    realpath: /usr/src/linux-headers-6.1.0-34-amd64//usr/src/linux-headers-6.1.0-34-common/Makefile: No such file or directory
    dirname: missing operand
    Try 'dirname --help' for more information.
    12-May-2025 12:03:39 INFO: Kernel source dir is determined as
    12-May-2025 12:03:39 WARNING: Didn't find /Kconfig
    ....
    make: Entering directory '/usr/src/linux-headers-6.1.0-34-amd64'
    grep: ./include/linux/net.h: No such file or directory
    ..
    make[1]: *** [/usr/src/linux-headers-6.1.0-34-common/scripts/Makefile.build:255: /tmp/build/ini/./linux/api/api_mos.o] Error 1
    make: *** [/usr/src/linux-headers-6.1.0-34-common/Makefile:2038: /tmp/build/ini] Error 2
    make: Leaving directory '/usr/src/linux-headers-6.1.0-34-amd64'
    12-May-2025 12:03:43 INFO: Success.

 

Impact

The scini Kernel module fails to compile due to missing header dependencies, resulting in the SDC installation being incomplete or aborted. As a result, the system cannot function as an SDC.

Cause

The SDC installation script (build_driver.sh) attempts to auto-detect the Kernel source and headers using realpath and dirname, but fails when Debian provides Kernel headers in a split directory structure:

  • /usr/src/linux-headers-<version>-amd64/

  • /usr/src/linux-headers-<version>-common/

Resolution

Run the build_driver.sh script with explicit -o and -s flags to correctly set the object and source directories:

./build_driver.sh -o /usr/src/linux-headers-<version>-amd64 -s /usr/src/linux-headers-<version>-common

 

Example:

./build_driver.sh -o /usr/src/linux-headers-6.1.0-34-amd64 -s /usr/src/linux-headers-6.1.0-34-common

 

Impacted Versions

PowerFlex SDC 3.x.x

PowerFlex SDC 4.x.x

Fixed In Version

PowerFlex SDC 3.6.6

PowerFlex SDC 4.5.5

PowerFlex SDC 5.0

Affected Products

PowerFlex rack, ScaleIO
Article Properties
Article Number: 000351002
Article Type: Solution
Last Modified: 31 Jul 2025
Version:  1
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.