由32bit和64bit差异引起的No such file or directory及解决方法

背景:
1.新安装的ubuntu16.04LTS
2.编译uboot时提示:

arm-none-linux-gnueabi-gcc -v
bash: /home/zz/work/vz/src/trunk/build/../prebuilds/toolchain/arm-none-linux-gnueabi-4.3.3/bin/arm-none-linux-gnueabi-gcc: No such file or directory

到提示指向的目录查看文件确实存在,环境变量里面的PATH的值也有这个路径,但它还是提示没有这个文件。

到这里需要考虑是否是32bit和64bit的运行环境的问题。
ubuntu16.04是几天前重新安装的,安装之前是可以正常编译uboot的,但是现在使用新的ubuntu16.04会提示错误。于是搜了一下,按照提示方法操作之后就可以了,果然是32bit和64bit差异的问题。主要方法是64bit的ubuntu16.04运行32bit的可执行程序需要使用32bit的库来支持它。不考虑旧库换新库的事,此时此刻进需要安装两个32bit的库就行了。

1. lib32ncurses5
2. lib32z1
zz@zz:~/work/vz/src/trunk/source/opensource/uboot$ sudo apt-get install lib32ncurses5
[sudo] password for zz: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  lib32tinfo5 libc6-i386
The following NEW packages will be installed:
  lib32ncurses5 lib32tinfo5 libc6-i386
0 upgraded, 3 newly installed, 0 to remove and 170 not upgraded.
Need to get 2,512 kB of archives.
After this operation, 11.2 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://cn.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libc6-i386 amd64 2.23-0ubuntu10 [2,336 kB]
Get:2 http://cn.archive.ubuntu.com/ubuntu xenial/main amd64 lib32tinfo5 amd64 6.0+20160213-1ubuntu1 [76.9 kB]
Get:3 http://cn.archive.ubuntu.com/ubuntu xenial/main amd64 lib32ncurses5 amd64 6.0+20160213-1ubuntu1 [99.5 kB]
Fetched 2,512 kB in 3s (813 kB/s)       
Selecting previously unselected package libc6-i386.
(Reading database ... 218923 files and directories currently installed.)
Preparing to unpack .../libc6-i386_2.23-0ubuntu10_amd64.deb ...
Unpacking libc6-i386 (2.23-0ubuntu10) ...
Selecting previously unselected package lib32tinfo5.
Preparing to unpack .../lib32tinfo5_6.0+20160213-1ubuntu1_amd64.deb ...
Unpacking lib32tinfo5 (6.0+20160213-1ubuntu1) ...
Selecting previously unselected package lib32ncurses5.
Preparing to unpack .../lib32ncurses5_6.0+20160213-1ubuntu1_amd64.deb ...
Unpacking lib32ncurses5 (6.0+20160213-1ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu10) ...
Setting up libc6-i386 (2.23-0ubuntu10) ...
Setting up lib32tinfo5 (6.0+20160213-1ubuntu1) ...
Setting up lib32ncurses5 (6.0+20160213-1ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu10) ...
zz@zz:~/work/vz/src/trunk/source/opensource/uboot$ sudo apt-get install lib32z1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  lib32z1
0 upgraded, 1 newly installed, 0 to remove and 170 not upgraded.
Need to get 52.2 kB of archives.
After this operation, 161 kB of additional disk space will be used.
Get:1 http://cn.archive.ubuntu.com/ubuntu xenial-updates/main amd64 lib32z1 amd64 1:1.2.8.dfsg-2ubuntu4.1 [52.2 kB]
Fetched 52.2 kB in 2s (24.8 kB/s)  
Selecting previously unselected package lib32z1.
(Reading database ... 219245 files and directories currently installed.)
Preparing to unpack .../lib32z1_1%3a1.2.8.dfsg-2ubuntu4.1_amd64.deb ...
Unpacking lib32z1 (1:1.2.8.dfsg-2ubuntu4.1) ...
Processing triggers for libc-bin (2.23-0ubuntu10) ...
Setting up lib32z1 (1:1.2.8.dfsg-2ubuntu4.1) ...
Processing triggers for libc-bin (2.23-0ubuntu10) ...
zz@zz:

接下来再执行make就正常了。

猜你喜欢

转载自blog.csdn.net/k7arm/article/details/84455390