【问题标题】:mipsel-linux-gcc: Command not foundmipsel-linux-gcc:找不到命令
【发布时间】:2014-10-26 19:04:46
【问题描述】:

我正在尝试使用 mipsel-linux-gcc 编译器交叉编译内核和 rootfs。主机是 64 位的,而要构建的 rootfs 是 32 位的。我尝试安装 ia32-libs 和 ia32-libs-multiarch。但失败了。我已经使用 apt-get 安装了 gcc-multilib。但是,我无法构建。我已将 PATH 变量更新为使用的工具链。

echo $PATH

usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/toolchains/stbgcc-4.5.3-1.1/垃圾箱

我得到的错误:

root@android-build:uclinux-rootfs# make vmlinuz-7425b0-android
make TFTPHOST=android-build TFTPDIR=/tftpboot/$USER TFTPPATH=$USER defaults-7425b0-android
make[1]: Entering directory `/opt/kernel/android/kernel-3.3-1.2-7425b0/uclinux-rootfs'

WARNING: using toolchain binaries in:
/opt/toolchains/stbgcc-4.5.3-1.1/bin

The recommended toolchain for this release is:
stbgcc-4.5.3-2.4

perl -w bin/config.pl save_defaults 7425b0-android
make[2]: Entering directory `/opt/kernel/android/kernel-3.3-1.2-7425b0/linux'
make -f Makefile savedefconfig
make[3]: Entering directory `/opt/kernel/android/kernel-3.3-1.2-7425b0/linux'
scripts/kconfig/conf --savedefconfig=defconfig Kconfig
make[3]: Leaving directory `/opt/kernel/android/kernel-3.3-1.2-7425b0/linux'
make[2]: Leaving directory `/opt/kernel/android/kernel-3.3-1.2-7425b0/linux'
make -j1 silentoldconfig
make[2]: Entering directory `/opt/kernel/android/kernel-3.3-1.2-7425b0/uclinux-rootfs'

WARNING: using toolchain binaries in:
/opt/toolchains/stbgcc-4.5.3-1.1/bin

The recommended toolchain for this release is:
stbgcc-4.5.3-2.4

make -C linux ARCH=mips silentoldconfig
make[3]: Entering directory `/opt/kernel/android/kernel-3.3-1.2-7425b0/linux'
make -f Makefile silentoldconfig
make[4]: Entering directory `/opt/kernel/android/kernel-3.3-1.2-7425b0/linux'
scripts/kconfig/conf --silentoldconfig Kconfig
make[4]: Leaving directory `/opt/kernel/android/kernel-3.3-1.2-7425b0/linux'
make[3]: Leaving directory `/opt/kernel/android/kernel-3.3-1.2-7425b0/linux'
make -C linux ARCH=mips prepare scripts
make[3]: Entering directory `/opt/kernel/android/kernel-3.3-1.2-7425b0/linux'
make -f Makefile prepare
/bin/sh: mipsel-linux-gcc: not found
/bin/sh: mipsel-linux-gcc: not found
/bin/sh: mipsel-linux-gcc: not found
/bin/sh: mipsel-linux-gcc: not found
make[4]: mipsel-linux-gcc: Command not found
make[4]: Entering directory `/opt/kernel/android/kernel-3.3-1.2-7425b0/linux'
CHK     include/linux/version.h
CHK     include/generated/utsrelease.h
CC      kernel/bounds.s
/bin/sh: mipsel-linux-gcc: not found
make[5]: *** [kernel/bounds.s] Error 127
make[4]: *** [prepare0] Error 2
make[4]: Leaving directory `/opt/kernel/android/kernel-3.3-1.2-7425b0/linux'
make[3]: *** [prepare] Error 2
make[3]: Leaving directory `/opt/kernel/android/kernel-3.3-1.2-7425b0/linux'
make[2]: *** [silentoldconfig] Error 2
make[2]: Leaving directory `/opt/kernel/android/kernel-3.3-1.2-7425b0/uclinux-rootfs'
make[1]: *** [defaults-7425b0-android] Error 2
make[1]: Leaving directory `/opt/kernel/android/kernel-3.3-1.2-7425b0/uclinux-rootfs'
make: *** [vmlinuz-7425b0-android] Error 2

但是我得到的 mipsel-linux-gcc 给出了正确的答案

which mipsel-linux-uclibc-gcc
/opt/toolchains/stbgcc-4.5.3-1.1/bin/mipsel-linux-uclibc-gcc

我需要导出的变量是什么?

【问题讨论】:

  • 尝试调用/opt/toolchains/stbgcc-4.5.3-1.1/bin/mipsel-linux-uclibc-gcc -v,如果系统仍然显示not found,则说明您没有正确的 32 位库。也可以试试ldd /opt/toolchains/stbgcc-4.5.3-1.1/bin/mipsel-linux-uclibc-gcc
  • ldd 显示“不是动态可执行文件”
  • 我已经预料到了这样的事情。 ldd 不理解它的格式。 ls -l /opt/toolchains/stbgcc-4.5.3-1.1/bin/mipsel-linux-uclibc-gccfile /opt/toolchains/stbgcc-4.5.3-1.1/bin/mipsel-linux-uclibc-gcc 说什么?只是为了确保,这些简单的事情都可以。

标签: android linux bash gcc cross-compiling


【解决方案1】:

我遇到了“找不到命令”的问题。尝试安装 ia32-libs,或者如果找不到,请尝试建议的 lib32z1 lib32ncurses5 lib32bz2-1.0 软件包。这解决了我的问题。

【讨论】:

  • 虽然这可能会回答这个问题,但请记住,这个问题是两年前提出的,原始发帖人很可能还没有遇到这个问题。因此,任何答案都应针对可能也有相同问题的更多当前用户,并且还应包括建议的库的一些版本信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-30
  • 1970-01-01
  • 1970-01-01
  • 2022-08-09
  • 2014-11-25
  • 1970-01-01
相关资源
最近更新 更多