編譯Uboot時出錯:
錯誤信息如下:
/bin/bash: arm-linux-gcc: command not found dirname: missing operand Try 'dirname --help' for more information.
經查閱資料,找到如下解決辦法:
1. 32位 arm-linux-gnueabi-gcc/as/ld.. 在64位上面運行缺少必要的依賴。
我找到的依賴有如下(可能不全,缺少的可以百度/谷歌 關鍵詞):
sudo apt-get install git gnupg flex bison gperf build-essential \ zip curl libc6-dev x11proto-core-dev u-boot-tools \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \ libgl1-mesa-dev g++-multilib mingw32 tofrodos libncurses5-dev \ python-markdown libxml2-utils xsltproc zlib1g-dev:i386
2.
/bin/bash: arm-linux-gcc: command not found
其中的 arm-linux-gcc 指的是 符號鏈接。出現該錯誤的原因是 沒有為可執行文件建立符號鏈接。在該處可以這樣做:
sudo ln -s /usr/local/arm/4.5.1/bin/arm-none-linux-gnueabi-gcc /usr/bin/arm-linux-gcc
該條命令的意思是:
為 /usr/local/arm/4.5.1/bin/ 目錄下的可執行文件 arm-none-linux-gnueabi-gcc 建立符號鏈接。符號鏈接建立在 /usr/bin 下, 符號鏈接的名字叫做 arm-linux-gcc
/usr/bin 就是 /bin/bash: 指的目錄
類似的,還可以為 as, ld, objcopy, objdump, ar, nm 建立相應的符號鏈接。
3. 交叉編譯器的路徑未設置正確。解決方法網上比較多。該處不贅述。
P.S. 我遇到的問題 用的第二個辦法解決了的。