使用lm32交叉编译器时,我遇到了一个很奇怪的问题。我已经在多台不同的机器(实际和虚拟机)和操作系统(SL6,SL7,CentOS 6,CentOS 7)上安装了相同的软件。我现在有一个SL7 VM和一台运行SL7的真实机器。他们使用相同的yum数据包和自编译程序,环境也相同。但是,在后一台机器上,我得到此错误:
make[1]: Leaving directory
lm32-elf-gcc -c -o arch/lm32/crt0.o arch/lm32/crt0.S
lm32-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory
我真的无法弄清楚为什么找不到自己的cc1工具。有人可以向我暗示遇到类似问题的正确方向吗?
最佳答案
我发现问题出在文件系统上……xfs在实际计算机上使用64位inode,而lm32 gcc无法应付。在此处查找更多信息:http://www.tcm.phy.cam.ac.uk/sw/inodes64.html
使用ext4文件系统为我修复了该文件(即使用ext4格式化的其他分区),并使用gcc和代码从那里编译
关于c - 交叉编译:尝试执行“cc1”时出错:execvp:没有此类文件或目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29826059/