首页 > 系统相关 >mipsel-linux-gcc 安装,opt/buildroot-gcc342/bin/mipsel-linux-gcc解决办法

mipsel-linux-gcc 安装,opt/buildroot-gcc342/bin/mipsel-linux-gcc解决办法

时间:2022-11-23 13:23:59浏览次数:62  
标签:gcc uclibc ld so.2 linux mipsel

1.Command not found错误的确认

用mipsel-Linux-uclibc-gcc编译Uboot 时,出现Command not found错误,但是我检查了编译工具的路径等是正确的,

之后在编译工具目录直接运行mipsel-linux-uclibc-gcc -v,也会出现Command not found,所以确定该问题跟编译工

具本身或系统环境有关。

通过网上一番搜索后发现是64位系统中缺少32位库文件导致的,通过下面3条命令可以确认:

(1)通过uname -m 可查看主机Ubuntu系统是64位的

x86_64

(2)mipsel-linux-uclibc-gcc是32位可执行文件

mipsel-linux-uclibc-gcc: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs),

(3)ldd  mipsel-linux-uclibc-gcc

是dynamic executable,但ldd显示not a dynamic executable

2.解决办法

$ readelf mipsel-linux-uclibc-gcc -l | grep ld-linux

[Requesting program interpreter: /lib/ld-linux.so.2]

找了一下,没有返回

$ locate ld-linux.so.2

再找:

$ locate ld-linux

/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2

/lib64/ld-linux-x86-64.so.2

/usr/share/man/man8/ld-linux.8.gz

/usr/share/man/man8/ld-linux.so.8.gz

所以知道缺少32位版本libstdc++6:i386,于是

$ sudo apt-get install libstdc++6:i386

再次找ld-linux:

$ sudo updatedb

$ locate ld-linux.so.2

/lib/ld-linux.so.2

/lib/i386-linux-gnu/ld-linux.so.2

再次对它ldd:

$ ldd mipsel-linux-uclibc-gcc

linux-gate.so.1 =>  (0xf7719000)

libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7552000)

/lib/ld-linux.so.2 (0xf771a000)

返回的就是它需要的动态链接库了, 如果其中有not found的项, 还需要安装相应库,假如:

libSM.so.6 => not found

使用命令安装:

$ sudo apt-get install libSM6:i386

可以发现, 安装的包的名字由缺少的库的 名字+版本+:+类型 决定的, 如 libfreetype.so.6 对应的包就是 libfreetype6:i386

就是这样把所有not found的库都装上, 这样这个二进制程序应该就可以使用了.

$./mipsel-linux-uclibc-gcc -v:

....gcc version 3.4.2

 

实际遇到问题:

sudo apt-get install libstdc++6:i386

标签:gcc,uclibc,ld,so.2,linux,mipsel
From: https://www.cnblogs.com/hshy/p/16917967.html

相关文章

  • linux免密ssh-copy-id命令:指定和非指定远程端口两种情况
    https://blog.csdn.net/weixin_42025270/article/details/125721971一、命令介绍ssh-copy-id命令可以把本地主机的公钥复制到远程主机的authorized_keys文件上,ssh-copy-......
  • [linux] 通用的 uart & gpio & led & key 示例代码
    这是给wiki.sipeed.com/m3axpi准备的示例代码。gpio&pwmlinux_gpio.h#ifndef__LINUX_GPIO_H#define__LINUX_GPIO_H#ifdef__cplusplusextern"C"{#end......
  • linux挂载硬盘或者卸载硬盘
    20221123挂载硬盘查看硬盘列表sudofdisk-l创建文件夹sudomkdir/tempdata挂载硬盘sudomount/dev/sdd1/tempdata卸载硬盘sudoumount/dev/sdd1如......
  • 随想录(linux下的pv操作)
         关于pv操作部分的内容,其实算不上什么新的东西。但是它对于我们理解信号量、消息处理部分的工作还是有很大帮助的。之前我们给出了一个win32的处理方案,但是实现的......
  • MongoDB开机自启动(Linux环境)
    MongoDB开机自启动(Linux环境)MongoDB每次关机重启后,都要重新手动启动,这样很麻烦,那能否让计算机开机后自动启动MongoDB呢?答案:可以的一、MongoDB开机自启服务在/lib/sy......
  • Linux操作系统之hostname 命令
    前言①hostname显示或设置系统的主机名。②Linux操作系统查看主机名hostname的两种方式通过hostname命令来查看本机的hostname;命令: hostname Linux操作系统的hostn......
  • Linux上安装配置JDK步骤
    1.使用java-version命令查看是否安装了JDK2.如无则去官网下载相关版本的JDK官网链接:https://www.oracle.com/java/technologies/downloads/#java83.上传JDK包到linux......
  • linux常用命令&操作
    Linux常用命令&操作详细的操作命令讲解可以参考:https://www.runoob.com/linux/linux-tutorial.htmlNoItemDesc1linux常用命令&操作常用命令&操作笔记,为日常......
  • Linux常用命令
    目录Linux常用命令根据进程名查看进程信息根据进程id查看进程信息根据端口查看进程id根据进程id查看进程占用端口根据进程id杀死进程CPU占用最多的前10个进程内存消耗最多......
  • Linux常见查看日志命令
    Linux常见查看日志方式cat(普通)描述:cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。应用场景:常用于查询日志全部内容,显示行数。命令格式:cat [参数]......