PowerFlex:SDC 在 Debian 上安装失败并出现内核模块构建错误 dirname: missing operand

Summary: 在基于 Debian 的系统上安装 PowerFlex Storage Data Client (SDC) 时,build_driver.sh脚本可能会误导性地指示进度,但最终无法编译 scini 驱动程序,并显示错误“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

  • 执行 PowerFlex SDC 驱动程序的按需编译,如以下戴尔知识库文章中所述:PowerFlex:按需编译 PowerFlex SDC 驱动程序
  • 在基于 Debian 的系统上运行 build_driver.sh 脚本。尽管脚本打印了提示进度的信息性消息,但实际的生成过程并不成功: 
    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.

 

影响

而 scini 由于缺少标头依赖项,内核模块无法编译,从而导致 SDC 安装不完整或中止。因此,系统无法用作 SDC。

Cause

SDC 安装脚本 (build_driver.sh) 尝试使用以下命令自动检测内核源和标头 realpath 和 dirname,但当 Debian 在拆分目录结构中提供内核头文件时失败:

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

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

Resolution

运行 build_driver.sh 带有显式 -o-s 标记的脚本,用于正确设置对象和源目录:

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

 

示例:

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

 

受影响的版本

PowerFlex SDC 3.x.x

PowerFlex SDC 4.x.x

已修复问题的版本

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.