Compiling

在 linux LMDE 3 Cindy 中安裝 MySmartUSB Light 時出錯(Makefile:沒有這樣的文件或目錄)

  • August 27, 2019

我需要在 linux LMDE 3 Cindy 中安裝 MySmartUSB Light 作為 linux 中 avr 的程序員,所以我從這個連結下載了這個驅動程序( Linux_3.x.x_4.x.x_VCP_Driver_Source):基於如下所示的註釋:

最後修改於 2019 年 7 月 12 日

此捆綁包包含針對 4.10.0 核心 (Ubuntu 17.04) 的修改後的 CP210x 驅動程序。

它包含:

  • 支持 CP2102N

注意:此驅動程序是如何在 CP210x 驅動程序中執行 GPIO 操作的範例,因為 kernel.org 上的驅動程序目前不支持 GPIO。此驅動程序僅在 Ubuntu 14.04 上的 Linux 3.13.0 核心上編寫和測試。該驅動程序是 Linux 3.13.0 核心中現有驅動程序的修改版本,在 kernel.org 上維護。建議使用與您的特定核心版本匹配的驅動程序:

www.kernel.org

建構說明:

Ubuntu: 1. 製作(您的 cp210x 驅動程序) 2. cp cp210x.ko 到 /lib/modules//kernel/drivers/usb/serial 3. insmod /lib/modules/

當我想sudo make在驅動程序文件夾中執行時,出現此錯誤:

so@notebook:~/Downloads/Compressed/Linux_3.x.x_4.x.x_VCP_Driver_Source$ sudo make
[sudo] password for so:        
Sorry, try again.
[sudo] password for so:       
make -C /lib/modules/`uname -r`/build M= modules
make[1]: Entering directory '/usr/src/linux-headers-4.9.0-9-amd64'
/usr/src/linux-headers-4.9.0-9-common/scripts/Makefile.build:44: /usr/src/linux-headers-4.9.0-9-common/scripts/basic/Makefile: No such file or directory
make[5]: *** No rule to make target '/usr/src/linux-headers-4.9.0-9-common/scripts/basic/Makefile'.  Stop.
/usr/src/linux-headers-4.9.0-9-common/Makefile:444: recipe for target 'scripts_basic' failed
make[4]: *** [scripts_basic] Error 2
/usr/src/linux-headers-4.9.0-9-common/scripts/Makefile.build:44: /usr/src/linux-headers-4.9.0-9-common/arch/x86/entry/syscalls/Makefile: No such file or directory
make[4]: *** No rule to make target '/usr/src/linux-headers-4.9.0-9-common/arch/x86/entry/syscalls/Makefile'.  Stop.
arch/x86/Makefile:231: recipe for target 'archheaders' failed
make[3]: *** [archheaders] Error 2
Makefile:152: recipe for target 'sub-make' failed
make[2]: *** [sub-make] Error 2
Makefile:8: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.9.0-9-amd64'
Makefile:7: recipe for target 'all' failed
make: *** [all] Error 2

那麼我該如何解決這個問題呢?

你以前用過這個系統執行make來建構驅動嗎?您可能需要一些額外的軟體包。

本指南可能會有所幫助,因為它描述了編譯軟體包之前的必要步驟,儘管在您的案例中最重要的步驟可能是第一步:

sudo apt-get install build-essential checkinstall

執行後,嘗試sudo make再次編譯驅動程序。

如果它不起作用,則可能是您沒有正確的核心標頭檔。核心標頭檔基本上只是核心本身的 C 標頭檔,這是編譯與核心介面的東西(例如驅動程序)所必需的。是一個安裝指南,它解釋了升級/安裝核心標頭檔就像執行一樣簡單:

sudo apt update
sudo apt install linux-headers-$(uname -r)

引用自:https://unix.stackexchange.com/questions/537692