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.shscript. 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, ScaleIOArticle 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.