Ubuntu执行mkfs.ubifs、ubinize文件失败解决
执行mkfs.ubifs、ubinize文件时出现不能正常运行程序的情况:
- 情况1:sh脚本不能执行,提示权限不够
- 情况2:终端执行指令./mkfs.ubifs、./ubinize,提示没有找到文件:
查找路径下文件,确定文件存在,赋予文件权限、root用户执行均不能解决
root@jack-virtual-machine:/home/nt9832x/board_tools/ubifs# ls -l
rwxrwxrwx 1 root root 192340 3月 14 2016 mkfs.ubifs
-rwxrwxrwx 1 root root 85450 3月 14 2016 ubinize
root@jack-virtual-machine:/home/nt9832x/board_tools/ubifs# ls mkfs.ubifs
mkfs.ubifs
查阅资料发现是因为Ubuntu系统是64位,而mkfs.ubifs、ubinize是32位的程序,需要安装32位软件包执行包
![img](https://i-blog.csdnimg.cn/blog_migrate/9f7d54b28ffb925bb326c8a88d32b2cc.png)
安装32位运行框架
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 -y
sudo apt install lib32z1 -y
sudo apt-get install liblzo2-dev:i386
查看32位软件包在系统的可运行状态:
![img](https://i-blog.csdnimg.cn/blog_migrate/69d19791d56b581d08f8ec4d0ae07fa7.png)
安装完框架后,执行mkfs.ubifs依然报错,缺少库文件:liblzo2.so.2、libuuid.so.1,安装两个库文件
![img](https://i-blog.csdnimg.cn/blog_migrate/8c78e3ba44b7453191966d153b3d0cd3.png)
![img](https://i-blog.csdnimg.cn/blog_migrate/f8bfb46dbd047c35cc77c89a07ef5c48.png)
// 安装liblzo2.so.2
sudo apt-get install liblzo2-dev:i386
// 安装libuuid.so.1
sudo apt-get install libuuid1:i386 -y
安装完成后再次执行mkfs.ubifs、ubinize,执行成功