PowerFlex: Debian'da SDC Yüklemesi Çekirdek Modülü Oluşturma Hatasıyla Başarısız Oluyor dirname: missing operand
Summary: PowerFlex Storage Data Client (SDC) Debian tabanlı bir sisteme kurulurken, build_driver.sh komut dosyası yanıltıcı bir şekilde ilerleme durumunu gösterebilir, ancak sonuç olarak "dirname: missing operand" hatasıyla scini sürücüsünü derleyemez. ...
Symptoms
- Aşağıdaki Dell KB de açıklandığı gibi PowerFlex SDC Sürücüsünün İsteğe Bağlı Derlemesini gerçekleştirme: PowerFlex: PowerFlex SDC Sürücüsünün İsteğe Bağlı Derlemesi
- Debian tabanlı sistemlerde SDC yüklemesi,
build_driver.shbetik. Komut dosyası, ilerleme olduğunu gösteren bilgi mesajları yazdırmasına rağmen, gerçek derleme işlemi başarılı olmaz: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.
Etki
Komutta scini Çekirdek modülü, eksik başlık bağımlılıkları nedeniyle derlenemiyor, bu da SDC yüklemesinin tamamlanmamasına veya iptal edilmesine neden oluyor. Sonuç olarak, sistem bir SDC olarak çalışamaz.
Cause
SDC yükleme komut dosyası (build_driver.sh) kullanarak Çekirdek kaynağını ve başlıklarını otomatik olarak algılamaya çalışır realpath ve dirname, ancak Debian bölünmüş bir dizin yapısında Çekirdek başlıkları sağladığında başarısız olur:
-
/usr/src/linux-headers-version-amd64<>/
-
/usr/src/linux-headers-version-common<>/
Resolution
Şunu çalıştırın: build_driver.sh Nesne ve kaynak dizinleri doğru şekilde ayarlamak için açık -o ve -s bayraklarına sahip komut dosyası:
./build_driver.sh -o /usr/src/linux-headers-<version>-amd64 -s /usr/src/linux-headers-<version>-common
Örneğin:
./build_driver.sh -o /usr/src/linux-headers-6.1.0-34-amd64 -s /usr/src/linux-headers-6.1.0-34-common
Etkilenen Sürümler
PowerFlex SDC 3.x.x
PowerFlex SDC 4.x.x
Düzeltildiği Sürüm
PowerFlex SDC 3.6.6
PowerFlex SDC 4.5.5
PowerFlex SDC 5.0