我正在尝试为ubuntu安装gnu arm toolchain。我首先从CodeSourcery下载了tar。但是,当我进入bin文件夹时,我无法运行任何二进制文件。我已经尝试过./和没有,并把它放在PATH中,它一直告诉我“命令未找到”,但文件在我面前的文件夹中。然后我尝试了sudo apt-get install gcc-arm-linux-gnueabi,除非它说它已经成功安装,我无法在whereis gcc-arm-linux-gnueabi中找到它。谁能帮忙?gcc-arm-linux-gnueabi命令未找到
回答
尝试使用以下命令:
which gcc-arm-linux-gnueabi
它很可能就是命令安装在/usr/bin
。
CodeSourcery惯例是对所有可执行文件使用前缀arm-none-linux-gnueabi-
,而不是您提到的gcc-arm-linux-gnueabi
。因此,CodeSourcery gcc的标准名称为arm-none-linux-gnueabi-gcc
。
安装CodeSourcery G ++后,您需要将CodeSourcery目录添加到您的PATH
中。
通常,我更喜欢将CodeSourcery安装到类似/opt/arm-2010q1
之类的目录中。如果您不知道安装位置,可以使用locate arm-none-linux-gnueabi-gcc
找到它,但是您可能需要强制更新您的定位分区,使用sudo updatedb
,然后locate
才能正常工作。
在您确定安装在您的CodeSourcery的地方,通过编辑~/.bashrc
这样其添加到您的PATH:
PATH=/opt/arm-2010q1/bin:$PATH
而且,这是习惯,非常方便地定义
CROSS_COMPILE=arm-none-linux-gnueabi-
在
您.bashrc
,因为在定义了CROSS_COMPILE
之后,大多数工具都会自动使用正确的编译器进行ARM编译,而无需执行任何操作。
这不是CodeSourcery惯例,它是GNU/GCC的一种叫做target-triplet的形式* cpu-vendor-os * – iabdalkader
@mux:我没有说它是CodeSourcery惯例。我只是说这是习惯性的,大多数工具会自动开始使用它(很可能是因为GCC target-triplet事情)。 – mvp
您已经在运行x86_64用户空间的盒子上安装了针对i686编译的工具链。
使用i686虚拟机。
在Linux上提供多种体系结构并不是什么好建议,特别是对于像设置编译器进行交叉编译那样小的建议。 – rbaleksandar
您是在64位操作系统上编译?试试:
sudo apt-get install ia32-libs
我在尝试编译Raspberry Pi内核时遇到了同样的问题。我在Ubuntu 12.04 64位上交叉编译,工具链要求ia32-libs在64位系统上工作。
见http://hertaville.com/2012/09/28/development-environment-raspberry-pi-cross-compiler/
在ubuntu上,当我给出这个命令时,它会抛出错误 - 软件包ia32-libs不可用,但被其他软件包引用。 –
@MadhavanKumar尝试这一个sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 –
它有点反直觉。该工具链被称为gcc-arm-linux-gnueabi。要调用的工具,执行以下命令:ARM-Linux的gnueabi-XXX
其中xxx为GCC或AR或LD等
,如果你是在64位操作系统,那么你需要安装这个额外的库。
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
在Debian 8上它似乎缺少第三个: 包lib32bz2-1。0不可用,但被另一个包引用。 这可能意味着包丢失,已过时,或 只能从其他来源 E:包“lib32bz2-1.0”没有安装候选人 – Will
了试图穿越汇编VM下ubunto 03年4月14日的树莓派内核时相同的错误。发现解决方案here:
- 在Ubuntu盒子上安装用于交叉编译的软件包。
sudo apt-get install gcc-arm-linux-gnueabi make git-core ncurses-dev
- 下载工具链
cd ~
git clone https://github.com/raspberrypi/tools
- 添加工具链到你的路径
PATH=$PATH:~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian:~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
通知x64版本的路径命令
固定,使用:
sudo apt-get install gcc-arm*
如果您使用的是64位版本的ubuntu或debian(请参阅“猫的/ proc /版本”),你只需要使用64位的交叉编译器,如果你克隆
git clone https://github.com/raspberrypi/tools
那么64位工具在
tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64
使用该目录为GCC工具链。 编制一个有用的教程,我也跟着可以在这里找到Building and compiling Raspberry PI Kernel(使用-x64路径从上面的$ {} CCPREFIX)
对我来说,在Debian 8,这里的操作说明: [ RPi内核](https://www.raspberrypi.org/documentation/linux/kernel/building.md) 尽管设置了PATH,但我必须将完整的PATH放入CROSS_COMPILE。所以我不得不这样做: 'sudo make ARCH = arm CROSS_COMPILE =/home/will/kernel/mybuild/gcc-linaro-arm-linux-gnueabihf-raspbian -x64/bin/arm-linux-gnueabihf- INSTALL_MOD_PATH = mnt/ext4 modules_install> makemodules6.txt' – Will
我也面临着同样的问题,安装下面的依赖后,解决它:
sudo apt-get install lib32z1-dev
- 1. 未找到命令
- 2. 未找到命令
- 3. Sqoop导入:命令--password:命令未找到,--table:命令未找到
- 4. mac命令行命令未找到
- 5. Ubuntu:hadoop命令未找到
- 6. -bash命令未找到
- 7. ygcc:命令未找到
- 8. mysqldump:命令未找到XAMPP
- 9. 终端 - 命令未找到
- 10. AWS CodeDeploy命令未找到
- 11. nodemon命令未找到
- 12. 未找到命令Angular 2
- 13. zsh:命令未找到:mvim
- 14. CakePHP:-bash:cake:命令未找到
- 15. zsh gsed命令未找到
- 16. ride.py:未找到命令
- 17. 茉莉命令未找到
- 18. 未找到php命令
- 19. p4命令未找到
- 20. SLC命令未找到
- 21. make:pwd:未找到命令
- 22. Fastlane命令未找到
- 23. Openldap slapd命令未找到
- 24. 未找到Catkin命令
- 25. Lumen命令未找到
- 26. -bash:scala:命令未找到
- 27. 未找到PM2命令
- 28. 未找到bundle命令heroku
- 29. unicorn_rails:未找到命令
- 30. HTML2HAML命令未找到
如果您从源代码安装,则需要编译源代码并安装bin。但是,如果您下载编译的bin,您可以运行它。在使用apt来安装它之后,可以提供更多信息。尝试使用'sudo find/-name“* gcc-arm *”'来查找是否有某个bin –
apt-get install ia32-libs。您试图在64位Linux安装上运行32位二进制文件。在那里,这样做... –