PowerFlex: La instalación de SDC falla en Debian con un error de compilación del módulo del kernel Dirname: missing operand
Summary: Durante la instalación de Storage Data Client (SDC) de PowerFlex en un sistema basado en Debian, el script de build_driver.sh puede indicar de manera engañosa el progreso, pero, en última instancia, no puede compilar el controlador scini con el error "dirname: missing operand". ...
Symptoms
- Ejecución de una compilación según demanda del controlador de SDC de PowerFlex, como se describe en el siguiente artículo de la base de conocimientos de Dell: PowerFlex: Compilación según demanda del controlador de SDC de PowerFlex
- La instalación de SDC falla en sistemas basados en Debian cuando se ejecuta el comando
build_driver.shGuión. A pesar de que el script imprime mensajes informativos que sugieren progreso, el proceso de compilación real no se realiza correctamente: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.
Impacto
La variable scini El módulo del kernel no se puede compilar debido a la falta de dependencias de encabezado, lo que provoca que la instalación de SDC quede incompleta o anulada. En consecuencia, el sistema no puede funcionar como un SDC.
Cause
El script de instalación del SDC (build_driver.sh) intenta detectar automáticamente el origen y los encabezados del kernel mediante realpath y dirname, pero falla cuando Debian proporciona encabezados del Kernel en una estructura de directorios dividida:
-
/usr/src/linux-headers-version-amd64<>/
-
/usr/src/linux-headers-version-common<>/
Resolution
Ejecute el comando build_driver.sh Script con marcas explícitas -o y -s para configurar correctamente los directorios de objeto y origen:
./build_driver.sh -o /usr/src/linux-headers-<version>-amd64 -s /usr/src/linux-headers-<version>-common
Ejemplo:
./build_driver.sh -o /usr/src/linux-headers-6.1.0-34-amd64 -s /usr/src/linux-headers-6.1.0-34-common
Versiones afectadas
SDC de PowerFlex 3.x.x
SDC de PowerFlex 4.x.x
Problema corregido en la versión
SDC de PowerFlex 3.6.6
SDC de PowerFlex 4.5.5
SDC de PowerFlex 5.0