玩转mini2440开发板之【64位Ubuntu系统无法运行arm-linux-gcc】
前段時(shí)間由于工作原因,將虛擬機(jī)重裝了,由原來的Ubuntu 12.04(32位)升級(jí)成了Ubuntu 16.04(64位)。自然,原來安裝在Ubuntu 12.04中的所有mini2440開發(fā)板相關(guān)的工具和源碼,都要重裝一遍。今天剛好得空,于是就開始整。
第一步當(dāng)然是安裝交叉編譯器了,仍然是友善之臂arm-linux-gcc 4.4.3的版本,按照官方手冊的步驟,直接解壓,然后添加環(huán)境變量,一氣呵成。可是,當(dāng)我注銷完重新登錄之后,輸入命令時(shí),系統(tǒng)卻給出了一個(gè)出錯(cuò)提示:
leon@Ubuntu:~$ arm-linux-gcc -v /opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc: 15: exec: /opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found之前多次安裝都很正常,這次怎么就出錯(cuò)了呢?而且這個(gè)錯(cuò)誤很奇怪,以前從未遇到過類似的錯(cuò)誤。反復(fù)檢查了.bashrc文件之后,確認(rèn)我配置的環(huán)境變量是沒有問題的,那么問題究竟出在哪里呢?
思來想去,直接跑到arm-linux-gcc的目錄下,直接運(yùn)行原始文件,錯(cuò)誤依舊:
leon@Ubuntu:/opt/FriendlyARM/toolschain/4.4.3/bin$ ./arm-linux-gcc -v ./arm-linux-gcc: 15: exec: /opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found此時(shí),不經(jīng)意的對(duì)原始文件進(jìn)行了一下分析,卻有了一個(gè)驚人的發(fā)現(xiàn):
leon@Ubuntu:/opt/FriendlyARM/toolschain/4.4.3/bin$ file /opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc /opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.9, BuildID[sha1]=07b2409f8703af43f9018f5864fb10bbafe9039e, not stripped這里有個(gè)關(guān)鍵字,讓我一下找到了問題的源泉:“32-bit“。因?yàn)槲椰F(xiàn)在的系統(tǒng)是64位的,無法兼容運(yùn)行32位的交叉編譯器,必須安裝一個(gè)32位的庫才可以。解決辦法如下:
sudo apt-get install lib32ncurses5 lib32z1裝完之后,再次輸入命令,一切OK!
leon@Ubuntu:~$ arm-linux-gcc -v Using built-in specs. Target: arm-none-linux-gnueabi Configured with: /opt/FriendlyARM/mini2440/build-toolschain/working/src/gcc-4.4.3/configure --build=i386-build_redhat-linux-gnu --host=i386-build_redhat-linux-gnu --target=arm-none-linux-gnueabi --prefix=/opt/FriendlyARM/toolschain/4.4.3 --with-sysroot=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root --enable-languages=c,c++ --disable-multilib --with-arch=armv4t --with-cpu=arm920t --with-tune=arm920t --with-float=soft --with-pkgversion=ctng-1.6.1 --disable-sjlj-exceptions --enable-__cxa_atexit --with-gmp=/opt/FriendlyARM/toolschain/4.4.3 --with-mpfr=/opt/FriendlyARM/toolschain/4.4.3 --with-ppl=/opt/FriendlyARM/toolschain/4.4.3 --with-cloog=/opt/FriendlyARM/toolschain/4.4.3 --with-mpc=/opt/FriendlyARM/toolschain/4.4.3 --with-local-prefix=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99 --enable-long-long --enable-target-optspace Thread model: posix gcc version 4.4.3 (ctng-1.6.1)總結(jié)
以上是生活随笔為你收集整理的玩转mini2440开发板之【64位Ubuntu系统无法运行arm-linux-gcc】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10开始菜单常用网站怎么添加 wi
- 下一篇: linux监测指定进程的CPU及物理内存