ubuntu20.04出现sudomakemodules_install:aarch64-。。。在ubuntu20.04上已经将aarch64-linux-gnu-gcc交叉编译器所在路径配置到了$PATH环境变量中,/etc/profile⽂件、⽤户.bashrc⽂件、/root/.bashrc⽂件都已经包含了aarch64-linux-gnu-gcc交叉编译器所在路径,配置⽅式为:
export PATH=$PATH:/gcc_path
所有需要安装的第三⽅库都已经安装了,⽐如
sudo apt-get install libncurses5-dev libncursesw5-dev
sudo apt-get install lib32stdc++6 lib32z1
sudo apt-get install ia32-libs
ubuntu20.04中也安装了32位兼容库:
sudo dpkg --add-architecture i386
sudo apt install libc6:i386 libstdc++6:i386
sudo apt-get update
sudo apt install libncurses5-dev lib32z1
也安装了以下库
sudo apt-get install build-essential
sudo apt install binutils
执⾏make的时候,是OK的,但是执⾏sudo make modules_install时,还是提⽰如下问题:
aarch64-linux-gnu-gcc command not found
在当前⽤户执⾏echo $PATH,可以看到aarch64-linux-gnu-gcc交叉编译器所在路径配置到了$PATH环境变量中
在root⽤户中执⾏echo $PATH,也看到aarch64-linux-gnu-gcc交叉编译器所在路径配置到了$PATH环境变量中
再次执⾏sudo make modules_install,仍然提⽰:
aarch64-linux-gnu-gcc command not found
gnu编译器最后,参考以下⽂章:
当你使⽤sudo去执⾏⼀个程序时,处于安全的考虑,这个程序将在⼀个新的、最⼩化的环境中执⾏,也就是说,诸如PATH这样的环境变量,在sudo命令下已经被重置成默认状态了。所以当⼀个刚初始化的PATH变量中不包含你所要运⾏的程序所在的⽬录,⽤sudo去执⾏,你就会得到"command not found"的错误提⽰。
要想改变PATH在sudo会话中的初始值,⽤⽂本编辑器打开/etc/sudoers⽂件,到"secure_path"⼀⾏,当你执⾏sudo 命令时,"secure_path"中包含的路径将被当做默认PATH变量使⽤。
添加所需要的路径(如aarch64-linux-gnu-gcc交叉编译器所在路径)到"secure_path"下,在开篇所遇见的问题就将迎刃⽽解。
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:aarch64-linux-gnu-gcc交叉编译器所在路径
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论