PowerFlex. Сбой установки SDC в Debian с ошибкой сборки модуля ядра dirname: отсутствует операнд
Summary: При установке PowerFlex Storage Data Client (SDC) в системе на базе Debian сценарий build_driver.sh может вводить в заблуждение, указывая на ход выполнения, но в конечном итоге не может скомпилировать драйвер scini с ошибкой «dirname: missing operand». ...
Symptoms
- Выполнение компиляции драйвера PowerFlex SDC по требованию, как описано в следующей статье базы знаний Dell: PowerFlex. Подборка драйверов PowerFlex SDC для 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